哈希分片之虚拟桶技术(virtual buckets)

上一节讲述的哈希取模法 不利于扩展,物理机和hash函数严重耦合。这一节讲述的虚拟桶技术比round robin更容易扩展,数据分片和物理机分开处理,couchbase就是利用的此技术。

记录和物理机之间引入了虚拟桶层,记录通过hash函数映射到虚拟桶,记录和虚拟桶是多对一的关系;第二层是虚拟桶和物理机之间的映射,同样也是多对一的关系,及一个物理机对应多个虚拟桶,这个层关系是通过内存表实现的。

对照抽象模型章节,key-partition是通过hash函数实现的,partition-machine是通过内存表来实现的。

与round robin相比,当新加入物理机时,只需把某些虚拟桶从原来分配的机器迁移到新的物理机即可,只影响受影响的条目,具有较强的灵活性

哈希分片之虚拟桶技术(virtual buckets)_第1张图片

你可能感兴趣的:(架构,大数据,hash,couchbase,虚拟桶)