背景
随着互联网的崛起,海量数据的存储、计算、分析需求越来越普遍。在各种计算机应用场景中,传统集中式数据库面临着理论升级和技术升级两大难题。21世纪以来,随着以 Hadoop及其衍生技术为代表的大规模数据处理技术的崛起,数据库技术开始由集中式走向分布式计算与存储的模式。经过10余年的产业实践,关系集群数据库的多种架构逐渐成熟。
近年来国际信息安全形势日益严峻,国家信息安全战略逐步深入。为了应对核心技术受制于人的严峻形势,政府相继推出加快推进核心技术自主可控替代计划,以满足构建安全可控的信息技术体系的要求。然而,当前仍有不少企业的核心系统依赖于国外IT巨头的集中式数据库产品和配套的底层硬件,核心技术缺乏突破,无法做到完全自主可控。这就要求企业的信息化技术急需进行革新,全面提升服务海量用户和处理海量数据的能力,确保信息化系统自主可控与稳定可靠。
关系型数据库服务
关系型数据库服务,是指物理上分散的多个关系型数据存储单元通过计算机网络连接起来组成一个逻辑上统一的数据库服务。关系集群数据库的基本思想是将原来集中式数据库中的数据分散存储到多个数据存储节点上,以获取更大的存储容量和更高的并发访问量。
关系集群数据库
产品描述
HHDB Server是一款实现数据容量和性能横向扩展的交易关系型关系集群数据库产品。它兼容主流数据库协议和SQL92/SQL99/SQL2003标准语法,支持自动水平拆分和垂直拆分,能在数据存储环境下为应用提供集中式数据库的操作体验。为大规模用户、大规模数据、高可用、高并发、高吞吐的业务场景提供强有力的支撑,同时具备强透明、易扩展、易运维、无学习成本等特点。让研发工程师专注应用程序编码实现,无需关心数据的存放位置和操作位置等细节,让数据库工程师更轻松地管理海量数据和海量吞吐的数据库集群,同时提供数据安全、数据容灾、数据恢复、集群监控、智能拓扑、智能大屏、不停机扩容等整套解决方案,适用于TB或PB级的海量数据业务交易场景。
集群组成说明
完整的关系集群数据库HHDB Server集群体系包括以下组件:
计算节点:
计算节点是关系集群数据库HHDB Server集群体系的核心,承担所有数据库服务相关工作,是整个服务的命脉所在。
管理平台:
关系集群数据库平台又称为HHDB Management,可实现对计算节点数据库用户、数据节点、表类型、分片规则等信息的易用性配置。同时可提供计算节点服务状态监控、异常事件提醒、报表查看、任务管理等智能运维相关服务。
存储节点:
实际存储业务数据的L数据库,通过IP、Prot、Database三者可确定一个存储节点。另外,在HHDB Server集群体系中有一个虚拟的数据节点概念,数据节点用于表述一组具有主备关系的存储节点。
管理平台配置库:
负责存储管理平台元数据的数据库。
计算节点配置库:
负责存储计算节点元数据的数据库。
高可用组件:
HHDB Server的计算节点可配合Keepalived高可用解决方案,实现主备模式的计算节点可用性检查以及高可用切换。
负载均衡组件:
多计算节点集群可选择使用LVS等方式进行SQL请求的分发。应用端可借助LVS的VIP访问HHDB Server的计算节点服务,同时保证使用透明与服务不间断。也可使用其余负载均衡方案进行处理,例如F5加自定义检测、应用直连计算节点等方式。
备份程序:
自研的关系集群数据库备份程序,负责业务数据的备份。
特性
负载均衡
多计算节点集群支持使用通用的负载均衡解决方案进行SQL请求的分发。
同一集群下的多个计算节点的数据服务对等,均支持所有类型的数据操作。
同一集群下少于半数的计算节点同时发生故障时,集群服务依旧可用;特别地,当集群节点依次故障至仅剩两个计算节点后,其中一个计算节点再发生故障,另一个计算节点依然能够提供服务。
高可用
HHDB Server的计算节点支持高可用架构,运维管理良好的集群不会因为主计算节点宕机而造成整体关系集群数据库服务不可用的问题。且运维管理良好的集群的计算节点可保证一年的总故障时间一般情况下不超过53分钟。
运维管理良好的集群的计算节点故障判断及切换服务的总时长一般情况下小于7秒,最佳实践是5秒左右。存储节点层故障判断及切换服务的总时长一般情况下小于3秒。
HHDB Server支持通过可视化的方式对故障切换或手动切换后的计算节点进行高可用重建操作,减少人工手动修改回切配置的繁琐工作。
HHDB Server的存储节点支持使用MySQL数据库原生的主从复制与MGR(MySQL Group Replication)复制模式。
正确部署且配置了数据节点故障切换规则的一组存储节点,当主存储节点服务出现异常时,计算节点可及时感知并执行存储节点高可用切换,并将新的请求发送至高可用切换后的存储节点。
HHDB Server的配置库支持使用MySQL数据库原生的主从复制与MGR(MySQL Group Replication)复制模式。
正确部署且具有复制关系的一组配置库,当主配置库出现异常后,计算节点可及时感知并高可用切换到备用的配置库。
高性能
HHDB Server的单计算节点模式中,性能测试转账场景在并发数为256时计算节点吐量可达到 20万+TPS ,50万+QPS。
并发数目前性能测试结果为可稳定支持2048以上。
相对单个集中式数据库,HHDB Server的单计算节点吞吐量损耗在5%以内。
全局自增序列获取性能大于20万 TPS。
强透明
HHDB Server提供类似集中式数据库的操作体验。应用程序只需连接计算节点数据服务端口,无需关心数据底层存放位置,即可对业务数据进行操作。
应用程序从传统数据库替换到关系集群数据库需要修改的代码量一般不超过5%。
强一致事务对应用程序透明,用户操作时无需改动任何SQL命令或事务流程,可像普通事务一样使用。
读写分离对应用程序透明,用户无需关心SQL下发的位置,程序自动根据配置的读写分离策略对SQL进行合理路由。
全局自增序列对应用程序透明,用户可像使用MySQL自增序列一样使用HHDB Server全局自增序列。
支持JDBC协议,支持MySQL原生通讯协议。
易运维
支持参数可视化配置与在线校验计算节点、存储节点参数合理性。
支持计算节点参数修改后动态加载立即生效。
支持计算节点版本在线升级。
支持多线程备份,以及定时自动备份。
支持计算节点资源、流量以及服务器状态监控,实时展示集群的数据量、计算节点与数据节点的吞吐量。
动态绘制集群服务状态拓扑图,实时显示计算节点与存储节点的运行状态,方便用户对异常问题的定位与修复。
支持OnlineDDL,可做到数据库表结构的变更不阻塞线上业务。
支持在线一键迁库对数据节点进行弹性扩容。
支持数据节点内主备存储节点数据一致性检测,检测结果可准确定位不一致的信息。
支持全局表数据的一致性检测,且提供修复不一致数据的功能入口。
支持对创建唯一约束的分片表的历史数据进行唯一性校验。
支持计算节点和存储节点的用户密码有效期检测及通过可视化界面易用性及时更改密码。
支持对业务SQL进行摘要式记录,同时根据SQL语句结构、执行时间、执行计划等筛选出待优化的SQL语句并给出优化建议。
支持新手导航,快速引导用户上手HHDB Server基础配置。
支持不同架构模式的计算节点集群自动化部署。
支持集群运行环境的健康体检。
支持集群运行信息一键收集,提高集群故障排查的速度与效率。
支持基于JOIN SQL日志,可视化地展示各表之间的业务关联关系。
支持通过管理平台在线完成对计算节点许可证的更新激活操作。
支持对管理平台配置库的自动化升级。
安全防护
支持过载限流保护机制。可通过限制计算节点前端最大连接数与存储节点最大连接数实现对计算节点与存储节点的保护。
支持流控功能,启用后,可以根据存储节点性能表现智能调控SQL流量,保持存储节点工作在最佳状态。
支持计算节点数据库用户权限控制,且99%兼容MySQL权限体系。
支持配置允许连接计算节点服务的IP白名单,未在白名单范围之内的IP地址访问计算节点服务时会提示拒绝登录。
支持集群异常事件邮件报警通知。管理平台将整个集群的运行状态纳入监控范围,一旦检测到集群服务出现故障或预警事件,程序将通过邮件方式告知用户。
支持给数据配置脱敏规则,对密级程度较高的列在进行SQL查询或日志输出时进行密文结果展示。
支持给数据配置加密规则,加密规则生效后,底层存储节点实际保存的是加密数据。
支持SQL防火墙,对高危SQL进行拦截,防止业务系统被SQL注入、误操作或恶意操作。
支持表回收站功能,被执行DROP/DELETE全表的数据可在设定时间范围内保留并恢复。
支持账户信息加密管理,HHDB Server对所有服务过程中用到的账户密码进行加密存储。
针对部分管理平台高危操作,HHDB Server提供二级密码校验防护机制,防止出现误操作或恶意操作系统数据的问题。
管理平台登录认证API支持信息加密传输。
提供备份文件的加密与远程存储功能,保证数据安全性。
提供审计日志功能。包括管理平台用户操作记录、计算节点防护拦截记录、计算节点管理端口操作记录。
支持配置具有sudo功能的非root用户连接集群服务器。
扩展能力
支持表数据平滑重分布,支持数据节点平滑迁移。
支持只读存储节点的增加和读写分离权重的配置。
支持MySQL数据库向关系集群数据库快速(极短停服务时间)迁移。
支持MySQL 5.6、5.7、8.0版本。
支持类MySQL的INFORMATION_SCHEMA库,方便用户查询计算节点相关信息。
支持IPv6网络。
故障容灾
支持跨机房容灾模式部署,当中心机房服务故障时,可自动由容灾机房接管继续提供服务。且支持中心机房内部故障可由可视化界面引导自动切换至容灾机房及修复原故障中心机房。