前のページ|次のページ

分散サーバー: テーブルのパーティション分割

SAS LASR Analytic ServerまたはSASHDATライブラリを出力ライブラリとして指定すると、テーブルのパーティションキーを指定できます。ユーザーは、パーティション分割メニューを通じて使用する列を選択できます。
パーティショニングは、パーティションキーのフォーマットされた値を使用することにより、 そのキーに関して同じ値を持つ行をグループ化します。キーに関して同じ値を持つすべての行は、クラスタ内の単一マシンにロードされます。SAS LASR Analytic Serverライブラリの場合、これは同じキー値を持つ行が1つのマシン上のメモリ内にロードされることを意味します。SASHDATライブラリの場合、同じキーを持つすべての行が1つのマシン上の単一ファイルブロックに書き込まれます。(冗長性を実現するために、このブロックは他のマシンへと複製されます)。パーティショニングされたテーブルをサーバーにロードした場合、パーティション分割はテーブルがメモリ内にある限り保持されます。
パーティションキーを選択し、列エディタタブ上で列の並べ替えオプションも指定した場合、その並べ替えオプションはORDERBY=オプションとして現在のエンジンに渡されます。このような拡張をSAS LASR Analytic ServerおよびSASHDATライブラリに適用することで、データがメモリ内にある場合に性能を改善できます。
パーティションキーを指定する場合、一意の値を少ししか持たない変数は使用しないでください。たとえば、ブール型であるフラグ列をによるパーティショニングを行った場合、結果として2つのマシン上ですべての列が生成されます。これは、2つの値しか利用できないためです。これと対照的に、近似的に一意のキーで大きなテーブルをパーティション分割すると、結果として少ない行を持つ多数のパーティションが作成されます。
最適なパーティションキーを決定することは、非常に困難な仕事です。ただし、たとえば、顧客IDに基づいてデータにアクセスすることが多い場合、データを顧客別にパーティション分割すると、性能を改善できる可能性があります。

関連項目:

前のページ|次のページ|ページの先頭へ
最終更新: 2019/12/17