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

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

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

收起
参与40

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

anikikonganikikong课题专家组数据库运维工程师中国民生银行

分布式数据库数据分片的特性是在应用过程中重点关注的点。因为分布式数据库的核心就是数据分片,这个最好配合业务规则来设置。当前比较常见的是类似MPP这样的基于hash分布数据,相同的业务数据最好能够基于同样的业务id来分片到同一个分区里。但是OB其实弱化了这一点,从技术上更进一步,愿意接受所有的交易都是分布式交易的设计,反而设计除了更易于用户使用的数据库。不过即便如此,还是建议选择合适的分区键。
举个简单的例子,如果有两张表:客户表和卡表,客户表基于客户号来分片的话,那么卡表里最好也带上客户号然后基于客户号分片。订单表也一样。尽可能多的让同样的分片规则照顾更多的表。

银行 · 2023-01-09
浏览1559

回答者

anikikong
数据库运维工程师中国民生银行
擅长领域: 数据库灾备双活

anikikong 最近回答过的问题

回答状态

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