みなさんこんにちは。日本アイ・ビー・エム システムズ・エンジニアリングの白井です。前回の第2回に引き続き、今回もまた、BLUアクセラレーションの解説を引き続き担当します。よろしくお願い致します。前回は、BLUアクセラレーションの登場の背景や、BLUアクセラレーションの価値について解説しました。どのようなクエリーが実行されるのか、事前予測することが難しい環境でも、特別なチューニングを施すことなく、安定したクエリー性能を確保できる、というBLUアクセラレーションの価値をご理解頂けたと思います。 また、アナリティクス処理に最適化されたBLUアクセラレーションの処理エンジンは、従来型のDB2の処理エンジンと統合されており、既にDB2を利用しているシステムであれば、従来からのアプリケーション資産や、運用管理のためのスキル等を、すべてそのまま活用できる、という点にも言及しました。第3回目の今回は、いよいよBLUアクセラレーションの高速処理の秘密について解説します。
BLUアクセラレーションの高速処理を支えるテクノロジー
BLUアクセラレーションの高速処理は、表面から見えないものも含め、数多くのテクノロジーによって支えられています。 それらは、以下の通り、主にデータベース管理システム(DBMS)の実装上の工夫によるものと、ハードウェアに対する最適化によるものがあります。
(1) DBMSの実装上の工夫によるもの
カラム・オーガナイズ表
データ・スキッピング
データ・スキャンに最適化されたメモリー・キャッシング
(2) ハードウェアに対する最適化によるもの
マルチコア並列処理
パラレル・ベクトル処理
ハードウェアに最適化されたデータ圧縮技術
各テクノロジーをひとつずつ順番に見ていきましょう。