国产分布式事务数据库HotDB 低调的品牌背后,是靠产品口碑积累起来的市场占有率,优秀的产品,卓越的产品功能值得细品。
下面就跟大家来一波功能详解
1.数据库基础服务
HotDB Server支持MySQL原生通讯协议,支持数据定义、数据操作、分区表、数据库管理语句、事务、锁、字符集与校对集等常用数据库基础服务。其中在数据操作中解决了跨库查询和跨库数据排序等难点问题。并支持强一致分布式事务与跨库死锁检测。
2.数据定义
支持常用的数据定义操作语句,如:CREATE\DROP\ALTER\RENAME\TRUNCATE等。同时支持关联已有分片规则直接CREATE业务表,而无需在管理平台上对表事先进行定义。
2.数据操作
跨节点SQL
HotDB Server支持跨数据节点的SQL操作,如:
修改分片字段值
HotDB Server允许在不改变分片字段值路由(即修改后的分片字段值与修改前的值路由到相同的数据节点)的前提下,update水平分片表的分片字段值。
透明全局自增序列
在分布式架构下,HotDB Server可保证具有AUTO_INCREMENT属性的列在各个数据节点上全局自增。透明全局自增序列使用方法与MySQL的AUTO_INCREMENT相同,目前透明全局自增序列可保证该字段全局有序递增,但是不保证序列值的连续性。
全局唯一约束
HotDB Server支持全局唯一约束,可保证启用了此功能时拥有唯一约束(UNIQUE、PRIMARY KEY)的列在所有数据节点上全局唯一。若启用相关功能还可以做到当SELECT查询语句中不包含分片字段但包含唯一约束字段时,同样可以定位单一节点。目前支持全局唯一约束设置到表级别。
3.分区表
HotDB Server支持数据库分区表(PARTITION)相关操作,如:CREATE PARTITION TABLE、ALTER PARTITION、INSERT PARTITION、UPDATE PARTITION、SELECT PARTITION、DELETE PARTITION。
4.数据管理
支持数据库管理语句SHOW、DESC、USE、KILL以及部分会话级别SET语句。
5.触发器
支持在单库环境下使用触发器功能且支持触发器的备份与恢复。
6.子查询
支持有限场景下的子查询功能。
7.事务与锁

强一致(XA)分布式事务
HotDB Server利用 MySQL 提供的外部 XA 事务可解决跨数据节点事务场景中数据的强一致性问题,即要么所有数据节点的事务都COMMIT,要么所有数据节点都ROLLBACK;支持REPEATABLE READ、SERIALIZABLE隔离级别且隔离级别功能表现和单机MySQL相同。计算节点在开启XA事务功能后,对于应用程序MySQL命令操作是透明的,对SQL命令、事务流程没有任何改动要求,可像普通事务一样使用。
跨节点死锁检测
在分布式事务数据库系统中,若死锁发生在两个MySQL数据库节点间时,MySQL的死锁检测机制无法检测到这种跨实例死锁。在HotDB Server分布式事务数据库系统中,HotDB Server跨库死锁检测可检测多个MySQL数据库节点间的死锁并回滚开销最少的事务。
8.字符集与校对集

9.用户权限体系
HotDB Server兼容MySQL的用户权限体系,支持全局权限、库权限、表级权限的多维度配置。此外HotDB Server用户体系中还增加了用户表级拒绝权限功能,方便用户快速为业务系统配置一套高安全性的权限体系。目前对用户权限的配置可以通过管理平台进行操作。
10.拆分法
HotDB Server提供七种数据拆分算法,满足用户大部分场景的拆分需求。以下是七种拆分算法的具体介绍:

