元数据 #
SphereEx-DBPlusEngine 是由一组无状态的计算节点和一个独立的治理中心所组成。后者正是承载集群元数据的地方。SphereEx-DBPlusEngine 支持多种治理中心实现,如常见的 ZooKeeper、Etcd 等。在治理中心的内部,采用层次化树形结构描述集群内元数据。
元数据结构 #
namespace
├──rules # 全局规则配置
├──props # 属性配置
├──scaling # 迁移任务信息
├──metadata # Metadata 配置
├ ├──${databaseName} # 逻辑数据库名称
├ ├ ├──schemas # Schema 列表
├ ├ ├ ├──${schemaName} # 逻辑 Schema 名称
├ ├ ├ ├ ├──tables # 表结构配置
├ ├ ├ ├ ├ ├──${tableName}
├ ├ ├ ├ ├ ├──...
├ ├ ├ ├ ├──views # 视图结构配置
├ ├ ├ ├ ├ ├──${viewName}
├ ├ ├ ├ ├ ├──...
├ ├ ├ ├──...
├ ├ ├──versions # 元数据版本列表
├ ├ ├ ├──${versionNumber} # 元数据版本号
├ ├ ├ ├ ├──data_sources # 数据源配置
├ ├ ├ ├ ├──rules # 规则配置
├ ├ ├ ├──...
├ ├ ├──active_version # 激活的元数据版本号
├ ├──...
├──nodes
├ ├──compute_nodes # 计算节点信息
├ ├ ├──online
├ ├ ├ ├──proxy
├ ├ ├ ├ ├──UUID # Proxy 实例唯一标识
├ ├ ├ ├ ├──....
├ ├ ├ ├──jdbc
├ ├ ├ ├ ├──UUID # JDBC 实例唯一标识
├ ├ ├ ├ ├──....
├ ├ ├──status
├ ├ ├ ├──UUID # 实例状态
├ ├ ├ ├──....
├ ├ ├──xa_recovery_id # Narayana 日志恢复列表
├ ├ ├ ├──recovery_id
├ ├ ├ ├ ├──UUID
├ ├ ├ ├──....
├ ├ ├──worker_id # 工作机器 ID 列表
├ ├ ├ ├──UUID
├ ├ ├ ├──....
├ ├ ├──process_trigger # Show processlist 任务
├ ├ ├ ├──process_list_id:UUID
├ ├ ├ ├──....
├ ├ ├──labels # 实例双路由列表
├ ├ ├ ├──UUID
├ ├ ├ ├──....
├ ├──storage_nodes # 存储节点信息
├ ├ ├──${databaseName.groupName.ds} # 存储节点的状态、角色
├ ├ ├──${databaseName.groupName.ds}