银行核心的分布式数据库,除了newsql,还有哪些可选?各有什么优缺点?

参与32

7同行回答

匿名用户匿名用户
分布式数据库产品目前市场上流行的有很多,主要是纯自研原生数据库和基于中间件的数据库,这些产品大部分都能满足银行核心需要的相关技术指标,但在选型时还要考虑以下几个实际问题:1、第一,是否真正经历了互联网海量数据的考验?例如有些数据库功能测试能满足需求,但是没有经过互...显示全部

分布式数据库产品目前市场上流行的有很多,主要是纯自研原生数据库和基于中间件的数据库,这些产品大部分都能满足银行核心需要的相关技术指标,但在选型时还要考虑以下几个实际问题:

1、第一,是否真正经历了互联网海量数据的考验?例如有些数据库功能测试能满足需求,但是没有经过互联网大流量打磨,并发一大,时间一长,其稳定性要打问号,这种风险银行是否愿意承担,承担风险的投入和应对策略怎么样。

2、第二,满足了互联网大流量洗礼,跟实际适配银行传统核心还有较大的距离,业务场景差异较大。如果业务场景在SQL设计的时候能够严格执行小事务和无表关联,那分布式数据库的才能真正具备可扩展,性能才能发挥到极致,互联网公司在使用分布式数据库时基本都是按照这个要求去设计的;但是银行传统核心基本都是大事务,且表关联较为频繁,直接应用分布式数据库会有各种适配问题,一致性问题、大量分布式事务、跨节点数据流动扩展性差等等问题。要银行核心适配分布式数据库,实施团队起到决定性作用,这个实施团队包括分布式数据库厂商、核心应用厂商以及银行方,分布式数据库厂商和应用厂商如果有改造落地经验,行方的压力会小很多或者基本没压力,如果没有经验,大家都是第一次适配,那需要三方都要投入大量的资源,数据库和应用都要适配改造,行方的压力都较大。

3、第三,分布式数据库厂商的情况也要重点考虑:该产品的技术演进路线如何,产品推广策略如何,后端技术支撑能力如何,产品版本迭代情况如何,产品前景如何,有没有成功案例或者成功案例多不多。银行核心不轻易动,动了就是要用五年甚至十年,大量银行核心普及了分布式数据库后,选择“靠谱”的分布式数据库厂商很重要。

所以笔者认为,想明白了这三个问题,自己想要什么样的分布式数据库,再去关注各分布式数据库的具体技术指标和特点,思路会更清晰。

收起
银行 · 2021-04-28
浏览2201
fanyqingfanyqing课题专家组技术架构厦门银行
NewSQL是新一代SQL数据库的统称,市场上的分布式数据库大都属于NewSQL范畴。NewSQL的实现有两条技术路线:中间件+传统关系型数据库方式和原生分布式数据库方式。中间件+传统关系型数据库方式中,中间件不保存数据,负责数据的分片、数据汇总和事务的一致性等功能,后端的关系型数...显示全部

NewSQL是新一代SQL数据库的统称,市场上的分布式数据库大都属于NewSQL范畴。NewSQL的实现有两条技术路线:中间件+传统关系型数据库方式和原生分布式数据库方式。
中间件+传统关系型数据库方式中,中间件不保存数据,负责数据的分片、数据汇总和事务的一致性等功能,后端的关系型数据库负责数据的处理,因此,大都用于数据量大、并发要求高的OLTP场景,在实际使用时,应注意分区键的选择,应用设计时,一个交易尽量不要跨节点使用数据库,以提高分布式数据库的性能。
而原生分布式数据库因重构数据库系统,原生支持分布式事务处理与数据切分。在实际使用时,应根据业务场景,从数据的分片策略、数据的更新方式、数据的存储结构、日志类型、数据的一致性技术等方面进行数据库的选型。如对于写敏感的业务,分片策略可以选择Hash方式,保证数据的平衡分布,数据更新方式可以选择Append-Only方式,提高写性能;分析型业务,在数据库选择时,数据的存储结构可选择列存,数据如需回滚,应支持undo log等。

