在金融行业,如何开发设计一款分布式数据库?

对于金融行业,可能面临传统数据库:Oracle、DB2等像开源数据库或分布式数据库的转型,而现在行业内有很多类似的分布式数据库,金融行业是否会借鉴行业内的方案进行开发自研?还是会更多的选择与已有厂商合作共同开发?或者是直接购买已有的厂商的产品?毕竟分布式数据库的开发、设计需要考虑很多,尤其是数据一致性、存储与计算的合理设计或者分离,都需要投入巨大的开发、设计等资源,甚至人才,不知道金融行业在做此类项目时会主要从哪些方面去考虑?并最终做出合理的方案?

参与8

3同行回答

anikikonganikikong  数据库运维工程师 , 中国民生银行
纯金融行业自研开发一套自己的分布式数据库基本是不可行的。因为金融行业没有数据库相关的开发经验和底蕴,只有数据库使用的经验,作为一个好的需求方,最适合的角色也就是个产品经理。所以现在金融行业所谓的自研分布式数据库,其实都是在和数据库厂家合作,以联合开发的方式推出...显示全部

纯金融行业自研开发一套自己的分布式数据库基本是不可行的。因为金融行业没有数据库相关的开发经验和底蕴,只有数据库使用的经验,作为一个好的需求方,最适合的角色也就是个产品经理。

所以现在金融行业所谓的自研分布式数据库,其实都是在和数据库厂家合作,以联合开发的方式推出自用的数据库产品。

现在金融行业已经没有太大必要自己做分布式数据库了,因为国内已经涌现出一大片优秀的分布式数据库产品,金融行业应该切合自身需求,挑选合适的产品,稳健的厂家来获取服务。

收起
银行 · 2020-03-28
浏览1606
hanzhenhua 邀答
wanglayewanglaye  信息技术经理 , 某大型金融机构
由于各方面限制,金融行业更多的选择与已有厂商合作开发、或者购买成熟产品。 分布式数据库选型时,基于能力、可控、弹性、成本等方面的考虑 。 分布式数据库在互联网应用场景下已经积累了很多成熟的技术,但相比互联网企业,金融行业对分布式数据库的要求更高,除了上文提到的高...显示全部

由于各方面限制,金融行业更多的选择与已有厂商合作开发、或者购买成熟产品。
分布式数据库选型时,基于能力、可控、弹性、成本等方面的考虑 。 分布式数据库在互联网应用场景下已经积累了很多成熟的技术,但相比互联网企业,金融行业对分布式数据库的要求更高,除了上文提到的高可扩展性、高并发性、高可用性之外,分布式数据库还需要具备支持分布式事务、提供业务数据一致性、易于维护等特性,因此,金融行业需要更加完备的技术支持。
分布式数据库设计阶段需要考虑很多方面,比较重要的像是高可用方案、存储方案、灾备方案、安全、监控、运维等,这些在前期都要规划好。还有一点很重要,分布式数据库最终是为应用服务的,要充分考虑应用从传统数据库迁移至分布式数据库的难度,尤其在测试阶段,要充分考量分布式数据库的兼容性。
在分布式数据库选型时,最好结合具体的应用场景,如 OLTP 和 OLAP 。另外,数据库厂商的技术服务支持能力和案例成熟度也要充分考虑。

收起
银行 · 2020-03-26
浏览1555
hanzhenhua 邀答
AmygoAmygo  DBA , 分布式事务数据库
原提问信息:对于金融行业,可能面临传统数据库:Oracle、DB2等像开源数据库或分布式数据库的转型,而现在行业内有很多类似的分布式数据库,金融行业是否会借鉴行业内的方案进行开发自研?还是会更多的选择与已有厂商合作共同开发?或者是直接购买已有的厂商的产品?毕竟分布式数据库的...显示全部

原提问信息:

对于金融行业,可能面临传统数据库:Oracle、DB2等像开源数据库或分布式数据库的转型,而现在行业内有很多类似的分布式数据库,金融行业是否会借鉴行业内的方案进行开发自研?还是会更多的选择与已有厂商合作共同开发?或者是直接购买已有的厂商的产品?毕竟分布式数据库的开发、设计需要考虑很多,尤其是数据一致性、存储与计算的合理设计或者分离,都需要投入巨大的开发、设计等资源,甚至人才,不知道金融行业在做此类项目时会主要从哪些方面去考虑?并最终做出合理的方案?

提问拆解信息:

1、 金融行业面临传统数据库:Oracle、DB2等向开源数据库或分布式数据库的转型

2、 行业内有很多类似的分布式数据库,金融行业是否会借鉴行业内的方案进行开发自研

3、 金融行业在做分布式数据库产品研发项目时会主要从哪些方面去考虑

4、金融行业对待分布式数据库产品自主研发、联合研发、产品采购的哪一种是最终合理的方案

问题解答信息:

1、 金融行业面临传统数据库:Oracle、DB2等向开源数据库或分布式数据库的转型

答:

(1) 金融行业传统数据库Oracle、DB2等小容量业务系统数据库也即,吞吐量TPS、QPS不会超过单机或一机写多机读的X86INTEL芯片服务器或国产芯片服务器的数据存储容量和数据事务处理的能力,则:

(1.1)60%及以上 金融行业传统数据库Oracle、DB2等小容量业务系统数据库 迁移到MySQL开源数据库产品。

