前回は、基本的な環境を調べてみました。今回はテーブルを作成してみたいと思います。一つのデータベースは複数のデータベースの集合で構成されているものとなっていることが前回の投稿で確認ができました。テーブルについても各ディストリビューションに分散してデータが格納できるような形で自動的に作成が行われます。テーブルで構成されていることが確認できます。「sys.pdw_index_mappings」というインデックスのマッピング用システムビューもあるようです。一つのテーブルは複数のデータベースに分散して配置されるという構成になっていることがデータから確認することができます。種類の分散方法でテーブルを作成することができるようになっています。外部キーが設定できないというような制限がありますので、テーブル作成時には注意しておく必要のある項目が多々あるかと思います。ロビン分散この分散方法は、すべてのディストリビューションにできるだけ均等に分散させる方式となります。ロビン分散が使用されます。この分散方法は分散に使用するキー項目は指定しないため、特定項目によるデータ分布を気にすることなく、データを分散させることが可能です。今後記載しようと思っている「データ移動」が発生する可能性が高くなりますので、複数のテーブルと結合するような場合にはオーバーヘッドが発生する可能性が高くなります。ロビンはデータを順に分散させる方式となるため、後述のハッシュ分散とことなり、どこにデータを格納するかという判断が簡略化されるため、データ分散のオーバーヘッドは低くなるかと思います。ロビン分散の方が、適しているケースがありそうですね。■ハッシュ分散この分散方法は、ハッシュに使用するキー項目を指定して、ディストリビューションにデータを分散される方式となります。ハッシュ値については以下のような記載があります。データの値ではなく、ハッシュするデータの型に基づいていることに注意してください。データ値も考慮がされているようですが、データ型についても基づくようなので、データの格納状況についてはこの仕様を意識しておく必要があるかと。各ディストリビューションにデータの偏りが少なくなるということを意識していく必要があるかと。種類以上の値が指定される項目を、ハッシュキーとして使用してデータを分散させる必要があるかと。それでは、実際にテーブルを作成して分散の状況を見ていきたいと思います。今回は以下のテーブルを使用しています。HASH(keycol))GOこのテーブルに対して、以下のクエリでデータを格納してみます。コマンドで確認をすることができます。PDW_SHOWSPACEUSED」で確認できます。確認することができます。件のデータを格納しています。ロビンで作成されたテーブルについてはデータが分散され、ハッシュで作成されたテーブルについては、同一の値が入っている項目を指定しているため、すべてのデータが同一のディストリビューションに格納され分散されていないことが確認できます。+=1END[/sourcecode]のクエリを実行してディストリビューション数以下のデータ分散になるようなデータを格納した場合の、ハッシュ分散の状況が以下になります。種類になるデータでの分散となります。ディストリビューションに対して、ハッシュキーの項目のデータ分布のバランスが悪いので、データが格納されていないディストリビューションが存在していることが確認できますね。テーブルを作成する際には、どのようなデータが入るかを意識して分散方式を設定することが重要となるかと。分散方式として「REPLICATE」を使用することができました。この分散方式では、すべてのディストリビューションに対して同一のデータを格納することができるのですが、データ格納に必要となる領域が「データサイズ×ディストリビューション数」となり、データを格納するための領域が通常の分散方式と比較して大きくなります。する際のオーバーヘッドが低くなるため、頻繁に使用するディメンションについては、この分散方式を使用して複製をすると効果的という面があります。この方式はサポートされていないようです。REPLICATE」が記載されていますが、このクエリを実行してもエラーとなってしまいます。チューニング等をメインにしていますが、本ブログで情報発信している内容に関することでしたら対応できます。お仕事のご相談がありましたらTwitterfacebookやブログのコメントでご連絡いただけると幸いです。ブログにコメント頂いた内容は私が承認しない限り表示されません。本ブログでは自宅の検証環境を使って勉強したことを投稿しています。製品を使用した検証となっています。受賞させていただきました。本ブログの内容は個人的に検証したものとなり、検証結果を含め記載している内容を保証するものではありません。(2015/3/21~)最後まで飲み切れず...。体験記の連載をさせていただきました。