DWHの大規模化における解決策
大容量データ処理に有効なシェアード・ナッシング
2000年代に入ると、DWHで処理すべきデータ量は数TBから数百TBに及ぶようになります。
Teradataは汎用機の時代からDWHに適用領域を絞り、専用のハードウエアとソフトウエアを開発し、ハードウエア・アプライアンスという、まったく異なるアプローチでDWHソリューションを提供してきました。特徴として、シェアード・ナッシング・アーキテクチャを採用して、MPP(Massively Parallel Processing;超並列処理;データ処理を複数の独立した処理に分割し、大量のノードで並列/分散処理させる方式)でデータ処理を行います。
シェアード・ナッシングでは、図2に示すように従来のDBのアーキテクチャであるシェアード・エブリシングや、 Oracle RAC(Real Application Clusters)に代表されるようなシェアード・ディスク・アーキテクチャと異なり、十分に処理の並列度が確保できればディスクIOやCPU-メモリ処理のボトルネックは発生しません。
より大容量のデータを効率良く処理する取り組み
Teradataはシェアード・ナッシングで分割してデータを保持した上、MPPでIO競合を起こさず、並列にデータ処理を行うことができるので、数百TBに及ぶデータの処理においても、ボトルネックを生じず最適な性能を保証することが可能なアーキテクチャです。
Netezzaも、シェアード・ナッシング・アーキテクチャでMPPを実現するハードウエア・アプライアンスとして発表されました。FPGA(Field Programmable Gate Array)でCPU処理の絞り込みを行う等、ハードウエア技術から独自の性能最適化のアプローチを行いつつ、Teradataより安価なソリューションを展開しています。
2008年を過ぎると世界ではPB(ペタバイト)クラスのDWHも運用され始めます。ここに至ると、コストや拡張性の問題から既存のDWH専用ハードウエア・アプライアンスをもってしても対応が難しくなります。
Greenplumは、汎用ハードウエア上でMPPを実現するソフトウエアとして提供されます。専用のハードウエアを必要とせず、複数台のIAサーバーとギガビット・イーサネット・スイッチでシステムを構成することが可能で、従来のハードウエア・アプライアンスと同じ性能要件を実現しながら、より既存システムとの親和性が高く、安価なDWHを構成できます。
また、IAサーバーを追加するだけで、システムの性能および容量をシームレスにスケールアウトさせることができます。価格についても、ソフトウエア提供ならではの柔軟な設定が用意されています(コア課金、容量課金)。
Exadataは、特定の汎用ハードウエア上にDBMSとしてDWH専用にチューニングされた Oracle Databaseが搭載されたハードウエア・アプライアンスです。ただし、シェアード・ナッシング・アーキテクチャではなく、MPPは採用していません。シェアード・ディスク・アーキテクチャを採用しており、ディスクIOを行う部分にInfiniBandを用いてボトルネックに陥る可能性を少なくしています。
第1回で紹介したDWHの大規模化が生む2つの課題「コストパフォーマンス」「拡張性」へのアプローチとして、これまで紹介してきた各ソリューションの特徴と有効性について次ページでそれぞれ考察していきます。