收起
银行 · 2021-04-27
浏览2327
luxh08luxh08科技部门副总某互联网银行
分布式数据库分为两种技术架构,中间件+分库分表和NewSQL架构,中间件分库分表架构发展历史较早,技术比较成熟,在大型互联网公司有着大规模的使用经验,但是需要改造应用分区键进行适配,有代码改造成本,而且后期的节点扩展和运维都比较复杂,NewSQL架构是一种全新的数据库架构,架构分...显示全部

分布式数据库分为两种技术架构,中间件+分库分表和NewSQL架构,中间件分库分表架构发展历史较早,技术比较成熟,在大型互联网公司有着大规模的使用经验,但是需要改造应用分区键进行适配,有代码改造成本,而且后期的节点扩展和运维都比较复杂,NewSQL架构是一种全新的数据库架构,架构分为两个部分,计算层有关系型数据库SQL引擎,并且可以保证事务的ACID,存储层是采用Key-Vaule技术实现存储级的分布式引擎,结合了关系型数据库和Nosql的优点,优点是没有应用改造成本,分布式架构对于应用透明,就和使用单机数据库的习惯一致,后期的节点伸缩都非常简单,不需要任何人工的干预,缺点是技术比较新,使用案例较少,并且有一些功能和特性的限制。

收起
银行 · 2021-04-27
浏览2246
顾黄亮顾黄亮课题专家组技术总监畅销书作者
目前市面上分布式数据库产品很多,比较流行的主要有pingcap的tidb,巨杉的sequoiaDB,阿里的OceanBase、polardb,腾讯的Tbase、tdsql,华为的gaussdb,亚信的antdb等。各个产品大致特点如下 显示全部

目前市面上分布式数据库产品很多,比较流行的主要有pingcap的tidb,巨杉的sequoiaDB,阿里的OceanBase、polardb,腾讯的Tbase、tdsql,华为的gaussdb,亚信的antdb等。各个产品大致特点如下

收起
银行 · 2021-04-27
浏览2372
jwlvinnerjwlvinner数据库管理员证券公司
目前广泛应用的分布式数据库主要有两种实现方式。一种是已MySQL为存储节点,开发中间件实现的方式,另一种是以NewSQL标准实现的原生分布式数据库。两者从数据库特性对比如下:一.中间件分布式数据库1 全局原子性和一致性问题:无法保证分布式事务的原子性;无法实现全局快照、全...显示全部

目前广泛应用的分布式数据库主要有两种实现方式。一种是已MySQL为存储节点,开发中间件实现的方式,另一种是以NewSQL标准实现的原生分布式数据库。两者从数据库特性对比如下:
一.中间件分布式数据库
1 全局原子性和一致性问题:无法保证分布式事务的原子性;无法实现全局快照、全局读写一致性、全局MVCC;备份/操作无法实现全局数据一致点;对象模式变更(比如DDL语句)操作不能保证全局原子性。
2 数据分布发生变化时(比如改变sharding规则),数据无法自动迁移,需要手工搬迁,不仅增加运维难度,而且会造成数据访问的中断。
3 中间件无法对SQL语句做全局优化,只能分发到各个数据库实例中做局部优化,对性能影响较大,跨节点数据关联时尤为明显。
二.原生分布式数据库
数据库内部统一管理集群内所有机器和对象,实现全局协同一致,包括:
1.保证分布式事务的原子性和一致性;实现全局统一快照和全局MVCC;备份/恢复操作保证数据的全局一致性;保证DDL操作的全局一致性。
2 在数据库集群内,以统一的方式实现全局数据负载均衡和分布变更后的自动迁移,并统一实现SQL执行计划的全局优化,不仅在全局范围内保证性能最优,而且极大降低了使用和运维的难度,从用户使用习惯来说和传统数据库区别不大。

