【楽天】「楽天市場」の無停止メンテナンスの実現で店舗オペレーションのパフォーマンスが向上


「楽天市場」の無停止メンテナンスの実現で店舗オペレーションのパフォーマンスが向上

楽天は、創業時から必要な機能の開発・増強を重ねた結果、データベースに蓄積されたデータも肥大化していたITインフラの刷新を決定。オラクルのOracle Exadata Database Machine(以下、Oracle Exadata)を採用した。同時にOracle Active Data Guardも採用。以前は月1回、5~6時間サービスを停止してメンテナンスをおこなっていたが、ほぼ無停止でのメンテナンスや障害対応が可能になった。SLAやパフォーマンスが向上したことから、利便性も高まっている。

 1997年の創業以来、「インターネット・サービスを通じて、人々と社会を“エンパワーメント”する」という企業理念に基づいて、会員数8,740万人、出店店舗数4万1,933店舗(2013年9月末現在)という日本最大のインターネット・ショッピングモール「楽天市場」を運営する楽天株式会社(以下、楽天)は「楽天市場」を中核に、世界一のインターネット・サービス企業になることを目指している。

 その一環として、共通の楽天会員IDで、「楽天市場」のほかにも電子書籍、トラベル、銀行、証券、クレジットカード、ポータル&メディア、というように、楽天グループ内のサービスを利用者が自由に回遊できる「楽天経済圏」を実現。国内グループサービスの年間流通総額は、4兆円(2012年12月末現在、金融サービスを含む)に上る。

創業時から利用するITインフラの増強が限界に近づく

 この「楽天経済圏」を支えるITインフラは、創業時から必要な機能の開発・増強を重ね、データベースに蓄積されたデータも肥大化。メンテナンスに時間を要するようになっていた。こうした課題を解決するために楽天が採用したのが、オラクルの次世代データベースマシンであるOracle Exadataだった。

 「楽天市場」は、楽天のビジネスの中核となるサービスであり、それを支えるITインフラには高いパフォーマンスと安定稼動が求められる。しかしここ数年、「楽天市場」は急激に成長、拡大しており、ネットワーク・トラフィックも2倍、3倍と増え続けていた。楽天の執行役員 DU副担当役員 CTO補佐のジョナサン・レビーン氏は次のように語る。


楽天株式会社
執行役員 DU副担当役員 CTO補佐
ジョナサン・レビーン

 「サービスの拡充に合わせてITインフラの開発、増強を重ねてきました。また、データ量の急激な増加により、サービス停止を伴うデータベース・メンテナンスの回数や時間が増えてしまうという課題もありました。システムの計画停止によるビジネス機会の損失を防ぎ、新しいサービスを迅速に展開するためにも、より高速で安定したITインフラを、可能な限り低コストでサービス側に提供できる仕組みが必要でした」。

 創業時に構築された既存のITインフラは、他社のデータベースをスケールアップ型で強化、拡張してきた。レビーン氏は、「改修を繰り返してきたシステムを増強するのは容易ではありませんでした。よりハイエンドのサーバーを購入することで開発時間を短縮していましたが、IT投資の観点からも、ビジネスの成長に合わせてハイエンドのサーバーの導入を重ねることに限界が近づいてきました」と話す。

 そこで、商品データと商品カテゴリデータ、受注データで構成される「楽天市場」のメインデータベースのうち、商品データと商品カテゴリデータのITインフラを刷新することを決定し、2011年よりプロジェクトをスタート。検討の結果、2012年下半期にOracle Exadataの導入を決定し、11月より、まずは会員データベースの運用を開始した。

DR構成で導入したOracle Exadataのリソースを有効活用

 楽天では、1.5ラックずつのOracle Exadataを、複数のデータセンターでディザスタリカバリ(DR)構成で導入している。あるデータセンターでは、楽天スーパーポイント情報、「楽天市場」のデータベースが搭載されており、あるデータセンターでは、会員データベースやプライベート・データベース・クラウド環境である「RXaaS(Rakuten eXadata as a Service)」が搭載され、Oracle Active Data Guardで双方向でのデータベースBCP環境が実装されている。楽天の楽天市場サービス開発・運用部 ECテクノロジー開発課 ECデータベース管理グループ マネージャーの高橋 裕二氏は、次のように語る。


