五个方面介绍热璞数据库HotDB基础功能,:
连接池、建库建表、全局序列、分片路由、字符集
连接池
HotDB Server提供应用连接池,为应用统一的连接池管理,资源重用,增加相应速度;提供后端数据库连接池,计算节点启动及运行过程中会与存储节点之间建立连接,为数据库提供统一的连接池管理,支持 MySQL协议及JDBC,支持主流MySQL版本 : MySQL 5.6 、MySQL 5.7 、MySQL 8.0 ,详见下图。
计算节点通过四个参数进行后端连接池管理: 最大连接数 、 初始连接数 、 最小空闲 连接数、 最大空闲连接数 。 当定时检测线程发现连接池里面空闲连接小于最小空闲,创建连接;大于最大空闲,关闭连接。即:最小空闲≤连接池的空闲连接个数≤最大空闲,最大、最小空闲连接数主要控制连接池内的空闲连接数在一定范围内。
支持 MySQL 5.6 、MySQL 5.7 、MySQL 8.0 等主流版本。
1.1.1. 建库建表****
要求:创建逻辑库,提供对创建 /修改/删除表、创建/删除索引、表分区创建/删除等DDL语句的全支持,并且支持在线表结构变更及做到对业务无阻塞。(提供相关证明材料)
应答:HotDB支持创建 /修改/删除表、创建/删除索引、表分区创建/删除等DDL语句 ;支持通过管理平台的在线D DL 功能进行在线表结构变更,实现对业务无阻塞。
创建逻辑库
编辑表信息
创建普通索引
创建唯一索引
创建表分区
HotDB提供可视化管理平台的在线变更表结构功能,能够在对表进行变更操作时, H otDB会首先复制出目标表结构,新表执行DDL操作,然后复制出新表的数据,然后使用HotDB的Hold住功能保持现有连接,将新表替换为旧表,释放被Hold住的连接,整个过程不影响业务。
HotDB管理平台支持界面输入执行OnlineDDL功能,保证在进行表变更时,不会堵塞线上业务读写,数据库表依然能正常对外提供访问。并且所有正在执行的或执行完成的变更记录可在在线变更检测页面查看。
可参考测试报告:动态增加字段为示例,验证在线创建、修改索引、表分区等不阻塞业务。
1.1.1. 全局序列
HotDB Server 支持完全透明的序列服务,无须任何配置或人工干涉,与 MySQL数据库单库的自增序列 功能相同,证明材料如下: ****
在分布式架构下,可保证具有AUTO_INCREMENT属性的列在各个数据节点上全局自增。透明全局自增序列使用方法与MySQL的AUTO_INCREMENT相同,目前透明全局自增序列 (1) 创建水平分片表mb _sequence 。
可保证该字段全局有序递增,但是不保证序列值的连续性。
测试步骤:
(1) 在管理平台的计算节点参数配置页面开启全局自增序列。
(1) 创建水平分片表mb _sequence 。
(1) 向mb_sequence表中写入50条数据。
(1) 执行show create table mb_sequenceG;可以看到下一个自增值为51,即为下一个能被使用的自增号。
(1) 故障跳号后的自增序列值为挑号30万后的值,即300051。
测试结果:
(1) 新建的表中能够保证单调递增的全局序列;
(2) 自增序列与MySQL实现效果一致;
(3) 发生故障时,自增序列可自动跳号。
1.1.1. 分片路由
Hot DB Server 支持运用分片函数实时高效的计算出分片字段的值与数据节点之间的映射关系,并提供可视化管理平台的路由分片检测功能, 验证分片规则的正确性,插入的数据是否按照正确的分片规则进行路由,由其他分布式环境导入至集群的分片数据是否会有不一致的情况 ,如有不一致则通过管理平台显示具体不一致位置及正确位置,支持分析结果的导出。
1.1.1. 字符集****
HotDB Server支持字符集相关设置,目前可支持的字符集包括 utf8、utf8mb4、gbk、gb2312、latin1等,且支持区分大小写。
与字符集相关的语法如下,HotDB Server也可同步支持,功能同 MySQL 一致:
GBK 字符集