Metatables
About metatables
The metatables are tables that are used for checking metadata of data management in GridDB.
[Memo]
- Metatables can only be referred. It is not allowed to register or delete data in the metatables.
- When SELECT data from the metatables, it is necessary to enclose the table name with double quotation marks.
[Points to note]
- The schema of metatables may be changed in future version.
Table information
Table information can be obtained.
Table name
#tables
Schema
| Column name | Item | Type |
|---|---|---|
| DATABASE_NAME | Database name | STRING |
| TABLE_NAME | Table name | STRING |
| TABLE_OPTIONAL_TYPE | Table type COLLECTION / TIMESERIES | STRING |
| DATA_AFFINITY | Data affinity | STRING |
| EXPIRATION_TIME | Expiry release elapsed time | INTEGER |
| EXPIRATION_TIME_UNIT | Expiry release elapsed time unit | STRING |
| EXPIRATION_DIVISION_COUNT | Expiry release division count | STRING |
| COMPRESSION_METHOD | Time series compression method | STRING |
| COMPRESSION_WINDOW_SIZE | Time series compression max period of thinning | INTEGER |
| COMPRESSION_WINDOW_SIZE_UNIT | Time series compression max period unit of thinning | STRING |
| PARTITION_TYPE | Partitioning type | STRING |
| PARTITION_COLUMN | Partitioning key | STRING |
| PARTITION_INTERVAL_VALUE | Interval value (For interval or interval hash) | INTEGER |
| PARTITION_INTERVAL_UNIT | Interval unit (For interval of interval hash) | STRING |
| PARTITION_DIVISION_COUNT | Division count (For hash) | INTEGER |
| SUBPARTITION_TYPE | Partitioning type ("Hash" for interval hash) | STRING |
| SUBPARTITION_COLUMN | Partitioning key (for interval hash) | STRING |
| SUBPARTITION_INTERVAL_VALUE | Interval value | INTEGER |
| SUBPARTITION_INTERVAL_UNIT | Interval unit | STRING |
| SUBPARTITION_DIVISION_COUNT | Division count (For interval hash) | INTEGER |
| EXPIRATION_TYPE | Expiration type ROW / PARTITION | STRING |
Index information
Index information can be obtained.
Table name
#index_info
Schema
| Column name | Item | Item |
|---|---|---|
| DATABASE_NAME | Database name | STRING |
| TABLE_NAME | Table name | STRING |
| INDEX_NAME | Index name | STRING |
| INDEX_TYPE | Index type TREE / HASH / SPATIAL | STRING |
| ORDINAL_POSITION | Column order in index (sequential number from 1) | SHORT |
| COLUMN_NAME | Column name | STRING |
Partitioning information
Data about partitioned tables can be obtained from this metatable.
Table name
#table_partitions
Schema
| Column name | Item | Type |
|---|---|---|
| DATABASE_NAME | Database name | STRING |
| TABLE_NAME | Partitioned table name | STRING |
| PARTITION_BOUNDARY_VALUE | The lower limit value of each data partition | STRING |
Specifications
- Each row represents the information of a data partition.
- For example, when searching rows of a hash partitioned table in which the division count is 128, the number of rows displayed will be 128.
- In the metatable "#table_partitions", the other columns may be displayed besides the above columns.
- It is required to cast the lower limit value to the partitioning key type for sorting by the lower limit value.
Examples
Check the number of data partitions
shSELECT COUNT(*) FROM "#table_partitions" WHERE TABLE_NAME='myIntervalPartition'; COUNT(*) ----------------------------------- 8703Check the lower limit value of each data partition
shSELECT PARTITION_BOUNDARY_VALUE FROM "#table_partitions" WHERE TABLE_NAME='myIntervalPartition' ORDER BY PARTITION_BOUNDARY_VALUE; PARTITION_BOUNDARY_VALUE ----------------------------------- 2016-10-30T10:00:00Z 2017-01-29T10:00:00Z :Check the lower limit value of each data partitions on the interval partitioned table "myIntervalPartition2" (partitioning key type: INTEGER, interval value: 20000)
shSELECT CAST(PARTITION_BOUNDARY_VALUE AS INTEGER) V FROM "#table_partitions" WHERE TABLE_NAME='myIntervalPartition2' ORDER BY V; PARTITION_BOUNDARY_VALUE ----------------------------------- -5000 15000 35000 55000 :
View information
View information can be obtained.
Table name
#views
Schema
| Column name | Item | Type |
|---|---|---|
| DATABASE_NAME | Database name | STRING |
| VIEW_NAME | View name | STRING |
| VIEW_DEFINITION | View defining character string | STRING |
Information about an SQL in execution
The information about SQL , a query or a job, under execution can be obtained.
Table name
#sqls
Schema
| Column name | Item | Type |
|---|---|---|
| DATABASE_NAME | Database name | STRING |
| NODE_ADDRESS | address of the node being processed (system) | STRING |
| NODE_PORT | The port of the node being processed (system) | INTEGER |
| START_TIME | Processing start time | TIMESTAMP |
| APPLICATION_NAME | Application name | STRING |
| SQL | Query character string | STRING |
| QUERY_ID | Query ID | STRING |
| JOB_ID | Job ID | STRING |
Information about an event in execution
The information about the event under execution can be obtained.
Table name
#events
Schema
| Column name | Item | Type |
|---|---|---|
| NODE_ADDRESS | address of the node being processed (system) | STRING |
| NODE_PORT | The port of the node being processed (system) | INTEGER |
| START_TIME | Processing start time | TIMESTAMP |
| APPLICATION_NAME | Application name | STRING |
| SERVICE_TYPE | Service type (SQL/TRANSACTION/CHECKPOINT/SYNC) | STRING |
| EVENT_TYPE | Event types (PUT/CP_START/SYNC_START etc.) | STRING |
| WORKER_INDEX | Thread number of a worker | INTEGER |
| CLUSTER_PARTITION_INDEX | Cluster partition number | INTEGER |
Connection information
The information about the connected connection can be obtained.
Table name
#sockets
Schema
| Column name | Item | Type |
|---|---|---|
| SERVICE_TYPE | Service type (SQL/TRANSACTION) | STRING |
| SOCKET_TYPE | Socket type | STRING |
| NODE_ADDRESS | Connection source node address (viewed from a node) | STRING |
| NODE_PORT | Connection source node port (viewed from a node) | INTEGER |
| REMOTE_ADDRESS | Connection destination node address (viewed from a node) | STRING |
| REMOTE_PORT | Connection destination node port (viewed from a node) | INTEGER |
| APPLICATION_NAME | Application name | STRING |
| CREATION_TIME | Socket generation time | TIMESTAMP |
| DISPATCHING_EVENT_COUNT | Total number of times to start request for event handling | LONG |
| SENDING_EVENT_COUNT | Total number of times to start event transmission | LONG |
the socket types are as follows.
| Value | Description |
|---|---|
| SERVER | TCP connection between servers |
| CLIENT | TCP connection with a client |
| MULTICAST | Multicasting socket |
| NULL | In case currently unidentified during the cases such as connection attempt |
Examples
Only in case of TCP connection with a client (socket type: CLIENT), it can be determined whether the connection is waiting for execution.
Specifically, if DISPATCHING_EVENT_COUNT is larger than SENDING_EVENT_COUNT, it can be determine that the possibility is relatively high that the time waiting for execution existed.
SELECT CREATION_TIME, NODE_ADDRESS, NODE_PORT, APPLICATION_NAME FROM "#sockets"
WHERE SOCKET_TYPE='CLIENT' AND DISPATCHING_EVENT_COUNT > SENDING_EVENT_COUNT;
CREATION_TIME NODE_ADDRESS NODE_PORT APPLICATION_NAME
--------------------------------------------------------------------
2019-03-27T11:30:57.147Z 192.168.56.71 20001 myapp
2019-03-27T11:36:37.352Z 192.168.56.71 20001 myapp
: