auto commit
This commit is contained in:
@ -77,7 +77,7 @@
|
||||
|
||||
1. 强一致性:新数据写入之后,在任何数据副本上都能读取到最新值;
|
||||
2. 弱一致性:新数据写入之后,不能保证在数据副本上能读取到最新值;
|
||||
3. 最终一致性:新数据写入之后,只能保证过了一个时间窗口才能读取到最新值;
|
||||
3. 最终一致性:新数据写入之后,只能保证过了一个时间窗口后才能在数据副本上读取到最新值;
|
||||
|
||||
### 4. 可扩展性
|
||||
|
||||
@ -93,7 +93,7 @@
|
||||
|
||||
传统的哈希分布算法存在一个问题:当节点数量变化时,也就是 N 值变化,那么几乎所有的数据都需要重新分布,将导致大量的数据迁移。
|
||||
|
||||
#### 一致性哈希
|
||||
**一致性哈希**
|
||||
|
||||
Distributed Hash Table(DHT):对于哈希空间 0\~2<sup>n</sup>,将该哈希空间看成一个哈希环,将每个节点都配置到哈希环上。每个数据对象通过哈希取模得到哈希值之后,存放到哈希环中顺时针方向第一个大于等于该哈希值的节点上。
|
||||
|
||||
@ -109,7 +109,7 @@ Distributed Hash Table(DHT):对于哈希空间 0\~2<sup>n</sup>,将该
|
||||
|
||||
顺序分布的数据划分为多个连续的部分,按一定策略分布到不同节点上。例如下图中,User 表的主键范围为 1 \~ 7000,使用顺序分布可以将其划分成多个子表,对应的主键范围为 1 \~ 1000,1001 \~ 2000,...,6001 \~ 7000。
|
||||
|
||||
其中 Meta 表是为了支持更大的集群规模,它将原来的一层索引结分成两层,使用 Meta 表来维护 User 子表所在的节点,从而减轻 Root 节点的负担。
|
||||
引入 Meta 表是为了支持更大的集群规模,它将原来的一层索引结分成两层,Meta 维护着 User 子表所在的节点,从而减轻 Root 节点的负担。
|
||||
|
||||
<div align="center"> <img src="../pics//8f64e9c5-7682-4feb-9312-dea09514e160.jpg"/> </div><br>
|
||||
|
||||
|
Reference in New Issue
Block a user