|
||||||||||
| 前のページ 1 2 3 次のページ | ||||||||||
| 多次元クラスタリング〜パフォーマンスに効く! | ||||||||||
|
もう1つのDB2 9のパーティション機能に多次元クラスタリング(MDC)というものがあります。これは1つの表を複数の次元の属性に合わせてデータを格納する方法です。これは、例えば図3のように年月・製品・地域という次元を指定した場合、2007年7月東京でのDB2の売上は、セルと呼ばれる同じ場所に格納されます。 従って、2007年7月の売上を照会したいのであれば、年月の次元で2007年7月に存在するセルだけ(図3では4つのセル)を読めばいいことになります。 この機能のメリットは、主に以下の3つがあげられます。
表2:DB2 9のパーティション機能のメリット MDCの定義と運用は簡単に行うことができます。
作成SQL例:
上のリストのように表作成時にORGANIZE BY DIMENSIONSの後に列名を指定するだけで、DB2が属性に応じて自動的にデータを格納します。例えば新たに2007年8月のデータがInsertされたら、その時に新しいブロックをアロケーションし、そこに2007年8月のデータを格納していくので、表定義のメンテナンスが一切不要です。 履歴型でデータが増えながらも、このMDC表で「製品別」といった何らかの単位で集計されることが多い明細表などを作成することで、集計バッチを高速にすることも可能といえるでしょう。 |
||||||||||
| データベース・パーティショニング〜スケーラビリティに効く! | ||||||||||
|
このほかにもDB2 9には、複数のデータベースサーバをあたかも1つのサーバのように仮想化し、並列処理を行うDFPというパーティショニング(DPF)機能があります。 これはハッシングにより、データを複数のデータベースサーバ間で均等に分散して持ちます。どのサーバに接続してリクエストを出しても、それぞれ自分のデータを処理したうえでマージして返してくれますので、同じ結果が戻ります。 この際、クライアントはデータの存在場所を意識することはありません。なぜならDB2が自動的にそのデータが存在するDBサーバにSQLのリクエストをホッピングにより実現しているからです。 これは大量データを並列処理したい時に非常に便利なグリッド機能といえます。つまり、データ容量が増えた場合やより性能を高くしたい時はパーティション数を増やすことで並列度を高め、性能を維持・向上できるので、スケーラビリティのある構成を構築する際に利用することが可能です。 |
||||||||||
| ハイブリッド・パーティショニング〜組み合わせてさらに効く! | ||||||||||
|
今まで説明してきた3つのパーティションの機能は排他的なものはありません。それらを組み合わせて利用することにより、より大規模なシステムのパフォーマンスを維持し、運用を容易にしながら、スケーラビリティを確保して構築することが可能なのです。 |
||||||||||
|
前のページ 1 2 3 次のページ |
||||||||||
|
|
||||||||||
|
|
||||||||||
|
||||||||||
|
|
||||||||||
|
||||||||||
|
|
||||||||||
|
||||||||||



