はじめに
「第1部 BIに変化が求められる背景」で、BIにはバックエンドとして大量データを高速に扱うことが求められると話しました。今回は、大量データの高速処理を支える技術としてカラムストアインデックスにフォーカスをあてます。
カラムストアインデックスとは
まずはカラムストアインデックスの説明をします。
従来の行ストアとカラムストアとの比較を上図に示しました。読んで字の如しですが、行ストアがテーブルデータを行方向に格納するのに対して、カラムストアは列単位で格納します。「SQL Server格納方法」列に記載している通り、カラムストアでは格納したデータをそのままインデックスとして使用できることがポイントです。
カラムストアインデックスのメリット
カラムストアインデックスを使用するメリットを「クエリ実行」と「データ処理」という2点で見ていきます。
クエリ実行時の効率化として上図を見てください。売上系のクエリを実行する例を使って3種類の効率化を説明しています。ポイントはクエリ実行時に読み込むデータがかなり絞られる点です(上図マトリックス部分の赤枠内のデータ読込が不要です)。行ストアに比べると圧倒的な効率化が実現できています。セグメントエリミネーションの詳細についてはリンクを参照ください。
データ処理時の効率化として上図を見てください。圧縮率、I/O単位、バッチモードという3つの効率化のためのキーワードがあります。バッチモードの詳細についてはリンクを参照ください。
SAP BWでのカラムストアインデックス採用メリット
SAP BWにおけるカラムストアインデックス採用メリットを下図に示しています。
「1.クエリ性能向上」と「2.データサイズ圧縮」は先に説明した部分と同様です。クエリ性能およびデータサイズ圧縮効果の根拠値はノート1771177の添付ファイルに目安として記載しています(上記Link先を参照するには、SAP社Marketplace IDが必要になります)。そして、クエリ性能向上の結果、集約キューブを破棄できるパターンが多くなると見込めます。仮に集約キューブが必要な場合には、集約キューブに対してもカラムストアインデックスを使用できます。
また、補足ですがノート1771177に必須/推奨のSPレベルに関する記載があります。
SQL Server2014の機能拡充(カラムストア インデックス)
カラムストアインデックスの機能がSQL Serverのバージョンによっての違いを上図で示しています。2012で基本機能が実装され、2014で機能拡充しているのがわかります。以下が2014の拡充点です。
- キューブ項目:Decimal型の19桁以上の項目を使用可能
- 対象テーブル:F-Factテーブル(キューブBW圧縮前のテーブル)でもカラムストアインデックス使用可能
- インデックス種類:Clusterインデックス化される
- 圧縮オプション:パーティショニングしたテーブルに対して圧縮率を高めるアーカイブ圧縮が可能
次回内容
今回はバックエンドとして高速処理・大量データ格納を支える技術のカラムストアインデックスを説明しました。次回「第3部 誰もが柔軟に活用できるBIフロントエンド(MS Excel)」はMS Excelでのデモ動画を交えて説明します。明日(5/13)公開予定お楽しみに
- カテゴリ: SAP情報
この記事に関するサービスのご紹介
導入/移行(プロフェッショナル)サービス
プロフェッショナルサービスでは主にSAPシステムの導入や移行、それに伴うテクニカルな支援を行います。ERPやS/4 HANA、SolManといった様々なSAP製品の新規導入、クラウドを含む様々なプラットフォームへのSAPシステムの最適な移行、保守切れに伴うバージョンアップ・パッチ適用等の作業だけでなく、パラメータ設計、パフォーマンスチューニング、導入・移行計画支援等についても対応いたします。
詳細はこちら