Management #
Data Structure in Registry Center #
Under defined namespace, rules
, props
and metadata
nodes persist in YAML, and modifying nodes can dynamically refresh configurations. nodes
node persist the runtime node of database access object, to distinguish different database access instances.
namespace
├──rules # Global rule configuration
├──props # Properties configuration
├──metadata # Metadata configuration
├ ├──${databaseName} # Datasource configuration
├ ├ ├──schemas # Schema list
├ ├ ├ ├──${schemaName} # Schema name
├ ├ ├ ├ ├──tables # Tables configuration
├ ├ ├ ├ ├ ├──${tableName}
├ ├ ├ ├ ├ ├──...
├ ├ ├ ├ ├──views # views configuration
├ ├ ├ ├ ├ ├──${viewName}
├ ├ ├ ├ ├ ├──...
├ ├ ├ ├──...
├ ├ ├──versions # Metadata version list
├ ├ ├ ├──${versionNumber} # Metadata version number
├ ├ ├ ├ ├──data_sources # Datasource configuration
├ ├ ├ ├ ├──rules # Rules configuration
├ ├ ├ ├──...
├ ├ ├──active_version # Activated metadata version number
├ ├──...
├──nodes
├ ├──compute_nodes
├ ├ ├──online
├ ├ ├ ├──proxy
├ ├ ├ ├ ├──UUID # Proxy instance unique identification
├ ├ ├ ├ ├──....
├ ├ ├ ├──jdbc
├ ├ ├ ├ ├──UUID # JDBC instance unique identification
├ ├ ├ ├ ├──....
├ ├ ├──status
├ ├ ├ ├──UUID
├ ├ ├ ├──....
├ ├ ├──worker_id
├ ├ ├ ├──UUID
├ ├ ├ ├──....
├ ├ ├──process_trigger
├ ├ ├ ├──process_list_id:UUID
├ ├ ├ ├──....
├ ├ ├──labels
├ ├ ├ ├──UUID
├ ├ ├ ├──....
├ ├ ├──xa_recovery_id
├ ├ ├ ├──UUID
├ ├ ├ ├ ├──├──UUID
├ ├──storage_nodes
├ ├ ├──${databaseName.groupName.ds}
├ ├ ├──${databaseName.groupName.ds}
├──sys_data
├ ├──shardingsphere
├ ├ ├──schemas
├ ├ ├ ├──shardingsphere
├ ├ ├ ├ ├──tables # system table
├ ├ ├ ├ ├ ├──sharding_table_statistics # Fragment table data
├ ├ ├ ├ ├ ├ ├──8a2dcb0d97c3d86ef77b3d4651a1d7d0 # md5
├ ├ ├ ├ ├ ├──cluster_information # Cluster information table
/rules #
Global rule configuration, which can include transaction configuration, SQL parser configuration, etc.
- !TRANSACTION
defaultType: XA
providerType: Atomikos
- !SQL_PARSER
sqlCommentParseEnabled: true
/props #
Properties configuration. Please refer to Configuration Manual for more details.
kernel-executor-size: 20
sql-show: true
/metadata/${schemaName}/dataSources #
A collection of multiple database connection pools, whose properties (e.g. DBCP, C3P0, Druid and HikariCP) are configured by users themselves.
ds_0:
initializationFailTimeout: 1
validationTimeout: 5000
maxLifetime: 1800000
leakDetectionThreshold: 0
minimumIdle: 1
password: root
idleTimeout: 60000
jdbcUrl: jdbc:mysql://127.0.0.1:3306/ds_0?serverTimezone=UTC&useSSL=false
dataSourceClassName: com.zaxxer.hikari.HikariDataSource
maximumPoolSize: 50
connectionTimeout: 30000
username: root
poolName: HikariPool-1
ds_1:
initializationFailTimeout: 1
validationTimeout: 5000
maxLifetime: 1800000
leakDetectionThreshold: 0
minimumIdle: 1
password: root
idleTimeout: 60000
jdbcUrl: jdbc:mysql://127.0.0.1:3306/ds_1?serverTimezone=UTC&useSSL=false
dataSourceClassName: com.zaxxer.hikari.HikariDataSource
maximumPoolSize: 50
connectionTimeout: 30000
username: root
poolName: HikariPool-2
/metadata/${schemaName}/rules #
Rule configurations, including sharding, read/write splitting, data encryption, shadow DB configurations.
- !SHARDING
xxx
- !READWRITE_SPLITTING
xxx
- !ENCRYPT
xxx
/metadata/${schemaName}/tables #
Use separate node storage for each table, dynamic modification of metadata content is not supported currently.
name: t_order # Table name
columns: # Columns
id: # Column name
caseSensitive: false
dataType: 0
generated: false
name: id
primaryKey: trues
order_id:
caseSensitive: false
dataType: 0
generated: false
name: order_id
primaryKey: false
indexs: # Index
t_user_order_id_index: # Index name
name: t_user_order_id_index
/nodes/compute_nodes #
It includes running instance information of database access object, with sub-nodes as the identifiers of currently running instance, which consist of IP and PORT.
Those identifiers are temporary nodes, which are registered when instances are online and cleared when instances are offline. The registry center monitors the change of those nodes to govern the database access of running instances and other things.
/nodes/storage_nodes #
It is able to orchestrate replica database, delete or disable data dynamically.