大致了解到TiDB的复制组基于Region,每个Region 100M左右,Oceanbase基于数据分区复制,SequoiaDB基于数据节点复制,这些不同实现方式,对数据库表设计、SQL开发有啥不同吗?比如分(片)区键的考虑
大致了解到TiDB的复制组基于Region,每个Region 100M左右,Oceanbase基于数据分区复制,SequoiaDB基于数据节点复制,这些不同实现方式,对数据库表设计、SQL开发有啥不同吗?比如分(片)区键的考虑
解答:
(1)底层数据复制组 对数据库表设计、SQL开发时没有区别的,但对数据分片键的选择是有关的, TiDB、 SequoiaDB 则要求按照主键或隐含字段做数据分片,无法指定普通业务字段做数据分片键; Oceanbase、TDSQL、HotDB、GoldenDB、GaussDB T 是主键字段、唯一索引字段和普通字段都可以作为数据分片键,能任意指定。
(2) Oceanbase、TDSQL、HotDB、GoldenDB、GaussDB T 基于数据分片复制的
(3)TiDB、 SequoiaDB 是基于文件块复制的
(4)不同的技术实现则要求数据存储的副本数量是不同的,也即 TDSQL、HotDB、GoldenDB、GaussDB T 允许数据副本数为2个及以上, TiDB、 SequoiaDB 要求数据副本数为3个及以上
收起