カラムストアインデックスのすべて(後編)

EnterpriseZine / 2012年1月19日 0時0分

日本マイクロソフトの平山です。今回の記事は、前回に引き続きカラムストアインデックスの解説です。今回はまず、カラムストアインデックスの制限事項を理解した上で、実際の運用シナリオを考えるところから始めたいと思います。

■制限事項と運用シナリオ

 カラムストアインデックスを作成すると、対象となったテーブルのデータを更新することができなくなります。この点だけに着目してしまうと、これまでの SQL Server に定義していた一般的なインデックスの考え方とは一線を画すため驚いてしまうかもしれませんね。この特徴を理解したうえで、適切な運用方法を計画することで、大量の IO を必要とする操作の大幅なパフォーマンス向上が期待できます。

 それでは、カラムストアインデックスを作成したテーブルのデータを更新するための運用シナリオを考えてみます。代表的な例としては次の 2 つのシナリオが挙げられます。このような処理を必要に応じて定期的に実行することによって、カラムストアインデックスを作成したテーブルに対しても、データの変更を継続的に反映していくことができます。

 1. カラムストアインデックスの無効化  一旦カラムストアインデックスを無効化 (または削除) してからデータの更新を実施します。その後、再度カラムストアインデックスを作成します。

 手順 1  ALTER INDEX インデックス名 ON テーブル名 DISABLE  手順 2  データの更新  手順 3   ALTER INDEX インデックス名 ON テーブル名 REBUILD

 2. パーティションの使用  カラムストアインデックスがあってもパーティションの操作はできるため、データの追加にパーティションを使用します。

 手順 1   データ追加に使用するステージングテーブルにデータをロード  手順 2  CREATE NONCLUSTERED COLUMNSTORE INDEX                   – ステージングテーブルにカラムストアインデックスを作成   手順 3    追加が必要になった時にパーティションをスイッチ                    ALTER TABLE テーブル名 SWITCH TO T PARTITION …


平山理[著]

■関連記事

さっそく500万ドル調達! 新たに誕生したHadoopスタートアップへの高い期待[2012年02月14日]

Indirect Checkpoint (前編)[2012年02月02日]

エンジニアなでしこ魂~大事なことはみんな現場と先輩に教わった―米田早織さん[2012年01月31日]

DB Onlineの初イベントは満員御礼! ビッグデータへの関心はやっぱり高かった[2012年01月31日]

Oracleのストレージ管理に何故ASMを選ぶのか? ―12月の人気記事[2012年01月27日]



■記事全文へ

EnterpriseZine

トピックスRSS

ランキング