选择分布式数据库的担忧?

一直担心分布式数据库的原因如下【简单说几点】:1、采用分布式数据库,解决了数据分布式存储,则数据的一致性如何保证?若是实时交易性系统,数据并发写访问量大的情况下,依然会出现性能瓶颈【没有办法或者很难将访问关系进行拆分】,故写数据大量集中,而数据要同步到其它存储上,会存...显示全部

一直担心分布式数据库的原因如下【简单说几点】:
1、采用分布式数据库,解决了数据分布式存储,则数据的一致性如何保证?若是实时交易性系统,数据并发写访问量大的情况下,依然会出现性能瓶颈【没有办法或者很难将访问关系进行拆分】,故写数据大量集中,而数据要同步到其它存储上,会存在一定的时间延迟。若这是进行大量的读访问【此时可采用分布式】,会存在已存在的数据未同步完成,不能有效访问。故分布式数据库的应用场景在银行中是交易性型系统还是管理型系统?还是分析型系统?案例较少,故一致未确定采用
2、采用分布式数据库后,系统架构变得较为复杂。首先是设备数量增多,其次数据拆分规则难以确定【技术与业务人员的口径难以得到统一】。还有分布式数据库第三方的技术支持困难。最后是目前市场上分布式数据库没有一个大家公认的领头羊

收起
参与12

查看其它 2 个回答wanglaye的回答

wanglayewanglaye课题专家组信息技术经理某大型金融机构

1、一致性,分为强一致性、弱一致性、最终一致性。属于哪个一致性等级,与数据库多副本状态下的读写成功所需的最小化副本数有关。最常用的一致性协议有paxos、raft。
若采用强一致性,则又分为两种情况:读写分离、读写不分离。读写分离情况下,无论读或写都需要大多数副本成功才认为读写成功;读写不分离情况下,写需要大多数副本写成功才返回成功,读只能读主副本,也能保证读到的数据是最新的。
写并发高的情况,通过合理策略进行数据分片(甚至二次分片),把数据打散,避免热点盘。在主机配置和网络带宽有限的情况下,写数据量大到一定程度是无法避免性能瓶颈的,事先可以通过分片避免热点盘,事中可以扩容。所以一般建议根据应用系统的交易量来规划设计数据库,可以一定程度上避免高并发写带来瓶颈。
读并发高的情况,还是选择强一致性的数据库吧。
交易类系统我们选用的是高性能事务型分布式数据库。分析类系统对实时事务处理要求不高,会选择HBase这类建数仓。管理类系统,得看是哪类,如果是实时监控类的管理系统对性能要求高可以上,其他的管理系统为了节约成本可以选择普通数据库。
2、系统架构并没有很复杂,反而更利于运维管理,一般分布式数据库都有管理节点和计算节点,对于管理员来说维护复杂度反而下降了,不用每个业务系统维护一套了。
数据分片时,业务和技术听谁的,这个难以回答,每家企业有自己的做事策略。
领头羊当然是有的。

银行 · 2020-03-26
浏览2739

回答者

wanglaye
信息技术经理某大型金融机构
擅长领域: 数据库服务器分布式系统

wanglaye 最近回答过的问题

回答状态

  • 发布时间:2020-03-26
  • 关注会员:8 人
  • 回答浏览:2739
  • X社区推广