分布式数据库应用场景及产品对比分析探讨?
请教:不同厂商产品之间的对比分析、优劣势?主要使用的应用场景及分析,有哪些是不适宜使用的?目前产品本身,技术上还存在哪些不足,使用上需要规避哪些?
问题来自@lding1985 银行软件开发工程师,下文来自twt社区众多同行实践经验分享,欢迎大家参与交流,各抒己见。
@孔再华 中国民生银行 数据库运维工程师:
不同商品的优劣势在这里回答估计会有很多人不同意。总的来说分布数据库还在成长阶段。我把分布式分为读写分离,基于中间件的分布式和集群式的分布式产品。总的来说基于业务实际性能需求挑选就好。使用分布式产品,一方面要关注性能和稳定性,另一方面也需要关注管理性和生态。因为大家都是刚起步,也没个沉淀了十年的成熟产品。所以谁能走到最后真看不好。个人会偏向开发能力和支持能力更强的大厂。
分布式的主要场景就是渠道类的有着高并发需求的系统,例如手机银行,支付等。其他复杂查询多、数据不适合统一分片的,就很不适合。
目前产品都不太成熟,连ACID和隔离性都需要好好测测。分布式的事务以及全局一致性都需要特别关注一下。整体性能瓶颈也是有上限的,不是说真的可以横向无限扩展。因此在真的挑选一个分布式数据库产品的时候,这些核心的问题都保证,然后再考虑维护性。
@Amygo 分布式事务数据库 数据库管理员:
横向无限扩展:这个是无法做到的;真正核心:实时一致分布式事务、全局序列、全局唯一索引、悲观锁等是至关重要的。
@wanglaye 某大型金融机构 项目经理:
在进行分布式数据库选型前,以下几个关键要素,作为选型的参考:可扩展性、高并发性、高可用性、支持分布式事务、易于维护、兼容性。
在设计分布式数据库架构时,要考虑高可用、负载均衡、网络、存储、监控与告警、备份与恢复、灾备、日常运维、应用适配和优化等多方面的方案规划。尤其需要特别注意网络延时、多应用数据隔离、分布式事务处理、数据归档等难点问题。
有的企业比较看重自主可控。
此外,还需考虑迁移改造成本。在选型时一定要考虑原数据库迁移至分布式数据库的改造成本,包括 sql 语句、数据迁移等方面的改造难度和改造工作量,也包括与分布式数据库匹配的硬件投入(某些分布式数据库对于硬件的要求比较高,硬件会影响数据库性能。)
具体哪个产品好没有绝对的结果,看你们银行的侧重点。
@catalinaspring 金融行业 项目经理:
实际工作中,采用Shared Nothing 架构的分布式并行数据库集群,要求具备高性能、高可用、高扩展特性,可以为超大规模数据(级)管理提供高性价比的通用计算平台,并能够广泛地用于支撑各类数据仓库系统、BI系统和决策支持系统。同时,能够支持用户的高并发访问及提交多样、灵活的SQL语句,后台做好不同级别用户的权限管控和动态资源分配。
@eianbo PBCCRC IT顾问:
使用MySQL的较多吧,免费。
@潘延晟 系统工程师:
之前给朋友帮忙的一个例子,让我有些感想。
朋友用的MySQL数据库,不过由于程序开发时部分语句不够优化,从系统层能看到数据库的资源占用很高,后来朋友找了个专门的DBA做了优化后就降下来了。
我觉得目前市场上主流的产品可能在技术 、性能上的差异会有,但并不一定能够很好的分析出来,毕竟没有统一的一个测试平台来测试它们。不同的程序、运行环境,都会让数据库的效果产生不同的结果。
现在IT系统的整合度越来越高,再不像以前,网络推系统,系统推数据库,数据库推应用,现在是任何环节都要统一。
@Amygo 分布式事务数据库 数据库管理员:
以下分布式事务数据库产品信息,依据国产数据库厂商公开资料整理,仅供参考。