查看其它 6 个回答jwlvinner的回答

jwlvinnerjwlvinner数据库管理员证券公司

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

证券 · 2021-05-11
浏览1924

回答者

jwlvinner
数据库管理员证券公司

回答状态

  • 发布时间:2021-05-11
  • 关注会员:9 人
  • 回答浏览:1924
  • X社区推广