データウェアハウス最前線(5)

汎用ハードウェアでシェアードナッシングを実現

吉村 哲樹
2010/12/9

オープンソースのリレーショナルデータベース管理システムを基に、データウェアハウス向けに改造したソフトウェアである「Greenplum Database」。その特徴と長所を日本における総代理店である東京エレクトロンデバイスに聞いた(編集部)

汎用ハードウェアで動作するソフトウェア

 データウェアハウス(以下、DWH)に特化した新興ベンダの中でも独自の製品戦略を展開してきたのが、米グリーンプラムだ。同社は2003年の創業以来、オープンソースのリレーショナルデータベース管理システム(RDBMS)である「PostgreSQL」をDWH向けに改造したデータベース管理システム「Greenplum Database」を開発・提供してきた。全世界で150社以上が導入しており、米国ではeBayをはじめとする数多くの大手企業が採用している。日本では、2008年から東京エレクトロンデバイスが総代理店としてグリーンプラム製品の販売と技術サポートを手掛けている。

 グリーンプラムの製品は、テラデータやネティーザといったベンダのアプライアンス製品と比較されることが多い。しかし、その実体は他ベンダの製品とは大きく異なる。東京エレクトロンデバイスのCN事業統括本部 CNプロダクト事業部 プロダクト技術一部 ミドルウェア・コンサルティングでグループリーダーを務める成田隆慶氏は、グリーンプラム製品の特徴について次のように述べる。

 「Greenplum Databaseはアプライアンス製品ではなく、ソフトウェア製品。あくまでも、ソフトウェアの形態での提供にこだわっている。その理由は、サーバやストレージに汎用品を使えるからだ。汎用品は価格に対する性能がどんどん上がっている。安価で高性能なハードウェアを求めるなら汎用品が最も良い選択だ」

TEL
Greenplum Databaseはソフトウェア製品であるということにこだわっていると語る成田氏

 ほかのDWHベンダが専用ハードウェアによるアプライアンス製品でひたすら高性能を追求する中、グリーンプラムがソフトウェアであることと汎用ハードウェアを使えるというところにこだわる理由はもう1つある。成田氏によれば、来るべきクラウドコンピューティング時代に対応していくには、汎用ハードウェアを使えることが大きな意味を持つという。

 「クラウドコンピューティングではシステムのスケーラビリティを担保することが重要だ。その点では専用ハードウェアより汎用ハードウェアの方が効率良く対応できる。Greenplum Databaseは汎用のサーバ機を1台単位で追加していくことで、柔軟にシステムをスケールアウトできるので、クラウド時代のDWHに適している」

 同社のCN事業統括本部 CNプロダクト事業部 ビジネス・デベロップメント部 ミドルウェアグループに所属する住友義典氏も、別の観点から汎用ハードウェアを使えることによるメリットを強調する。

 「専用ハードウェアを使ったアプライアンス製品をスケールさせるには、ユニット単位やラック単位の拡張になり、細かい単位で性能を拡張しにくい。その結果、性能向上を表すグラフを書くと、1段1段が大きい階段のような形になってしまう。その点Greenplum Databaseは、サーバ1台ずつ拡張していくことができるので、まずはスモールスタートで始めて、ビジネスの成長に応じて徐々にシステムを拡張していくような使い方がしやすい。こうした点を高く評価して、ネットビジネス企業が採用したという例もある」

MPPでシェアードナッシング

 では、Greenplum Databaseを使うとき、ハードウェアはどのような構成になるのだろうか。

図3

クライアントからの処理要求はマスターサーバが受け取り、処理を分散させてセグメントサーバに依頼する

 全体のシステム構成は、いわゆるMPP(超並列プロセッシング)アーキテクチャとなっている。ユーザーから届くリクエストは、すべて「マスターサーバ」が受け付ける。マスターサーバは複数の「セグメントサーバ」にデータ処理を分散して依頼する。各セグメントサーバでは、プロセッサコアごとにデータベースソフトウェアのインスタンスが稼働しており、それぞれに対応したディスク装置にアクセスしてデータを処理する。

 それぞれのデータベースソフトウェアのインスタンスは、完全に独立したデータ領域を確保している。いわゆる、「シェアードナッシング」アーキテクチャだ。インスタンス間でデータ領域を一切共有しないため、アクセス競合に起因するデータベースのロック現象が発生せず、性能とスケーラビリティを高めやすい。シェアードナッシング構成は耐障害性に難があるものだが、その点は複数のセグメントサーバ間でデータのコピーを保持し合うことで冗長性を確保しているという。

 マスターサーバとセグメントサーバの接続や、各セグメントサーバ間の接続には一般的なギガビットイーサネットを使う。ただし、ここでもデータベース処理と同様、ソフトウェアで性能とスケーラビリティを向上させるための機能を用意している。具体的には「gNet」というソフトウェアで並列処理に向けたパイプラインを作っており、これを各サーバにインストールすることで汎用のスイッチでも高い性能とスケーラビリティを発揮できるとしている。

  1/2 次のページへ

Index
汎用ハードウェアでシェアードナッシングを実現
→
Page 1
汎用ハードウェアで動作するソフトウェア
MPPでシェアードナッシング

Page 2
データロード処理も並列分散処理
Greenplum on Dellパッケージ
ソフトウェア中心の展開は変わらない



Database Expert フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Database Expert 記事ランキング

本日月間