看了一下官方文档,TiKV 自动将底层数据按照 Key 的 Range 进行分片,以 Region 为单位,将数据分散在集群中所有的节点上,一个 Region 的数据会保存多个副本,一个 Region 的多个 Replica 会保存在不同的节点上,构成一个 Raft Group。
那我理解的就是,比如99万数据过来,TIKV把数据按Range进行分片,分别分配到比如3个节点上,防止100万数据压力都在一个节点上,另外两个节点没东西。比如每个节点都存33万,但是我这里有一个疑问,上面也说了一个 Region有多个副本,副本又在不同的节点,那这个意思不就是 比如一份33万的数据存在A节点上,另外2个副本存在B C节点上,另一份33万数据存在B节点上,这份数据的副本又存在A C两个节点上,这样的话每个节点都还是存了99万(一份33万数据,两份BC 节点的副本,加起来就是33+33+33=99W) 的数据呀,每个节点压力都没有减轻呀,哪里理解错了呢? 还有另外一个疑问TIKV存储模型是Key-Value 模型,mysql存储模型是什么呢,这个没有查到,还希望大佬们解答下这两个疑问,感谢