本文とサイドメニューへジャンプするためのナビゲーションスキップです。

スタートアップガイド

J-Net21 中小企業ビジネス支援サイト

  • J-Net21とは
  • スタートアップガイド
中小機構
  • メルマガ登録
  • RSS一覧
  • お問い合わせ

HOME > 製品・技術を開発する > デジ・ステーション

デジ・ステーション


5分でわかる最新キーワード解説
人気順に負荷分散!レプリカ数動的調整技術

日々進歩するIT技術は、ともすると取り残されてしまいそうな勢いで進化の速度を高めています。そこでキーマンズネット編集部がお届けするのが「5分でわかる最新キーワード解説」。このコーナーを読めば、最新IT事情がスラスラ読み解けるようになることうけあい。忙しいアナタもサラっと読めてタメになる、そんなコーナーを目指します。今回のテーマは「レプリカ数動的調整」技術。アクセスが集中しているデータを自動判断、自動複製(レプリカ作成)してくれる“業界初”の仕組みです。データ爆発/ビッグデータ時代に対応するデータ活用法の研究が各領域で進む中、分散ストレージ技術開発領域から生まれた新しい「解答」の1つと言えるでしょう。

1.「レプリカ数動的調整技術」って何?

「レプリカ数動的調整」は、ストレージサーバへの負荷集中を防ぐため、アクセス量が多いデータを自動的にランキングして別のストレージサーバに複製(レプリカ)を作成する新しい技術のこと。富士通研究所が開発中の分散オブジェクトストレージの要素になっている“業界初”(同社調べ 2012年7月)の技術だ。

1-1.レプリカ数を自動的に増やすメリットは?

2009年6月25日を覚えておられるだろうか。そう「マイケル・ジャクソンが亡くなった日」だ。その日、米国はじめ世界中の数百万人が情報を求めてニュースサイトにアクセスした。関連情報が掲載されていたニュースサイトでは異常に大量のページビューが発生し、その負荷に耐えられないサイトは停止した。持ちこたえたサイトの多くでも大幅なレスポンス低下に見舞われた。この出来事は、Webによるサービスの弱点を典型的に示した事例としても記憶されている。富士通研究所はこれに着目し、その日の前後1日にわたる関連情報へのアクセス量データを入手し、64台のサーバでシミュレーションを行って実際のアクセス状況を再現した。そして同じシミュレーションを「レプリカ数動的調整」を利用して行った場合との差を調べている。図1がアクセス状況の再現結果、図2が新技術による負荷分散を行った場合の結果だ。

図1 大ニュース発生時前後1日でのWikipediaへのアクセスを模したシミュレーション結果
図1 大ニュース発生時前後1日でのWikipediaへのアクセスを模したシミュレーション結果

資料提供:富士通研究所

図2 負荷集中が起きているデータのレプリカ数を動的に増加させてアクセス分散を行った結果
図2 負荷集中が起きているデータのレプリカ数を動的に増加させてアクセス分散を行った結果

資料提供:富士通研究所

比較すればその差は明らかだ。図1では関連記事のある特定サーバが短時間に平常時の2.3倍に及ぶアクセス数を記録してピークを迎え、あまり時間を置かずに減少に向かったことが分かる。図2からは動的にレプリカを自動的に増やしてアクセスを分散させた結果、アクセス集中の度合いを70%も縮減することに成功していることが分かる。アクセス増加を感知するやいなやレプリカが極めて短時間で作成できたため、適切な負荷分散ができてアクセス量を劇的に平準化したのだ。
 こうしたアクセス量の急激な変化は、程度こそ違え日常的に起きている。販促キャンペーンやテレビCM、有名テレビ番組での製品紹介などをきっかけに、Webページへのアクセスが殺到してサーバがダウンするケースは稀ではない。機会損失やブランド価値の毀損を生じる可能性を考えると、従来よりも合理的・効率的・スピーディな負荷分散の仕組みが必要だ。これに答える1つの方法が「レプリカ数動的調整」だ。

1-2.「レプリカ数動的調整」技術のあらまし

従来の負荷分散技術だけでは負荷状況への対応に課題が

基幹系システムならあらかじめアクセス量の予測もできるが、Webベースのシステムでは設計時に負荷を正確に見積ることが難しい。だからといって一時のアクセスピークに十分なリソースをサーバ個別に用意しておくのも不合理だ。そこで仮想化技術がよく使われる。ストレージの領域では、複数個所に設置されている何台ものストレージ装置を1つのストレージのように見せかけるストレージ仮想化技術により、各ストレージ装置の容量を効率的に利用できるようになった。しかし、突発的なアクセス集中時のストレージ側での負荷分散を目的とした機能はまだ一般化していない。
 その理由の1つには、一般的な分散ストレージの負荷分散技術として使われている「コンシステントハッシュ」法が急激なアクセス増加に対して弱いことがあげられる。この方法を簡単に言えば、「ハッシュ空間」と呼ばれる仮想の空間に各サーバを位置づけ、データのハッシュ値によって担当するサーバを決める方法だ。ストレージの1つが故障してもデータを失わないようにするために、ハッシュ空間の隣に位置するストレージにデータの複製であるレプリカを作成する。HA(高可用化)やDR(災害復旧)の対策として有効な一方、負荷状況を反映したレプリカ作成はできず、レプリカの置き場所は隣の装置に決まってしまう。これでは負荷の均等配分が実現できず、逆に負荷の偏りを助長する場合さえある。

「人気度推定エンジン」を組み合わせて負荷増大/減少に柔軟に対応可能に