楽天株式会社
楽天市場サービス開発・運用部
ECテクノロジー開発課
ECデータベース管理グループ マネージャー
高橋 裕二

 「8,700万人を超える会員のデータベースや、会員が保有する楽天スーパーポイント、1億5,000万種類の商品データ、4万店を超える店舗データなどの『楽天市場』のデータベース、データベース環境をサービスとして提供するRXaaSなど、楽天の基幹システムの大部分がOracle Exadata上で動いています」。

 アクティブ側のハーフラックはマーケティング用のデータウェアハウス(DWH)として利用し、スタンバイ側のハーフラックはテスト・検証用に利用することでリソースを有効活用。またシステム運用に関しては、既存の監視システムとOracle Enterprise Managerによる監視システム、Oracle Advanced Monitoring and Resolutionによるリモート監視を併用している。

 既存の監視システムとOracle Enterprise Managerを併用する理由について高橋氏は、「新しいシステムは不慣れなため、想定外の問題が発生したときのことを考えて併用を選択しました。Oracle Enterprise Managerは、監視やモニタリングでの利用はもちろん、限定的に権限を絞り込んでアプリケーションエンジニア向けに開放しています。これにより、エンジニア自らがSQLの問題点を確認できるようになりました」と話す。

 今回のシステム刷新では、「楽天スーパーSALE」などのイベントが浸透しはじめ、会員データベースへの負荷が高くなっていたことから、会員データベースもOracle Exadata上に移行することにした。会員データベースについてレビーン氏は、次のように語る。「会員データベースは楽天経済圏の中核であることから、計画停止であっても可能な限り止めたくないデータベースの1つでした」。

 会員データベースはOracleデータベースで構築されていたので、データに関しては単純に移行するだけだった。しかし「とにかく止められないデータベース」(レビーン氏)であることから、負荷テストやキャパシティの見積りはシビアに実施。計画停止、計画外停止にかかわらず、サービスを停止することなくメンテナンスをおこなえるようにするために、Oracle Active Data Guardが採用されている。

 一方「楽天市場」で利用されていた他社のデータベースは、約1年かけて移行した。高橋氏は、「2012年9月から移行をスタートして、2013年9月に稼動しています。夏ごろから東北楽天ゴールデンイーグルスの優勝が現実味をおびてきたため優勝セールに備えて延期も考えましたが、予定どおり9月に本番稼動しました」と話している。

Oracle Exadataのパフォーマンスや可用性を高く評価

 楽天では、高いパフォーマンスや、Oracle Real Application Clusters(以下、Oracle RAC)に基づく高可用性を評価して、Oracle Exadataの採用を決定した。また、これまで使っていた他社のデータベースには追加領域の割当てに上限があるため頻繁にメンテナンスが必要だったが、Oracle Exadataでは上限が解消されているためメンテナンス回数を削減できることも評価ポイントの1つだった。また、データベースのメンテナンスに起因するビジネス機会損失を防げることも、大きな要因の1つだった。

 Oracle Exadataの導入効果をレビーン氏は、次のように語る。「Oracle Exadataは、メンテナンスや障害対応など、サービスを停止することなくおこなえることが多いので、現在の楽天のビジネスに適しています。以前は月1回計画停止があり、5~6時間サービスを停止してメンテナンスを実施していました。それを現状では、ほぼ停止することなくできるようになりました。今後さらに使い込んでいけば、無停止によるメンテナンスの実現も期待できます」。

 大規模なセールを開催する際の、データベースの負荷に関連したトラブルもなくなった。高橋氏は、「導入後にハードウェア障害がありましたが、Oracle RACやOracle ASM(Automatic Storage Management)アーキテクチャによる高可用性により、サービスレベルは担保されました。また、Oracle ExadataのOracle Advanced Compression機能により、データサイズの圧縮も可能になりました」と話している。

 さらにRXaaSにおける効果を高橋氏は、次のように語る。「RXaaSという仕組みを導入したことで、ソフトウェア・ライセンスやディスク容量など利用率に応じて課金する従量制のモデルを構築しました。以前はあらかじめ潤沢なリソースを割り当てることが多かったため、コスト配賦が高額になっていましたが、従量制だと使い方によっては従来の半分以下になります。高い可用性とパフォーマンスを発揮する環境を、低コストで提供できるようになりました」。

 一方、「楽天市場」に出店している店舗側のメリットとしては、SLAやパフォーマンスが向上したことや、計画停止がなくなることなどが挙げられる。レビーン氏は、「とくに商品の一括登録など、これまで時間がかかっていた店舗オペレーションのパフォーマンスが格段によくなったという声を出店者からもいただいています」と話している。

運用ノウハウの蓄積やエンジニアの育成を推進

 これまで楽天では、データベース、ストレージ、ネットワークなどを別々の部署で管理していた。しかしOracle Exadataは、データベース、ストレージ、ネットワークが統合されている。高橋氏は次のように語る。「これまでとは何が違って、何を考慮しなければならないのかを約1年をかけて検討してきました。現在、システムとしては運用レベルに達していますが、まだまだ足りない部分があると感じています」。

 今後の取組みを同氏は、「とくにシステムの使用率や負荷状況、1秒間の入出力時間(IOPS)などの可視化が急務だと思っています。また、日本におけるエンジニア市場でOracleデータベースエンジニアの数が多いことも、Oracle Exadataを選定した理由の1つでしたが、まだまだ社内での運用ノウハウが不足しているため、今後蓄積していきたいと思っています。さらに、Oracleエンジニアの育成や資格の取得にも取り組んでいきたいと考えており、オラクルの、よりいっそうのサポートにも期待しています」と締め括った。

P R O F I L E

楽天株式会社
業  種:サービス業
従業員数:単体:3,498名、連結:9,311名(2012年12月31日現在)
資本金 :1,082億5,500万円(2012年12月31日現在)
売上高 :4,004億4,400万円(2012年12月期)
おもな事業内容:創業時より「インターネット・サービスを通じて、人々と社会を“エンパワーメント”する」という思いをもとに、世界一のインターネット・サービス企業を目指してさまざまなビジネスを展開。現在は日本国内最大級のインターネット・ショッピングモール「楽天市場」、総合旅行サイト「楽天トラベル」、ポータルサイト「インフォシーク」をはじめとするインターネット・サービスや、銀行、証券、クレジットカードなどの各種金融サービスを中心に多様な事業を展開している。

本事例は2013年12月のものです

ページの先頭へ