テーブルグループを作成すると、その情報を確認できます。これには、テーブルグループのSHARDING属性、テーブルグループ内のテーブル、テーブルグループの作成日時、およびテーブルグループ内のテーブルのLocation情報が含まれます。
テーブルグループのSHARDINGプロパティを確認する
ビューを使用したテーブルグループ属性とテーブルのパーティション情報の確認
システムテナントとMySQLユーザーテナントは、それぞれビュー CDB_OB_TABLEGROUPS とビュー DBA_OB_TABLEGROUPS を使用して、テーブルグループの SHARDING 属性およびテーブルグループ内のテーブルのパーティション情報を確認できます。ステートメントは以下のとおりです。
システムテナント
SELECT * FROM oceanbase.CDB_OB_TABLEGROUPS WHERE tablegroup_name = 'tblgroup1';クエリ結果は次のとおりです:
+-----------+-----------------+-------------------+----------------------+-----------------+------------------------+------------------------+---------------------------+----------+ | TENANT_ID | TABLEGROUP_NAME | PARTITIONING_TYPE | SUBPARTITIONING_TYPE | PARTITION_COUNT | DEF_SUBPARTITION_COUNT | PARTITIONING_KEY_COUNT | SUBPARTITIONING_KEY_COUNT | SHARDING | +-----------+-----------------+-------------------+----------------------+-----------------+------------------------+------------------------+---------------------------+----------+ | 1002 | tblgroup1 | NONE | NONE | NULL | NULL | NULL | NULL | ADAPTIVE | | 1004 | TBLGROUP1 | NONE | NONE | NULL | NULL | NULL | NULL | NONE | +-----------+-----------------+-------------------+----------------------+-----------------+------------------------+------------------------+---------------------------+----------+ 2 rows in setMySQLユーザーテナント
SELECT * FROM oceanbase.DBA_OB_TABLEGROUPS WHERE tablegroup_name = 'tblgroup1';クエリ結果は次のとおりです:
+-----------------+-------------------+----------------------+-----------------+------------------------+------------------------+---------------------------+----------+ | TABLEGROUP_NAME | PARTITIONING_TYPE | SUBPARTITIONING_TYPE | PARTITION_COUNT | DEF_SUBPARTITION_COUNT | PARTITIONING_KEY_COUNT | SUBPARTITIONING_KEY_COUNT | SHARDING | +-----------------+-------------------+----------------------+-----------------+------------------------+------------------------+---------------------------+----------+ | tblgroup1 | NONE | NONE | NULL | NULL | NULL | NULL | ADAPTIVE | +-----------------+-------------------+----------------------+-----------------+------------------------+------------------------+---------------------------+----------+ 1 row in set
クエリ結果の各フィールドの説明は以下のとおりです:
TENANT_ID:テーブルグループが属するテナント名。TABLEGROUP_NAME:テーブルグループ名。PARTITIONING_TYPE、SUBPARTITIONING_TYPE、PARTITION_COUNT、DEF_SUBPARTITION_COUNT、PARTITIONING_KEY_COUNT、SUBPARTITIONING_KEY_COUNT:V3.xバージョンでパーティション定義を持つテーブルグループの属性です。現在のバージョンではNONEまたはNULLと表示されます。SHARDING:テーブルグループのSHARDING属性。SHARDING属性がNONEのテーブルグループでは、テーブルグループ内のすべてのテーブルのすべてのパーティションが同一マシンに集約されており、テーブルグループへの参加制限はありません。SHARDING属性がPARTITIONのテーブルグループでは、テーブルグループ内の各テーブルのデータはパーティション単位で分散されます。サブパーティションテーブルの場合、パーティション内のすべてのサブパーティションがまとめられます。参加要件:テーブルグループに参加するテーブルの対応するパーティションは、テーブルグループ内のすべてのテーブルのパーティション定義(パーティションタイプ、パーティション数、パーティション値を含む)と一致している必要があります。
SHARDING属性がADAPTIVEのテーブルグループでは、テーブルグループ内の各テーブルのデータは適応型方式で分散されます。つまり、テーブルグループ内のテーブルがパーティションテーブルの場合はパーティション単位で、サブパーティションテーブルの場合は各パーティションのサブパーティション単位で分散されます。参加要件:テーブルグループに参加するテーブルの対応するパーティションとサブパーティションは、テーブルグループ内のすべてのテーブルのパーティションとサブパーティションの定義(パーティションタイプ、パーティション数、パーティション値を含む)と一致している必要があります。
SHOW TABLEGROUPSステートメントを使用してテーブルグループの属性とテーブルが属するデータベースを確認する
システムテナントとMySQLユーザーテナントは、SHOW TABLEGROUPS ステートメントを使用して、テーブルグループ内のテーブルが属するデータベースおよびテーブルグループの SHARDING 属性を確認できます。
SHOW TABLEGROUPS WHERE tablegroup_name = 'tblgroup1';
クエリ結果は次のとおりです:
+-----------------+------------+---------------+----------+
| Tablegroup_name | Table_name | Database_name | Sharding |
+-----------------+------------+---------------+----------+
| tblgroup1 | tbl3 | test | ADAPTIVE |
+-----------------+------------+---------------+----------+
1 row in set
クエリ結果の各フィールドの説明は以下のとおりです:
Tablegroup_name:テーブルグループ名。Table_name:テーブルグループ内のテーブル名。Database_name:テーブルグループ内のテーブルが属するデータベース。Sharding:テーブルグループのSHARDING属性。SHARDING属性がNONEのテーブルグループでは、テーブルグループ内のすべてのテーブルのすべてのパーティションが同一マシンに集約され、テーブルグループへのテーブルの追加に制限はありません。SHARDING属性がPARTITIONのテーブルグループでは、テーブルグループ内の各テーブルのデータはパーティション単位で分散されます。サブパーティションテーブルの場合、パーティション内のすべてのサブパーティションがまとめられます。加入要件:テーブルグループに追加するテーブルの対応するパーティションは、テーブルグループ内のすべてのテーブルのパーティション定義(パーティションタイプ、パーティション数、パーティション値を含む)と一致している必要があります。
SHARDING属性がADAPTIVEのテーブルグループでは、テーブルグループ内の各テーブルのデータは適応型方式で分散されます。つまり、テーブルグループ内のテーブルがパーティションテーブルの場合はパーティション単位で、サブパーティションテーブルの場合は各パーティションのサブパーティション単位で分散されます。加入要件:テーブルグループに追加するテーブルの対応するパーティションとサブパーティションは、テーブルグループ内のすべてのテーブルのパーティションとサブパーティションの定義(パーティションタイプ、パーティション数、パーティション値を含む)と一致している必要があります。
テーブルグループ内のテーブルの確認
システムテナントとMySQLユーザーテナントは、それぞれビュー CDB_OB_TABLEGROUP_TABLES およびビュー DBA_OB_TABLEGROUP_TABLES を使用して、テーブルグループ内に存在するテーブルとそのデータベースを確認できます。ステートメントは以下のとおりです。
システムテナント
SELECT * FROM oceanbase.CDB_OB_TABLEGROUP_TABLES WHERE tablegroup_name = 'tblgroup1';クエリ結果は次のとおりです:
+-----------+-----------------+-------+------------+----------+ | TENANT_ID | TABLEGROUP_NAME | OWNER | TABLE_NAME | SHARDING | +-----------+-----------------+-------+------------+----------+ | 1002 | tblgroup1 | test | tbl3 | ADAPTIVE | | 1004 | TBLGROUP1 | SYS | TBL3 | NONE | +-----------+-----------------+-------+------------+----------+ 2 rows in setMySQLユーザーテナント
SELECT * FROM oceanbase.DBA_OB_TABLEGROUP_TABLES WHERE tablegroup_name = 'tblgroup1';クエリ結果は次のとおりです:
+-----------------+-----------+------------+----------+ | TABLEGROUP_NAME | OWNER | TABLE_NAME | SHARDING | +-----------------+-----------+------------+----------+ | tblgroup1 | test | tbl3 | ADAPTIVE | +-----------------+-----------+------------+----------+ 1 row in set
クエリ結果の各フィールドの説明は以下のとおりです:
TENANT_ID:テーブルグループが属するテナント名。TABLEGROUP_NAME:テーブルグループ名。OWNER:テーブルグループ内のテーブルが属するデータベース。TABLE_NAME:テーブルグループ内のテーブル名。SHARDING:テーブルグループのSHARDING属性。SHARDING属性がNONEのテーブルグループでは、テーブルグループ内のすべてのテーブルのすべてのパーティションが同一マシンに集約され、テーブルグループへのテーブルの追加に制限はありません。SHARDING属性がPARTITIONのテーブルグループでは、テーブルグループ内の各テーブルのデータはパーティション単位で分散されます。サブパーティションテーブルの場合、パーティション内のすべてのサブパーティションがまとめられます。加入要件:テーブルグループに追加するテーブルの対応するパーティションは、テーブルグループ内のすべてのテーブルのパーティション定義(パーティションタイプ、パーティション数、パーティション値を含む)と一致している必要があります。
SHARDING属性がADAPTIVEのテーブルグループでは、テーブルグループ内の各テーブルのデータは適応型方式で分散されます。つまり、テーブルグループ内のテーブルがパーティションテーブルの場合はパーティション単位で、サブパーティションテーブルの場合は各パーティションのサブパーティション単位で分散されます。加入要件:テーブルグループに追加するテーブルの対応するパーティションとサブパーティションは、テーブルグループ内のすべてのテーブルのパーティションとサブパーティションの定義(パーティションタイプ、パーティション数、パーティション値を含む)と一致している必要があります。
テーブルグループの作成日時を確認する
システムテナントとMySQLユーザーテナントは、それぞれビューCDB_OBJECTSとビューDBA_OBJECTSを使用して、テーブルグループの作成日時や直近のDDL操作などの情報を確認できます。
システムテナント
SELECT OBJECT_NAME,CREATED, LAST_DDL_TIME FROM oceanbase.CDB_OBJECTS WHERE object_name = 'tblgroup1';クエリ例:
+-------------+---------------------+---------------------+ | OBJECT_NAME | CREATED | LAST_DDL_TIME | +-------------+---------------------+---------------------+ | tblgroup1 | 2023-06-27 14:58:53 | 2023-06-27 15:15:54 | | TBLGROUP1 | 2023-06-27 15:25:30 | 2023-06-27 15:25:30 | +-------------+---------------------+---------------------+ 2 rows in setMySQLユーザーテナント
SELECT OBJECT_NAME,CREATED, LAST_DDL_TIME FROM oceanbase.DBA_OBJECTS WHERE object_name = 'tblgroup1';クエリ例:
+-------------+---------------------+---------------------+ | OBJECT_NAME | CREATED | LAST_DDL_TIME | +-------------+---------------------+---------------------+ | tblgroup1 | 2023-06-27 14:58:53 | 2023-06-27 15:15:54 | +-------------+---------------------+---------------------+ 1 row in set
クエリ結果に含まれる一部のフィールドの説明は以下のとおりです:
OBJECT_NAME:オブジェクト名、つまり現在クエリ対象のテーブルグループ名です。CREATED:テーブルグループの作成日時です。LAST_DDL_TIME:直近に実行されたDDL操作の時間です。
テーブルグループ内のテーブルのLocation情報を確認する
システムテナントとMySQLユーザーテナントは、ビューDBA_OB_TABLE_LOCATIONSを使用して、テーブルグループ内のテーブルのLocation情報を確認できます。これには、テーブル内の各パーティション(PARTITION_NAME)に対応するシャード(TABLET_ID)、シャード(TABLET_ID)とログストリーム(LS_ID)のマッピング関係、およびログストリームレプリカの位置情報などが含まれます。
SELECT * FROM oceanbase.DBA_OB_TABLE_LOCATIONS WHERE tablegroup_name = 'tblgroup1';
クエリ結果は次のとおりです:
+---------------+------------+----------+------------+----------------+-------------------+------------+---------------+-----------+-------+-------+----------------+----------+----------+--------------+-----------------+-----------+-----------------+---------------+----------+
| DATABASE_NAME | TABLE_NAME | TABLE_ID | TABLE_TYPE | PARTITION_NAME | SUBPARTITION_NAME | INDEX_NAME | DATA_TABLE_ID | TABLET_ID | LS_ID | ZONE | SVR_IP | SVR_PORT | ROLE | REPLICA_TYPE | DUPLICATE_SCOPE | OBJECT_ID | TABLEGROUP_NAME | TABLEGROUP_ID | SHARDING |
+---------------+------------+----------+------------+----------------+-------------------+------------+---------------+-----------+-------+-------+----------------+----------+----------+--------------+-----------------+-----------+-----------------+---------------+----------+
| test | tbl3 | 500089 | USER TABLE | p0 | mp0 | NULL | NULL | 200055 | 1001 | zone1 | xx.xx.xx.197 | 2882 | LEADER | FULL | NONE | 500092 | tblgroup1 | 500083 | ADAPTIVE |
| test | tbl3 | 500089 | USER TABLE | p0 | mp0 | NULL | NULL | 200055 | 1001 | zone2 | xx.xx.xx.194 | 2882 | FOLLOWER | FULL | NONE | 500092 | tblgroup1 | 500083 | ADAPTIVE |
| test | tbl3 | 500089 | USER TABLE | p0 | mp1 | NULL | NULL | 200056 | 1001 | zone1 | xx.xx.xx.197 | 2882 | LEADER | FULL | NONE | 500093 | tblgroup1 | 500083 | ADAPTIVE |
| test | tbl3 | 500089 | USER TABLE | p0 | mp1 | NULL | NULL | 200056 | 1001 | zone2 | xx.xx.xx.194 | 2882 | FOLLOWER | FULL | NONE | 500093 | tblgroup1 | 500083 | ADAPTIVE |
| test | tbl3 | 500089 | USER TABLE | p0 | mp2 | NULL | NULL | 200057 | 1001 | zone1 | xx.xx.xx.197 | 2882 | LEADER | FULL | NONE | 500094 | tblgroup1 | 500083 | ADAPTIVE |
| test | tbl3 | 500089 | USER TABLE | p0 | mp2 | NULL | NULL | 200057 | 1001 | zone2 | xx.xx.xx.194 | 2882 | FOLLOWER | FULL | NONE | 500094 | tblgroup1 | 500083 | ADAPTIVE |
| test | tbl3 | 500089 | USER TABLE | p1 | mp3 | NULL | NULL | 200058 | 1001 | zone1 | xx.xx.xx.197 | 2882 | LEADER | FULL | NONE | 500095 | tblgroup1 | 500083 | ADAPTIVE |
| test | tbl3 | 500089 | USER TABLE | p1 | mp3 | NULL | NULL | 200058 | 1001 | zone2 | xx.xx.xx.194 | 2882 | FOLLOWER | FULL | NONE | 500095 | tblgroup1 | 500083 | ADAPTIVE |
| test | tbl3 | 500089 | USER TABLE | p1 | mp4 | NULL | NULL | 200059 | 1001 | zone1 | xx.xx.xx.197 | 2882 | LEADER | FULL | NONE | 500096 | tblgroup1 | 500083 | ADAPTIVE |
| test | tbl3 | 500089 | USER TABLE | p1 | mp4 | NULL | NULL | 200059 | 1001 | zone2 | xx.xx.xx.194 | 2882 | FOLLOWER | FULL | NONE | 500096 | tblgroup1 | 500083 | ADAPTIVE |
| test | tbl3 | 500089 | USER TABLE | p1 | mp5 | NULL | NULL | 200060 | 1001 | zone1 | xx.xx.xx.197 | 2882 | LEADER | FULL | NONE | 500097 | tblgroup1 | 500083 | ADAPTIVE |
| test | tbl3 | 500089 | USER TABLE | p1 | mp5 | NULL | NULL | 200060 | 1001 | zone2 | xx.xx.xx.194 | 2882 | FOLLOWER | FULL | NONE | 500097 | tblgroup1 | 500083 | ADAPTIVE |
+---------------+------------+----------+------------+----------------+-------------------+------------+---------------+-----------+-------+-------+----------------+----------+----------+--------------+-----------------+-----------+-----------------+---------------+----------+
12 rows in set
クエリ結果の各フィールドの説明は以下のとおりです:
DATABASE_NAME:テーブルグループ内のテーブルが属するデータベース名。TABLE_NAME:テーブルグループ内のテーブル名。TABLE_ID:テーブルグループ内のテーブルID。TABLE_TYPE:テーブルグループ内のテーブルタイプ。USER TABLE:ユーザーテーブルSYSTEM TABLE:システムテーブル、システムが作成したテーブルINDEX:インデックステーブルLOB AUX TABLE:LOB補助テーブル、システムが作成したテーブルで、LOB列の実装を補助するために使用されます
PARTITION_NAME:パーティション名。非パーティションテーブルの場合はNULLを返します。SUBPARTITION_NAME:サブパーティション名。NULLはサブパーティションが存在しないことを示します。INDEX_NAME:インデックステーブルの場合はインデックステーブル名を表示し、それ以外の場合はNULLを表示します。DATA_TABLE_ID:インデックステーブルまたはLOB補助テーブルの場合は、それらが属するメインテーブルのIDを示します。それ以外の場合はNULLを表示します。TABLET_ID:パーティションに対応するシャードID。LS_ID:テーブルグループ内のテーブルが存在するログストリーム。ZONE:レプリカが存在するゾーン。SVR_IP:レプリカが存在するOBServerノードのIPアドレス情報。SVR_PORT:レプリカが存在するOBServerノードのポート番号。ROLE:ログストリームレプリカのロール。REPLICA_TYPE:ログストリームレプリカのタイプ。FULL:フル機能レプリカREADONLY:読み取り専用レプリカCOLUMNSTORE:カラムストアレプリカ
OBJECT_ID:テーブルグループ内のテーブルが非パーティションテーブルの場合はそのIDを示し、パーティションテーブルの場合は各パーティションのIDを示します。TABLEGROUP_NAME:クエリ対象のテーブルグループ名。TABLEGROUP_ID:クエリ対象のテーブルグループID。SHARDING:テーブルグループのSHARDING属性。SHARDING属性がNONEのテーブルグループでは、テーブルグループ内のすべてのテーブルのすべてのパーティションが同一マシンに集約されており、テーブルグループへのテーブルの追加に制限はありません。SHARDING属性がPARTITIONのテーブルグループでは、テーブルグループ内の各テーブルのデータはパーティション単位で分散されます。サブパーティションテーブルの場合、パーティション内のすべてのサブパーティションがまとめられます。加入要件:テーブルグループに加入するテーブルの対応するパーティションは、テーブルグループ内のすべてのテーブルのパーティション定義(パーティションタイプ、パーティション数、パーティション値を含む)と一致している必要があります。
SHARDING属性がADAPTIVEのテーブルグループでは、テーブルグループ内の各テーブルのデータは適応型方式で分散されます。つまり、テーブルグループ内のテーブルがパーティションテーブルの場合はパーティション単位で、サブパーティションテーブルの場合は各パーティションのサブパーティション単位で分散されます。加入要件:テーブルグループに加入するテーブルの対応するパーティションとサブパーティションは、テーブルグループ内のすべてのテーブルのパーティションとサブパーティションの定義(パーティションタイプ、パーティション数、パーティション値を含む)と一致している必要があります。