11.表类型
HotDB Server提供四种表类型供用户选择,用户可以根据实际业务场景选择合适的数据库表类型。以下是关于四种表类型的具体介绍:
12.兼容Oracle函数与Sequence语法
HotDB Server提供部分常用Oracle函数及Sequence语法兼容功能,用户由Oracle迁移至HotDB Server时,可减少其业务代码的修改量。
13.数据高可用服务
HotDB Server在计算节点、数据节点、配置库等层次提供全面的高可用保障。提供完善的心跳检测、故障切换对存储节点同步追平判断、全局自增序列在故障时自动跳号、客户端连接Hold等机制,保障数据服务的可用性与数据的一致性。
14.计算节点服务高可用
HotDB Server采用keepalived技术实现计算节点服务的高可用。由keepalived实时检测计算节点的健康状态并在计算节点发生故障时进行高可用切换。目前支持通过管理平台对主备模式的计算节点集群进行手动高可用切换。也可以在计算节点集群发生高可用切换之后,重建高可用环境,保证下次故障发生时可正常切换。
15.数据节点服务高可用
HotDB Server提供数据节点内的存储节点高可用。在正确部署且已配置故障切换规则的一组存储节点中,当主存储节点不可用时,程序将自动切换到优先级最高的备存储节点上,且保证主从数据同步追平。使用数据节点高可用要求:必须配置主从存储节点的故障切换规则,并在计算节点中开启心跳功能。
16.配置服务高可用
HotDB Server支持配置库服务高可用,防止配置库实例出现故障时,计算节点无法正常提供服务。配置库目前支持主从、双主、MGR(MySQL Group Replication)三种复制模式。
17.数据同步
普通Replication模式
HotDB Server支持配置库与存储节点使用MySQL Replication。支持BINLOG格式为MIXED和ROW,同时支持使用半同步复制、GTID、多线程复制。
MGR实时同步
HotDB Server支持配置库与存储节点使用MGR(MySQL Group Replication)复制模式。目前只支持single primary模式。相比半同步复制可略微提升故障场景下主从数据一致性(半同步复制可保证收到commit ok的事务不丢失,但不保证主机执行崩溃恢复流程后数据和从机一致)。
多源复制
HotDB Server兼容但不支持存储节点的多源复制功能。
18.数据追评策略
在分布式事务数据库存储节点高可用机制中,当主库宕机时计算节点的切换策略会根据备库设置的优先级进行切换并且计算节点会保证可用的备库追完所有可应用的relaylog后才将服务切换到备库上。结合使用半同步复制,可保证“已收到commit ok的事务不丢失,未发出commit的事务回滚”;在此基础上再启用HotDB Server的强一致模式,则可额外保证“已发出commit但未收到commit ok的事务,全提交或者全回滚”。

数据库运维管理
HotDB Server在参数配置、服务监控、数据检测、安全防护、故障告警等多方面提供智能化运维服务。
18.主备数据一致性检测
管理平台提供逻辑库、存储节点、配置库维度的主备数据一致性校验功能。主从数据一致性检查,可校验主库与从库之间的表结构与表数据是否一致。当检测存在少量的数据不一致时,主从数据一致性检查可定位到数据行不一致的主键
值;有大量不一致时,则显示不一致的主键值区间或显示全表大量不一致的提示。此外,还可以添加定时计划,定期检测所选逻辑库中的数据一致性情况。

全局表数据监测一致
管理平台提供全局表数据检测功能,可选择具体逻辑库中的全局表并检测该表在所有数据节点中数据是否一致。如存在不一致的数据,可以通过修复功能进行数据修复。此外,还可以通过添加定时检测计划,定期检测全局表数据的一致性,如检测发现异常,将在事件通知中告知用户。
数据分片路由正确性校验
HotDB Server支持对水平分片表的历史数据的路由正确性进行校验。可检测业务数据是否按配置的分片规则正确路由,也可校验从其他分布式事务数据库系统导入至HotDB Server的分片数据是否存在路由错误的问题

数据唯一约束检测
HotDB Server支持对水平分片表或子表发起数据唯一约束检测。可及时发现集群中已开启唯一约束的表的历史数据是否存在不唯一的情况。对检测出违反唯一约束的表的重复数据进行可视化展示,方便用户进行修复。
数据分片方案推荐
HotDB Server支持基于仿真压测生成的SQL日志,进行分片方案推荐计算,帮助用户通过实际业务场景找到合适的表分片字段。结合少量人工调优,例如更换合适的分片算法,最终可为用户生成适合生产环境的业务表分片方案。

分片方案在线变更
提供对业务表的表类型、分片规则、分片字段、分片所属数据节点四个维度的在线变更支持。同时可结合智能分片方案推荐结果进行单个或批量表变更操作。支持变更业务表时设置数据复制暂停时段规避业务高峰期,减少对系统性能的影响。

分片方案在线变更
提供对业务表的表类型、分片规则、分片字段、分片所属数据节点四个维度的在线变更支持。同时可结合智能分片方案推荐结果进行单个或批量表变更操作。支持变更业务表时设置数据复制暂停时段规避业务高峰期,减少对系统性能的影响。
表结构变更
普通DDL
管理平台支持执行普通DDL功能,支持对数据库表的创建与修改。同时,针对敏感操作,例如“drop、truncate”等SQL进行二次口令校验,防止误操作与恶意操作。

在线DDL
管理平台支持执行在线DDL(OnlineDDL)功能,保证在进行表变更时,不会阻塞线上业务读写。并且所有正在执行的或执行完成的变更记录可在在线变更检测页面查看。

SQL路由计划查看
HotDB Server提供SQL路由计划查看功能。可查看被执行SQL语句的路由计划,展示SQL通过计算节点路由分析后具体下发的数据节点,为用户提供SQL下发情况预测信息。

配置参数校验
HotDB Server支持对当前已配置的数据节点、存储节点、逻辑库、分片规则、数据库用户等信息进行一键式检测。如有异常或错误,则提示错误信息并定位到具体的错误源位置。


多集群服务管理
管理平台支持管理多套计算节点集群。用户可在登录管理平台后在“计算节点选择”页面选择具体的集群进入管理。同时“计算节点选择”页面支持对集群内所有的计算节点实例运行状态以及配置库所有实例运行状态进行实时展示。





