ビジネスニーズに応じて、SHARDING プロパティを持つテーブルグループを作成できます。
使用上の制限
OceanBaseデータベースのアップグレード中は、テーブルグループの作成を禁止します。
テーブルグループの作成
テーブルグループを作成するには、現在のユーザーがグローバルな CREATE (*.*) 権限を持っている必要があります。テーブルグループを作成するSQLステートメントは以下のとおりです:
CREATE TABLEGROUP tablegroup_name [tablegroup_option];
tablegroup_option:
SHARDING = 'NONE'
SHARDING = 'PARTITION'
SHARDING = 'ADAPTIVE'
ステートメントの使い方:
tablegroup_name:作成するテーブルグループ名。SHARDING:テーブルグループのプロパティ。異なるプロパティ値は、テーブルグループ内のテーブルに対する要件を異にします。SHARDINGプロパティを指定しない場合、デフォルトでSHARDING = 'ADAPTIVE'のテーブルグループが作成されます。SHARDING = 'NONE':テーブルグループに追加するテーブルに制限はありません。SHARDING = 'PARTITION':テーブルグループに追加するすべてのテーブルの対応するパーティション1は、テーブルグループ内のすべてのテーブルのパーティション1のパーティション定義(パーティションタイプ、パーティション数、パーティション値を含む)と一致している必要があります。同一のパーティション定義とは具体的には以下のことを指します:
- パーティションタイプが同じであること。例えば、どちらもRangeパーティションであること。
- Hashパーティションの場合、参照する列数とパーティション数が同じであること。
- Rangeパーティションの場合、参照する列数、パーティション数、Range分割点が同じであること。
SHARDING = 'ADAPTIVE':テーブルグループに追加するすべてのテーブルの対応するパーティション1とパーティション2は、テーブルグループ内のすべてのテーブルのパーティション1とパーティション2のパーティション定義(パーティションタイプ、パーティション数、パーティション値を含む)と一致している必要があります。同一のパーティション定義とは具体的には以下のことを指します:
- パーティションタイプが同じであること。例えば、どちらもHash + Rangeパーティションであること。
- Hashパーティションの場合、参照する列数とパーティション数が同じであること。
- Rangeパーティションの場合、参照する列数、パーティション数、Range分割点が同じであること。
- パーティション2については、そのパーティションタイプに基づき、パーティション1と同じ要件が適用されます。
テーブルグループの作成例は以下のとおりです:
CREATE TABLEGROUP tblgroup1 SHARDING = 'NONE';
次のステップ
テーブルグループを作成した後、条件に合致する既存のテーブルをテーブルグループに追加できます。具体的な操作については、テーブルをテーブルグループに追加するを参照してください。