hanfeng_twt
作者hanfeng_twt2022-07-26 09:48
数据库架构师, SphereEx

国产数据库选型评估体系建设经验参考

字数 7635阅读 10156评论 3赞 26

本文为云原生应用创新实践联盟——数据库自主可控课题组生产内容,相关专家如下所示,更多内容可 点击此处进入云原生应用创新实践联盟 进行查看。
  ① 已通过课题组专家审核
  ② 待课题用户组织评议(欢迎各位在下方评论区提出您的宝贵意见)

执笔专家:
韩锋,数据库自主可控用户委员会委员
twt社区云原生应用创新实践联盟——数据库自主可控方向课题组专家。有着丰富的一线数据库架构、软件研发、产品设计、团队管理经验。曾担任多家公司首席DBA、数据库架构师等职。在云、电商、金融、互联网等行业均有涉猎,精通多种关系型数据库,对NoSQL及大数据相关技术也有涉足,实践经验丰富。曾著有数据库相关著作《SQL优化最佳实践》、《数据库高效优化》。

顾问专家:
孔再华, 数据库自主可控用户委员会委员
云原生应用创新实践联盟——数据库自主可控方向课题组组长。具有丰富的数据库环境问题诊断和性能调优的经验。在数据库同城双活,集群,多分区,分布式等项目实施上具有丰富的经验。现任职于中国民生银行科技部,工作致力于数据库同城双活架构建设,数据库分布式架构建设和数据库智能运维(AIOps)方向。对于如何将AI技术运用在运维领域具有浓厚的兴趣和创新热情。
卢丽欢, 数据库自主可控用户委员会委员
云原生应用创新实践联盟——数据库自主可控方向课题组专家。长期从事数据库尤其是分布式数据库应用实践工作,具备银行核心系统、互联网聚合支付系统、信贷系统、中间业务等银行关键业务系统采用国产分布式数据库落地实践经验。

摘要:

作为数字基础设施的重要组成部分,数据库扮演着愈发重要的角色。伴随着数字化转型深化,数据从承载规模、使用领域、使用方式等更加多元、复杂。正是为应对这一变化,近些年来数据库行业发展迅速,特别是已国产数据库表现更为突出。长期以来,国内数据库产业是已国外大型商用产品及海外开源产品为主,国内相对声音较小。但随着自主创新需求不断凸显,国内正有越来越多的厂商参与其中,从近期的市场份额也可以看到明显的变化,国内产品开始快速提高比例,获得不错的成绩。但同时我们也看到,国内数据库产品种类繁多、技术路线各异、发展水平层次不齐,从最终用户角度来看存在非常大的选择困难。
本文尝试针对企业分布式数据库的选型工作进行探讨,从技术趋势(主流路线)、评估维度及重要技术要点进行说明。帮助用户可以快速抓到评估工作方向、内容,避免常见问题。可以有效加快用户对分布式数据库选型的速度,提升选型效率,找到适合企业自身的技术选型方案。

1. 分布式数据库技术路线

针对分布式数据库的发展路线,大体可分为两种:

1) 分布式中间件(简称:分库分表)

这种架构是从中间件路线演进而来。其架构采用存储与计算分离架构,底层采用标准单机数据库,副本间基于数据库主从复制机制,通过上述机制完成数据存储。上层由多个独立的、无状态的节点来承担计算,并可将部分计算下推到存储节点执行。这种架构在分布式事务、全局MVCC等方面,往往存在一定难点,各厂商也有各自解决之道。

2) 原生分布式(简称:NewSQL)

这种架构正是受到Google论文影响演进而来。其采用存储与计算分离架构,底层采用单机库(不一定是关系型),副本间采用分布式一致性协议完成复制,支持多数派提交。上层承担计算,并可将部分计算下推到存储节点执行。

3) 技术路线对比

4) 路线场景分析

从数据使用场景来讲,可大致按下面进行划分:

