本記事では、OceanBaseにおけるパーティションテーブルの構造設計に関する推奨事項を紹介します。
パーティションテーブル作成時の注意点
データ量が非常に多く、アクセスが集中している場合は、テーブル作成時にパーティションテーブルを使用できます。
パーティションテーブル制約の注意点
パーティションテーブルを作成する際、テーブルの各主キー、一意キーに対応するフィールドのうち、少なくとも1つのフィールドがテーブルのパーティションキーに含まれている必要があります。
パーティションテーブル内のグローバル一意性は、可能であれば主キーによって実現することを推奨します。
パーティション戦略については、テーブルの実際の用途と適用シナリオに基づいて設計することを推奨します。
実際の用途:履歴テーブル、明細テーブル。
適用シナリオ:アクセスのホットスポットが明確に存在するテーブル。
パーティションキーの選択については、パーティションテーブルを使用する際に適切な分割キーと分割戦略を選択する必要があります。ここでは、パーティションタイプの選択に関する基本的な推奨事項のみを述べます。詳細については、パーティションテーブルの作成と管理を参照してください。
hashパーティション:区別度が高く、クエリ条件に最も頻繁に現れるフィールドをhashパーティションのパーティションキーとして選択します。
rangeおよびlistパーティション:業務ルールに基づいて適切なフィールドをパーティションキーとして選択しますが、パーティション数が少なすぎないようにします。例:ログ型の大規模テーブルの場合、時間型の列に基づいてrangeパーティションを作成します。
パーティションの使用制限についてです。
hashパーティションでは、パーティションフィールドに基づく範囲クエリには適していません。