2017-11-23 13 views
1

USQLでテーブルを作成するときに、パーティションを使用できます。&クラスタ&分散句。USSQLでパーティション化&クラスタ化&分散化 - 意味と使用時期を確認する必要があります

わたしの理解しているところでは、パーティションには同じキー(パーティション上にあるもの)のデータが一緒にまたはそれ以上(バックグラウンドで同じ構造化ストリーム内にある可能性があります)に格納されるため、結合する、フィルターする。

クラスタリングは - これらの列のデータを各パーティション内にまとめて、またはそれより近くに格納すると思います。

配布は、各パーティション内にデータを格納する方法であるハッシュまたはラウンドロビンのような方法です。整数列があり、ある範囲内で頻繁にクエリする場合は、範囲elseを使用してhashを使用します。データが均等に分散されていない場合は、データスキューの問題が発生する可能性があります。この場合、ラウンドロビンを使用してください。

質問2:私の理解が正しいかどうかを教えてください。

質問1:INTO句があります - 私は、このINTO句の値を分配についてどのように識別すべきかを知りたいですか?

質問3:どちらが垂直パーティショニングで、どちらが水平ですか?

質問4:これらの概念を例で学ぶためのオンラインドキュメントはありません。ご存知の方は、私にリンクを送ってください。

+0

これは、StackOverflowでは広すぎます。 http://www.sqlservercentral.com/stairway/142480/ –

+0

[このドキュメント](https://msdn.microsoft.com/en-us/library/mt706196.aspx)に、お探しの情報があります。 – wBob

答えて

1

PeterさんとBobさんからは、ドキュメントへのリンクがあります。

すぐにここにあなたの質問に答えるために:

パーティションとディストリビューションは、パーティション化スキームに基づいてデータをパーティションの両方との両方が、データがスケールアウトとパーティションの除去を提供。

パーティションはオプションで、データライフサイクル管理のために(パーティションの削除機能を提供するほかに)、現在は同じ列の値に基づいた値ベースのパーティションのみをサポートしています。

各パーティションは、配布方式に基づいてさらに分割されます。ここでは、異なるスキーム(ハッシュ、レンジなど)があります。システムは、ある発見的手法に基づいて分布バケットの数を決定する。 HASHパーティションの場合は、INTO句を使用してバケット数を指定することもできます。

クラスタリングでは、分散バケット内の行の順序が指定され、問合せのパフォーマンスをさらに向上させることができます(たとえば、フルスキャンではなくレンジスキャンが可能)。

縦横分割は、これらの2つのレベルの分割を分離するために使用されることがあります。私はそれを避けようとしています。どちらがどれであるかを覚えるのは混乱するかもしれません。

関連する問題