すべてのプロダクト
Search
ドキュメントセンター

PolarDB:リストのデフォルトのハッシュ分割を使用する場合

最終更新日:Jun 05, 2024

このトピックでは、リストのデフォルトハッシュ分割が使用されるシナリオについて説明します。

リスト分割は、すべてのシナリオに適しているわけではありません。 場合によっては、パーティションキー値を列挙できないか、パーティションキー値の総数が非常に多いが、少量のデータに対応することがあります。 例えば、パーティションキー値の20% はデータの80% を保持し、パーティションキー値の80% は残りの20% データを保持する。 この場合、[リストのデフォルトハッシュ分割] を選択できます。 これにより、データの80% にリストパーティショニングを使用し、データの残りの20% にハッシュパーティショニングを使用できます。

例えば、マルチテナント型の業務システムでは、各テナントで生成されるユーザデータの量が大きく異なる。 リストパーティションを使用して、データ量が大きいテナントを分割し、ハッシュパーティションを使用して、データ量が小さいテナントを分割することができます。 次の表に、さまざまなテナントのデータボリュームとパーティションを示します。
テナントIDデータ量パーティション
キーアカウント13000 万p1
キーアカウント22600万人p2
キーアカウント32400万p3
キーアカウント42000 万p4
中小のお客様3000 万p_others
CREATE TABLE cust_orders
(
  customer_id VARCHAR(36) 、
  年VARCHAR(60) 、
  order_id INT,
  order_contentテキスト
) リストコラムによるパーティー (customer_id)
(
  PARTITION p1 VALUES IN ('Key account 1') 、
  PARTITION p2の値 (「キーアカウント2」) 、
  PARTITION p3 VALUES IN (「キーアカウント3」) 、
  PARTITION p4 VALUES IN (「キーアカウント4」) 、
  PARTITION p_othersデフォルトPARTITIONS 3
);