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