近年来,随着金融业务的快速发展,基于海量数据的高并发实时交易,在保障安全可靠的基础上要求数据库具备弹性扩展和高可用能力,推动传统集中式关系型数据库向分布式的云数据库迁移。同时在业务和数据迁移到分布式数据库的过程中也面临着诸多挑战,更稳定、更高性能、更安全的数据库成为企业客户关注的重点。
近日,在dbaplus社区主办的FinTech技术沙龙上,金山云数据库资深架构师张健分享了金山云分布式数据库DragonBase架构设计与实践。
分布式数据库正逐渐渗入金融行业
Gartner数据统计,2020年全球数据库软件市场将达到549亿美元。而我国数据库软件市场规模大约在200亿人民币(智研咨询统计),仅占全球整体市场的1/20左右,市场发展空间巨大。
从全球市场范畴来看,目前Oracle、IBM和Microsoft等国外巨头的关系型数据库软件仍然占据市场主导地位。但从数据库权威排名变化趋势来看,数据库正在朝多元化路线发展,传统商业数据库产品的热度逐渐下降,更多的企业级用户,逐渐转向云数据库及开源数据库产品。在国内关系型数据库市场中,云化部署模式正在逐渐超越传统部署模式并成为市场的发展趋势。
银行的业务特性本身对数据库的依赖程度特别高,每一笔交易都需要操作数据库,要求数据不能丢、数据不能错、数据持续性、数据响应快,对数据库的要求极为严苛。2019年人民银行发布《金融科技(FinTech)发展规划(2019-2021年)》加强分布式数据库金融应用的长期规划;2020年人民银行发布《中国金融业信息技术“十三五”发展规划》继续扩大金融信用信息基础数据库覆盖面;同时,兼顾业务发展、成本控制和安全监管等因素,推动传统集中式商业数据库向分布式数据库转移。
“一致性、高可用、安全、性能、扩展性、兼容性和可运维性是分布式数据库的核心要素。”张健说到,与之伴随,数据库的技术架构也在不断演进,经历单体数据库、垂直拆分的分布式数据库、分库分表的分布式数据库、计算存储分离的云原生数据库,再到TP与AP横向打通的HTAP架构数据库。
张健表示,DragonBase是金山云研发的能满足金融级业务需求的分布式数据库。DragonBase可提供资源虚拟化、多租户、弹性扩容、数据备份恢复、数据迁移等能力,同时具备细粒度权限管理、访问控制、安全审计和加密等安全类功能。既支持基于x86服务器部署,也支持基于国内服务器和操作系统的部署,可提供“两地三中心”和“三地五中心” 的地域级故障自动无损容灾的能力,旨在为企业用户提供高可用、高可靠、高性能、高安全、可扩展、强一致和高度兼容的分布式数据库产品。
五年时间打磨打造DragonBase优势
“2016年金山云发布了DragonBase单体版本,2017-2018年深度优化单体版本稳定性和性能;于2019发布DragonBase分布式1.0版本,2020发布升级版本2.0支持分布式事务、分布式计算、高可用、弹性扩展、安全审计、数据强一致、灾备恢复、云管平台和数据迁移等诸多核心能力,正在研发的DragonBase3.0版本将在Oracle兼容、分布式计算引擎和自动化运维等方面进行迭代。”张健表示。
DragonBase产品架构采用计算与存储分离的分布式架构,经过五年多的打磨,构建起自身的产品优势。
在高性能方面,结合软硬件优势,硬件层面支持高性能存储介质如 NVME,Optane 3D Xpoint等。软件层面通过分布式并行计算、读写分离和流量智能调度、连接池管理以及异步事务优化等多种手段,大幅提高系统吞吐。
在高可靠性上,通过强一致的多副本管理、灵活灾备策略和完备的备份体系,配合链路、数据加密技术及快速数据重建技术,提供数据的安全可靠保障能力,保证 RPO为 0。 “考虑到不同业务对数据一致性的要求不同,DragonBase提供异步、半同步和基于raft的强同步等多种数据同步模式,业务可按需调配。”张健表示。
在高可用性上,提供主从热备和自动故障切换机制,同时支持“两地三中心”和“三地五中心”的跨地域高可用部署,提供实例级、机房级、地域级的服务高可用保障,保证 RTO < 30秒。
在可扩展性上,支持平滑的弹性扩容、无缝的版本升降级,对业务几乎无感。集群扩展同时支持手动和自动模式,实现按需弹性扩展,从容应对紧急扩容场景。
在安全性上,DragonBase支持三权分立,安全管理员、审计管理员、数据库管理员,三个角色之间相互制约,消除系统中出现的超级权限,从系统角色上解决数据安全问题,达到约束各种类型用户的操作行为。“‘三权分立 + 访问控制 + 安全审计 + 加密技术’是DragonBase的安全机制。”张健表示。
目前,DragonBase已在金融、互联网、政企等多领域实践应用。DragonBase可提供稳定、高性能、安全可靠的数据库服务。在促销、秒杀等典型电商应用场景中实现弹性扩容;在游戏应用中,提供任意时间点恢复能力,有效支持游戏回档场景;金融领域,支持数据强一致性,“两地三中心”、“三地五中心”的部署架构,充分满足金融级合规可靠性要求。
最后,张健表示,DragonBase具备完善的数据迁移方案,可协助用户从其数据库到迁移到DragonBase,尽量不修改用户业务,极大降低服务迁移成本。金山云也将持续推进分布式数据库功能和架构的升级迭代,为各行业客户提供稳定、安全、可靠的数据库服务。