在国产分布式数据库使用中,大家是否真正使用分布式数据库的“分布式”?

以OceanBase数据库为例,假设集群有3个zone,在创建租户时,优先级选择时,可以选择所有主副本都在一个ZONE,也可以将主副本均衡的分布在多个ZONE内,前者其实也就是是集中式,后者才是“分布式”数据库。真正是的“分布式数据库”如果适配完美将会大大提高系统的吞吐量,如果适配较差可...显示全部

以OceanBase数据库为例,假设集群有3个zone,在创建租户时,优先级选择时,可以选择所有主副本都在一个ZONE,也可以将主副本均衡的分布在多个ZONE内,前者其实也就是是集中式,后者才是“分布式”数据库。
真正是的“分布式数据库”如果适配完美将会大大提高系统的吞吐量,如果适配较差可能会出现性能比集中式更差的情况,所以想了解下大家在分布式数据库设计的时候采用了什么方式,依据哪些因素,谢谢。

收起
参与40

查看其它 6 个回答twt大禹的回答

twt大禹twt大禹数据库架构师大禹

观点与你是一致的
从数据库的本质需求有两个:
1.像使用单机数据库一样使用分布式数据库,二级索引很好的解决多维度查询的问题。
这一点背后隐含的意思是,几十年来沉淀的IT系统实现有效的复用,而不是改成所谓的分库分表,开口就说分片之类的。
多少金融机构的开发人员为了使用分库分表的数据库,把存储过程翻译成Java语言,把DB2、Oracle的SQL语法翻译成Mysql语法,对业务开发同学个人来说,这件事情本身毫无意义;对业务系统而言,业务重写是否能否充分测试?增加了业务的风险。
2.利用分区表、复制表很好的解决了扩展性的问题。

  • 从性能容量的角度,分布式一定优于单机库的;如果不追求性能的机制,不需要做架构上做更多考虑。
  • 对新的系统而言,统一维度分区可以有效降低分布式事务,提升性能。行业里提到存算分离的数据库,其结果是每个事务都跨不同物理机。无论是分库分表的数据库,还是某原生分布式,本质原因是用了国外开源的rocksdb、mysql、postgreSQL等一堆,就将“存算分离”的大旗抗上。
银行 · 2023-01-11
浏览1424

回答者

twt大禹
数据库架构师大禹

twt大禹 最近回答过的问题

回答状态

  • 发布时间:2023-01-11
  • 关注会员:8 人
  • 回答浏览:1424
  • X社区推广