本文转载自公众号:联通软件研究院(Chinaunicom-Software)
精雕细琢方为器,千锤百炼始成钢。
联通软研院平台架构部数据库研发团队,历时13个月完成了对社区版OceanBase的优化改进,打造了ChinaUnicom Database for OceanBase(以下简称CUDB for OB)分布式HTAP数据库产品。坚持边用边改、以改促用,使得该产品得到规模应用,取得良好的使用效果。
CUDB for OB完全适配了PKS体系,完美补齐CUDB 分布式HTAP数据库的空白,为联通云产品体系再添新星。
CUDB for OB将产品的开通、使用、监控和运维全面接入联通云,实现产品资源的一点开通、一点交付、一点监控、一点运维和一点操作,为联通云租户提供易用而专业的一站式服务。
一、产品特性
(一)高可用
社区版OceanBase在可用性方面是三副本能力,但存在监控体系不完善、突发异常流量无应对策略、数据误删除恢复繁杂及日常操作无管理等问题。数据库研发团队结合实际的生产场景,对全面监控、熔断拦截、数据恢复、数据自治等能力进行研发实现及增强,用于提升数据库高可用。
1.全面监控。
研发了涵盖集群级及应用实例级的监控指标体系,监控指标对接数字化监控平台,实现监控一点可视、告警实时推送。
2.熔断拦截。
实践统计生产上数据库相关的故障80%是由不规范的SQL编码导致,弹性扩缩并不能从根本上解决问题,为此研发了SQL语句熔断优化,链接数拦截功能,保障资源合理分配和业务可用性。
3.数据恢复。
研发了覆盖全场景的数据恢复中心能力,用于误操作时生产数据快速恢复,全库恢复模式可在10钟恢复TB级数据到任意时间点,精准恢复模式基于CLog解析功能,可按表主键、按表全字段快速、精准恢复DML语句的误操作。
4.数据自治。
对接在主研发的泛数据库自治服务平台CDAS,覆盖应用的研发态、生产态、日常运维态对数据库的使用场景,使人人都是DBA。
(二)省资源
为了保障数据库高可用,一般按照流量高峰进行资源配置,波峰波谷最高差距可达10倍,导致资源利用率不高。同时为了高可用又采用一主两备方式,备机闲置加剧了资源利用率低的问题。因此,数据库团队优化资源使用方式,研发自动弹性扩缩能力,提升资源利用率。
1.资源共享。
租户共享资源,采用多租户共享资源池建设模式,租户间共享资源并相互隔离,提高资源利用率;节点资源均衡利用,采用表均衡分布在每个节点上模式,不再有备节点资源闲置问题,并且可以完全横向扩容,资源利用率更高;存储资源高效压缩,深度使用数据压缩功能,相比MySQL可以有效节省70-90%存储资源。
2.弹性扩缩。
研发了数据库租户在线秒级纵向扩缩,TB数量级小时级横向扩容能力,实现应用无感知扩缩容,应用无需为了应对高峰访问而冗余大量资源,从而提高资源利用率。
(三)迁移快
当前,生产上还有很多应用采用MySQL 5.5、MySQL 5.6、MySQL 5.7等版本建设,生产问题时有发生,为了加快统一技术栈收敛,研发高度兼容MySQL多个版本的离线迁移工具,支持将数据迁移至CUDB for OB,实现10万条/s迁移速度,已帮助应用迁移数据50TB+。
(四)软硬件适配
全面适配海光、鲲鹏、飞腾等CPU,以及麒麟、统信等操作系统,保障信息安全,规避软硬件技术风险问题。
二、产品推广情况
2022年3月份上线以来,数据库团队已将CUDB for OB 产品推广至总部及各省分共100+应用,200+天无生产故障(主机宕机0影响)。
三、未来展望
(一)统一技术栈,核心系统稳中求进
勇立技术前沿,丰富开源生态,收敛数据库组件,未来将实施替代600+套MySQL等高风险组件,实现新建系统“能用尽用”,核心系统稳中求进,逐步推广应用。
(二)能力提升,试点多中心多活
两地三中心五副本容灾能力解决方案落地实践,异地灾备/双活平台架构建设,实现地域级、机房级无损容灾(RTO = 0),支撑 7x24 小时持续服务,满足应用业务能力双活需要。
(三)中心化建设,数据库运维智能化
数据库产品能力建设体系化、中心化,围绕着产品部署、使用、监控、维护等场景,打造产品交付中心、操作中心、数据恢复中心、数据卸载中心、感知中心和运维中心,基于大数据和AI能力,实现数据库的自感知、自修复、自优化、自运维、自安全。
(四)贡献开源,自研功能共享共建
秉承拥抱开源、使用开源、贡献开源的原则,将联通自研OceanBase数据离线迁移工具、基于CLog的精准记录恢复工具等对外开源,共同做好产品生态工具的建设和维护。