针对不同的场景,不同分布式数据库路线产品各有所长。
• 针对事务类场景下,强调高并发联机交易、对分析能力要求不高的场景比较适合分布式中间件路线产品。
• 针对事务类及事务/分析混合类场景,既要满足常规联机交易场景的同时,还需满足分析类的一部分能力,这种情况比较适合原生分布式产品。基于原生分布式的 HTAP 数据库,用一个数据平台应对规模化交易和实时分析,提升业务决策的时效性,降低数据技术栈的复杂性,越来越多的混合负载需求推动了 HTAP 在金融场景的落地。

5)技术路线评估实践应用

针对不同技术路线产品,在具体评估工作中,需要根据业务特点挑选出主要关注指标进行评估。下面通过两个示例说明这一过程。

- 流水型系统

流水型系统实现实时支付、证券交易、订单等业务的发起方和接收方之间的转接功能。典型的流水型系统是银行渠道系统、转接清算系统、非银行支付机构的快捷支付(协议支付)系统等。对于此类系统,业务请求和业务请求响应需要实时转发至业务发起方和业务接收方,对系统的实时性有较高的要求,但关键数据(如交易涉及的账户数据)的一致性由业务发起方和接收方保证,流水型系统对业务的流水信息进行记录。流水型系统的幂等性处理是架构设计的重点和难点,可采用多层幂等保障机制,如用户发起业务流量环节幂等、实时业务处理环节幂等、交易对账环节幂等。

此类业务系统重点关注的指标之一是对对于实时性,即在规定的时间内完成交易。对应数据库应提供持续、稳定的服务响应能力。例如99线在xx毫秒内完成,即99%以上的交易需要在多少毫秒内完成。其不允许出现所谓毛刺现象,需要非常稳定。从这个角度出发,可针对备选产品从时延及稳定性做好充分评估。根据过往经验,分库分表类产品在这方面表现更为突出,其避免了NewSQL架构产品在数据合并、迁移、重分片过程中可能造成的影响。其响应链路简单,可保证效率,提供较为稳态的服务。

- 账户型系统

账户型系统主要实现账户信息、用户信息等业务数据的处理和记录。此类系统需要优先保障关键数据的一致性。数据一致性是架构设计的重点和难点,应结合业务模型选择解决方案,如关键数据采用同步复制等手段、将只读数据和可写数据分离、业务处理层与数据存储层协调工作等。通常可采用单元化处理,将账户拆分到多个部署单元,并行进行账务处理。当故障发生时,只有部分账户受到影响。

此类系统关注的重点在数据一致性及可靠性。这点对于分布式架构下,带来了更多的挑战。需要对应数据库系统在分布式事务能力及全局数据一致性方面有着更好的表现。通常来说,NewSQL类产品在这方面表现更为优秀,主要是基于其重新构造的一致性实现。此外,这类产品在数据拆分粒度上更细且使用分布式共识算法,可提供更有保障的数据安

试读部分结束,继续阅读

此内容为“企业IT应用趋势项目创新联盟”用户的专属内容

企业IT应用趋势项目创新联盟用户组是基于联盟课题方向、集结各行业技术领域的企业用户的用户组织。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

26

添加新评论3 条评论

hfbosshfboss技术总监, ahzyhl
2023-09-25 10:08
相对我们的客户来讲,这样的替代从长期运维角度,成本有点高。很受启发,感谢
zhouchaozhouchao系统架构师, 某银行
2022-08-11 16:15
写的非常专业,可以借鉴参考
wanggengwanggeng系统运维工程师, 某银行
2022-08-05 13:47
文章写的很不错,从技术路线具体对比分析和评估维度,可以给我们提供选型参考依据,值得一读!
Ctrl+Enter 发表

本文隶属于专栏

技术路线选型
不同趋势领域都有不同技术路线,不同行业的应用规模也有不同技术路线。通过对同一场景下不同技术路线的对比分析,帮助用户选择最适合企业发展需要的技术路线。

作者其他文章

相关文章

相关问题

相关资料

X社区推广