そこで「負荷情報に基づくデータの自動再配置」が必要だと考えた富士通研究所では、データの人気度ランキングテーブルを作成する「人気度推定エンジン」を開発した。これをコンシステントハッシュ法と組み合わせることで、負荷状況に即応できる「レプリカ数動的調整」が実現できる。
 人気度推定エンジンの仕組みはこうだ(図3)。まず、データアクセスリクエストの数を個々のデータごとにカウントし、その数値を「人気度」としてテーブルに登録する。するとデータ別の人気ランキング表ができる。そのランキングは、例えば「ベスト2000まで」という形で個数を限り、一定のアクセス回数を記録したらデータのアクセス数カウントを一旦1/nに縮減する。こうすると、引き続きアクセスが増大するデータならまたカウント数を上げていくが、人気のピークを過ぎてアクセス数が上がらなければランキング外に落ちていく。また記録にないデータへのアクセスがあれば、それを最下位のデータと入れ替えて、最下位のアクセス数を引き継ぐ。これは新しい話題などで人気が出始めたデータを見逃さない工夫だ。

図3 人気度推定エンジンの仕組み
図3 人気度推定エンジンの仕組み

資料提供:富士通研究所

これにより、最近のアクセス傾向を敏感に反映した人気度ランキングができあがる。そのランキングに合わせてデータのレプリカ数を増減させると、現実の負荷状況に合致する負荷分散が行えるというわけだ。アクセスが集中しているストレージのデータは、アクセスの少ないストレージにレプリカを作成することで、ストレージプールの中のストレージ装置個々に適切な負荷分散が行われ、アクセス量が平準化することになる。
 もしもこのようなランキングの手法を使わない場合は、データ個々の重み付けに使用するメモリ使用量がデータ量に応じて増えていくことになる。世界のストレージ容量は過去5年間で10倍になるほどのペースで増大していることを考えると、メモリ容量がいくらあっても不足する。本技術でランキング方式を採用しているのは、これからのデータ肥大化に備えるために、できるだけ省メモリで処理を行うことを意図したからだ。この方式なら、データ量がどれだけ増えてもランキング表の容量はほぼ変わらない。
 なお、レプリカ作成に要する時間は、それがテキスト情報なのかビデオ情報なのかなどによって異なるが、Wikipediaの記事なら20KBほどなので約5秒で完了する。クラウドを利用している場合、サーバのレプリカ作成が迅速にできるといっても少なくとも数分はかかるのが普通だ。ストレージ上のデータのみの複製なら約1000分の1以下の時間で済み、負荷集中にすばやく対応できる。

増加傾向の大きいデータほど多くのレプリカを作成し、負荷状況を予測した対応が可能

また同じ単位時間内で徐々にアクセス数が上昇するデータと、急激に上昇するデータとがある。測定したアクセス数が同じでも、急激に上昇しているデータほど、その後もアクセス頻度を高い割合で増加させる可能性が高い。その可能性を先読みし、アクセス増加率の大きいデータほどレプリカ数を多くすると、更に均一な負荷分散が行えるようになる(図4)

図4 人気の出方に違いがあるデータでもアクセス増加率に合わせてレプリカ数を制御
図4 人気の出方に違いがあるデータでもアクセス増加率に合わせてレプリカ数を制御

資料提供:富士通研究所

ちなみに、同研究所では上述のアクセス量データをもとに、16台のサーバで全体のアクセス時間の変化も測定している。その結果、通常の場合だと全データへのアクセス時間が約4倍にまで悪化していくものを、本技術の適用によって約1.2倍にまで抑え込むことができた。アクセスが集中しているデータだけに限れば、約15倍に悪化するところを約1.4倍にとどめることができた。

2.「レプリカ数動的調整技術」の課題と今後

「レプリカ数動的調整技術」は、従来はできなかった急激なアクセス集中の状態検知・予測を行うことでレプリカ数を制御し、サーバのダウンやアクセス時間の悪化を解消できる道を開いた。分散ストレージ環境は、総容量として十分にサービスを安定提供できるように構築されてはいても、一部のデータへの突発的な負荷集中は計画できず、対応できるかどうかは「事件が起きてみなければ分からない」状態が続いている。その状態では、例えばブログなどで頻発する「炎上」事件では、サービスの停止(ブログの閉鎖・停止)でしか対応できていない。ITユーザ側としては、これには納得いかないだろう。「レプリカ数動的調整技術」開発は、この状況を変革する取り組みの1つだ。
 しかし、同じ「炎上」でも、自然に起きる場合と悪意を持った攻撃を受けて生じる場合とがある。後者の場合では、悪意でデータのレプリカを増やしてしまう可能性がある。これは大きな課題の1つで、富士通研究所では対応を研究中だ。
 また、今後はログデータやセンサデータなど、従来は膨大すぎて取扱いようのなかったデータも、ビッグデータに対応するDB技術などの進展にともなって、有意義な活用ができるようになると見込まれている。そうしたデータ解析時の負荷分散や可用性確保のためにも応用できるように、分散オブジェクトストレージ技術の研究開発が進められている。「レプリカ数動的調整技術」はこの開発プロジェクトの中でも重要な位置を占めている。現在のところまだ製品化は決まっていないが、更に性能向上を目指し、開発と実証実験を進める予定とのことだ。

取材協力 :株式会社富士通研究所

掲載日:2012年10月24日

キーマンズネット

出典元:株式会社リクルート キーマンズネット 2012年9月19日掲載分

検索

このページの先頭へ