Shoeisha Technology Media

EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

シェアードナッシング、もう遅いとは言わせない/DWH業界のチャレンジャー、EMCにGreenplumの話を訊いた

edited by DB Online   2011/06/13 15:00

データベースのシステムで「速さ」をもっとも気にするのは、データウェアハウス(以下、DWH)のシステムだろう。この速さの追求は、15年ほど前に日本でデータウェアハウスという言葉を使い始めたころから変わりのない究極の目的とも言える。今回、Greenplum(グリーンプラム)をひっさげ、DWH業界に挑むEMCジャパンにその強みと戦略を訊いた。

シェアードナッシング型の弱点を克服したGreenplum

DWHにおける検索高速化のアプローチとして、古くから実績のあるアーキテクチャにシェアードナッシングがある。

シェアードナッシングとは、簡単に言うと、ディスクをサーバーノードごとに割り当て、複数ノードで分散処理による高速検索処理を実現するというものだ。処理を分散させることで、大量データに対する全件検索のような処理も、並列化して高速処理できる。データが増えた場合にも、ノードを追加しスケールアウト型の拡張性の確保も簡単だ。

とはいえ、このシェアードナッシング型にも弱点はある。その1つがローディングにかかる時間だ。並列処理をより効率化するには、データをたくさんのストレージに、均等に分ける必要がある。この均等に分けるというのがポイントで、それにより特定ノードへの処理集中というボトルネックの解消が可能となる。逆に言えば、性能を発揮するには、データを細かく均等に分けてノードに分散させる必要があるのだ。

「従来のシェアードナッシング型のアーキテクチャでは
ローディングにかなりの時間がかかる」

「通常、シェアードナッシング型のアーキテクチャでは、マスターサーバーでハッシュ関数などを用い、データを各ノードに分散させてロードします。ノード数が少なければあまり問題にはならないかもしれませんが、100ノードとかになると、このハッシュ分散の処理にかなりの時間がかかることになります」

と語るのは、EMCジャパン データ・コンピューティング事業本部 テクノロジー & プロフェッショナルサービス部 部長の仲田 聰氏。

仲田氏によれば、シェアードナッシング型のアーキテクチャでは、通常はマスターサーバー経由でデータをロードすることになり、マスターサーバーにデータ分散の処理が集中してしまう。そのせいで莫大なデータのロードには、かなりの時間がかかるという。

これは、データ量が少ないときにはあまり問題にならない。しかし、現状のように企業の扱うデータ量が爆発的に増えている状況では、かなり問題だ。ローディングにあまりにも時間がかかれば、DWHに入れるデータ量を減らすために明細レベルは諦め、集計した結果データを入れることになる。そうなると、分析時には情報の概要までしか分からず、詳細に当たろうとすると別途明細データにアクセスする仕組みを提供しなければならないかもしれない。当然これでは、タイムリーな分析もできないし、結果の正確性も担保できないだろう。

これに対しGreenplumでは、マスターサーバーが分散処理を一手に引き受けるのではなく、ノードのセグメントサーバーそれぞれで分散の処理をしながらロードが行える。そのため、マスターサーバー処理のボトルネックが発生しないのだ。

ノードのセグメントサーバーそれぞれで分散処理

「どのデータをどのセグメントサーバーが持つのかを、それぞれが知っているのです。この方法ならば、データソースを増やすことも容易で、さらなる高速な分散処理も可能になります」(仲田氏)

一連のデータロードの仕組みはパテント申請中の技術であり、他社はなかなか追随できないだろうとのことだ。


著者プロフィール

  • 谷川 耕一(タニカワ コウイチ)

    EnterpriseZine/DB Online チーフキュレーター かつてAI、エキスパートシステムが流行っていたころに、開発エンジニアとしてIT業界に。その後UNIXの専門雑誌の編集者を経て、外資系ソフトウェアベンダーの製品マーケティング、広告、広報などの業務を経験。現在はフリーランスのITジ...

バックナンバー

連載:DB Online Monthly Special

もっと読む

All contents copyright © 2007-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5