(1.2)30%及以上 金融行业传统数据库Oracle、DB2等小容量业务系统数据库 迁移到五大传统国产数据库产品厂商,分别是:华为GaussDB T、人大金仓、达梦、神通、南大通用占据27%以上市场份额;其他传统国产数据库产品厂商:优炫、瀚高、海量数据等,可能占据3%及以内市场份额,丛市场上发力也能看到二线传统数据库产品厂商在金融行业更多是放弃进攻的态势。

(1.3)10%及以内 金融行业传统数据库Oracle、DB2等小容量业务系统数据库 迁移到PostgreSQL开源数据库产品,主要是甲方自己拥有技术实力及中亦安图等数据库服务厂商帮助甲方实施开源数据库PostgreSQL,也满足行里的自主研发的技术发展思路,特别说明下这里的10%不包含 华为GaussDB T 、 人大金仓 、 优炫、瀚高、海量数据 等都是拿PostgreSQL开源数据库产品做定制研发的国产数据库产品的市场份额。

(2) 金融行业传统数据库Oracle、DB2等中大容量或高性能高吞吐量的业务系统数据库也即,吞吐量TPS、QPS 超过单机或一机写多机读的X86INTEL芯片服务器或国产芯片服务器的数据存储容量和数据事务处理的能力,则:

(2.1)先名词解释下OLTP分布式数据库产品组成:存储引擎(或按金标委/信通院标准称之存储节点)、计算引擎 或按金标委/信通院标准称之计算节点) 、备份还原软件、跨数据中心容灾双活多活软件、可视化管理平台(是金标委2020年立项重点攻克的产品化降低技术门槛和运维门槛的一项难题,会议上领导特意提出热璞数据库HotDB的产品化做最好,可作为范例学习借鉴)。

(2.2) 此类业务系统的数据存储容量、吞吐量TPS/QPS 能突破单机处理能力,则说明业务系统涉及的用户面较大、是内部活跃的业务系统,则业务系统等级就相对较高或行里重点发展的业务板块。则特别在意数据库产品稳定可靠、数据库厂商专注持续发展能力、数据库产品金融行业或同类要求行业的案例数量及案例规模等,另外结合一款数据库产品的存储引擎至少8年及以上才能研发成型和打磨成型,则90%以上金融企业会选择:成熟稳定世界范围打磨过的 存储引擎,且规避因数据库厂商倒闭或转型而束手无策的行为。

   (2.2.1) 招商银行、民生银行等选择华为数据库DDM合作

(2.2.2) 工商银行、平安银行等选择开源分布式数据库MyCAT做二次定制开发

(2.2.3)   国家开发银行、华夏银行、浦发银行、银联、上交所等 选择热璞数据库HotDB合作

(2.2.4) 南京银行、苏州银行等选择蚂蚁金服OceanBase合作

(2.2.5) 张家港银行选择腾讯TDSQL合作

(2.2.6) 北京银行 选择TiDB合作

(2.2.7) 中信银行选择联合中兴通信共享知识产权研发GoldenDB

2、 行业内有很多类似的分布式数据库,金融行业是否会借鉴行业内的方案进行开发自研

答:

(1)民生银行:选择了淘宝开源TDDL进行二次研发,分库分表架构具有研发成本低、代码研发量小,只是业务场景受限而需要业务系统自己实现跨数据节点的操作。

(2)工商银行:选择开源分布式数据库MyCAT定制研发自己的版本。

(3)中信银行:选择借鉴 开源分布式数据库MyCAT 的思路,但同中兴通讯合作从零研发。

3、 金融行业在做分布式数据库产品研发项目时会主要从哪些方面去考虑

答:
业务系统必须是OLTP业务场景,适合响应时间要求高到毫秒或亚秒级、TPS /QPS 要求高吞吐量等的业务场景

4、金融行业对待分布式数据库产品自主研发、联合研发、产品采购的哪一种是最终合理的方案

答:
(1)基础软件:要是联合研发就能做成的,也不至于国内基础软件全部受国外企业控制,一断供就全新崩溃的风险,更不至于国家下命令式一把手绩效考核和重大立项扶持 基础软件行业的发展。

(2)时间成本角度:自主研发一款OLTP分布式数据库产要是 存储引擎 和计算引擎都从零研发至少8年的时间,这是任何非基础软件行业的企业或公司都无法接受的。 就算存储引擎采用开源数据库MySQL、PostgreSQL、RocksDB等,也至少需要5年的时间。

(3)经济成本角度:研发一款OLTP分布式数据库产品, 存储引擎采用开源数据库MySQL、PostgreSQL、RocksDB等的情况下,至少达到初步可用级别则 2亿人民币左右,每年还要继续投入 5000万以上研发经费,而采购一款OLTP分布式数据库产品 每年给 500万人民币则厂商服务周到。

(4)每家企业 或单位:主业都不会是基础软件研发,从时间成本、经济成本角度考虑,最后产品采购才是最佳的选择,只有专注产品研发的企业才能控制研发成本、试错打磨成本、时间成本、运维成本等。

备注:电力行业、银行、保险、运营商等都采用自主研发、联合研发过,最后都是此刻的现状依然采用Oracle/DB2等。

收起
银行 · 2020-03-26
浏览1524
hanzhenhua 邀答

提问者

hanzhenhua
数据库管理员饿了么

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2020-03-24
  • 关注会员:4 人
  • 问题浏览:3502
  • 最近回答:2020-03-28
  • X社区推广