|
||||||||||||||||||||||||||||||
| 1 2 3 次のページ | ||||||||||||||||||||||||||||||
| Sybase IQの特徴は垂直パーティション | ||||||||||||||||||||||||||||||
|
前回、Sybase IQの最も大きな特徴は、テーブルデータの保持方式とそこに対するアクセス方法である垂直パーティションと呼ばれるデータ構造であると解説しました。また、生データをSybase IQデータベースに格納する3つのプロセスを紹介し、最初のプロセスである「カラムパーティション」について解説しました。 今回は、「ビットワンズインデックス」と「データ圧縮」のプロセスについて深く掘り下げ、解説していきます。 |
||||||||||||||||||||||||||||||
| インデックス化(ビットワイズインデックス) | ||||||||||||||||||||||||||||||
|
カラムごとにカラムパーティションされたデータは、次にインデックスへと変換されます。 Sybase IQのインデックスの特徴は、まず、テーブルとインデックスの区別が無い、ということがあげられます。つまり、テーブル中のカラムはすべてインデックス化されます。さらに、1つのカラムに対して9種類のインデックスから用途に応じたものを複数することもできます。 このため、どのようなクエリが実行されても必ずインデックスが使われるため、定型クエリ/非定型クエリを問わず、安定した性能を発揮できますし、カラムがSQL文中でどのような使われ方をしていても最適なインデックスを選択することができます。 |
||||||||||||||||||||||||||||||
| 9種類のインデックス | ||||||||||||||||||||||||||||||
|
Sybase IQは用途別に9種類のインデックスを装備しています。
表1:Sybase IQの9種類のインデックス |
||||||||||||||||||||||||||||||
| 高速な射影処理を実現する「Fast Projection(FP)」 | ||||||||||||||||||||||||||||||
|
Fast Projectionは、デフォルトで無条件に作成されるインデックスです。Projectionとは、リレーショナルデータベースの基本操作である射影・選択・結合のうち射影を意味し、文字通り高速に指定したカラムを抜き出す処理に使われます。 Fast Projectionは、カーディナリティにより1バイトFP、2バイトFP、フラットFPの3つの形態があります。 1バイトFPと2バイトFPは、上図の通り、値を保持するテーブルとその値を参照するポインターの配列から構成され、カーディナリティが低い場合にデータをコンパクトに保持することができます。 配列が1バイトで表現できる場合、すなわちカーディナリティが256以下の場合は1バイトFPが作成され、256を超え65,536以下(これは2バイトで表現できる範囲ですが)の場合は2バイトFPが作成されます。 カーディナリティが65,536を超える場合には、ポインターではなく値そのものを保持する、いわゆる「テーブル」に近い形式で作成され、これをフラットFPと呼びます。 Fast Projectionは、いずれの形態にしても論理的にインデックスを分割しパラレル処理をすることが可能で、単純なカラム抽出だけでなく、文字列検索によるカラム抽出、SUM()関数などを伴ったカラム抽出において高速な検索が可能できます。 |
||||||||||||||||||||||||||||||
|
1 2 3 次のページ |
||||||||||||||||||||||||||||||
|
技術ホワイトペーパ「情報分析用高速クエリエンジンSybase IQ」
本連載はサイベースが提供している技術ホワイトペーパ「情報分析用高速クエリエンジンSybase IQ」の転載となります。Sybase IQのより詳細な内容については以下のページを参照してください。 http://www.sybase.jp/products/informationmanagement/sybaseIQ_moreInfo.html |
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||



