TiKV中的“多筏”是什么?

时间:2019-06-19 09:10:59

标签: raft tidb tikv

前几天,我遇到了这个有趣的数据库,并在其官方网站上阅读了一些文档,我对TiKV(here)中的Raft Group有一些疑问,

假设我们有一个群集,该群集具有大约100个节点,并且复制因子为3,这是否意味着我们最终会遇到许多微小的Raft“气泡”,每个气泡仅包含3个成员,并且它们领导者选举和日志复制在“气泡”中。

或者,我们只有一个包含100个节点的胖筏“ buble”?

请帮助在这里阐明一些内容,谢谢!

2 个答案:

答案 0 :(得分:0)

在这种情况下,这意味着您有33个碎片(“气泡”),每个3个节点。

复制因子3在分布式系统中非常普遍。以我的经验,数据库使用3的复制因子(在3个不同的位置)作为持久性和延迟之间的最佳平衡点。 6个(在3个位置)严重偏向耐用性时;和9(位于3个位置),当他们再也不想丢失数据时。 9节点数据库非常稳定(基于paxos / raft),我只看到它们用作3节点数据库和6节点数据库的配置,这些数据库可以使用性能更高的协议(尽管raft也很有效) )。

答案 1 :(得分:0)

  

很多小的Raft“气泡”,每个气泡仅包含3个成员,

在您的上下文中,小的Raft气泡是TiKV中的Raft组,由3个副本组成(默认情况下)。数据在TiKV中的区域中自动分片,每个区域对应一个Raft组。为了支持大数据量,实施了多筏。因此,您可以将Multi-raft看作是均匀分布在各个节点上的微小Raft“泡沫”。

Check the image for Raft in TiKV here

  

我们只有一个胖筏“ buble”,其中包含100个节点?

否,Raft组不包含个节点,它们包含在节点中。

有关更多详细信息,请参见:What is Multi-raft in TiKV