收起
证券 · 2021-05-11
浏览1921
haizdlhaizdl技术经理大连
1. 首先关于银行核心系统采用什么样的分布式数据库?首先,据调查,华为的 Gaussdb 已经在个别银行应用,比如说光大银行和招商银行,但是是不是核心数据库,这个只有银行自己的科技队伍最清楚; 腾讯的 TDsql 在 张家港农商银行新一代核心业务系统已经应用,具体是不是最核心的总账...显示全部

1. 首先关于银行核心系统采用什么样的分布式数据库?
首先,据调查,华为的 Gaussdb 已经在个别银行应用,比如说光大银行和招商银行,但是是不是核心数据库,这个只有银行自己的科技队伍最清楚; 腾讯的 TDsql 在 张家港农商银行新一代核心业务系统已经应用,具体是不是最核心的总账和联机业务系统,不确定。 阿里的OceanBase 据说在顺德农商银行核心系统上线,同样具体是不是最核心的联机业务,也不太清楚。
其次,干银行科技的都清楚,银行的核心业务系统主要是做交易做账务的,对业务的ACID特性要求极高,同时银行的业务又是关联性很强的,也就是说表与表之间的各种逻辑关系是非常复杂的,联机的特点是以随机读为主,随机写为辅,总账业务往往是以顺序读写为主,多数核心系统基本联机和总账在一起。但是大多数分布式数据库在没有改造之前,原生特性与以上几点要求并不吻合。
综上所述,如果要选择分布式数据库进行升级换代,那么也必须是从应用、中间件、数据库等纵向全部改造之后的系统才能采用分布式数据库;而且在选型的时候不能选择原生的分布式数据库,是要选择经得起实践检验的。毕竟银行业务是对老百姓负责的,不是少数群体追求卓越的舞台。

2. 各有什么优缺点?
每一个分布式数据库产品都有它自己的一些特点,有其适用的场景和不适用的场景,这里只能说一些通用的特点吧。
1)更适合一些非二维表结构的数据,比如健值、文档、列式;
2)比较依赖哈希、数据的分配和存取比较依赖哈希算法;
3)表与表之间的关系弱化,对级联嵌套等复杂查询比较弱;
4)ACID要求相对比较宽容;
5)更适合一些特殊读写场景,比如缓存。
6)适合海量数据场景。
....
以上。

收起
银行 · 2021-05-11
浏览1903
anikikonganikikong课题专家组数据库运维工程师中国民生银行
银行核心采用分布式数据库是非常重要的决定。分布式数据库当前最大的优点是横向扩展能力和高可用性。如果核心系统面临集中式数据库的性能压力,那么考虑采用分布式数据库是一种方法。 当前市面上的分布式数据库还是比较多的,大致分为两种。一种是基于客户端或者中间件的分...显示全部

银行核心采用分布式数据库是非常重要的决定。分布式数据库当前最大的优点是横向扩展能力和高可用性。如果核心系统面临集中式数据库的性能压力,那么考虑采用分布式数据库是一种方法。

当前市面上的分布式数据库还是比较多的,大致分为两种。

一种是基于客户端或者中间件的分布式框架,底层还是一个个集中式数据库。这种模式的分库分表逻辑有上层中间件或者客户端实现,底层数据库和原先的管理方式没有变化。但是这种方式对于分布式事务的支持比较困难,甚至需要从业务层去解决。数据库间的一致性保障也是比较困难的。

还有一种是所谓的原生分布式数据库。这种分布式数据库解决分库分表,访问路由,全局事务,一致性等需求,做到对于前端应用来说是单个数据库的视图。

从技术发展的角度来说肯定是第二种更符合用户需求。但是各家分布式数据库的实现方式,处理能力,稳定性等还是有很大差异的。尤其是银行核心系统,对性能,高可用,一致性都有非常高得需求,因此需要仔细测好这些数据库再做决策。

收起
银行 · 2021-05-10
浏览1995

提问者

mornsky
研发工程师某银行

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2021-04-25
  • 关注会员:9 人
  • 问题浏览:5162
  • 最近回答:2021-05-11
  • X社区推广