業務ニーズに応じて、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':テーブルグループに追加されるすべてのテーブルについて、その対応するパーティションの定義が、テーブルグループ内のすべてのテーブルのパーティションの定義と一致している必要があります。これには、パーティションタイプ、パーティション数、パーティション値が含まれます。同一のパーティション定義とは具体的には以下を指します:
- パーティションタイプが同一であること。例えば、どちらもRangeパーティションである場合。
- Hashパーティションの場合、参照する列数とパーティション数が同一であること。
- Rangeパーティションの場合、参照する列数とパーティション数が同一であり、Range分割ポイントも同一であること。
SHARDING = 'ADAPTIVE':テーブルグループに追加されるすべてのテーブルについて、その対応するパーティションとサブパーティションの定義が、テーブルグループ内のすべてのテーブルのパーティションとサブパーティションの定義と一致している必要があります。これには、パーティションタイプ、パーティション数、パーティション値が含まれます。同一のパーティション定義とは具体的には以下を指します:
- パーティションタイプが同一であること。例えば、どちらもHash + Rangeパーティションである場合。
- Hashパーティションの場合、参照する列数とパーティション数が同一であること。
- Rangeパーティションの場合、参照する列数とパーティション数が同一であり、Range分割ポイントも同一であること。
- サブパーティションについては、そのパーティションタイプに基づき、パーティションと同様の要件が適用されます。
テーブルグループを作成する例は次のとおりです:
CREATE TABLEGROUP tblgroup1 SHARDING = 'NONE';
次のステップ
テーブルグループを作成した後、条件を満たす既存のテーブルをテーブルグループに追加できます。具体的な操作については、テーブルをテーブルグループに追加するを参照してください。