知识卡片
虚拟桶解耦
内容
虚拟桶把“数据分片”从“物理机器”中抽离出来,新增机器时只调整桶到机器的映射表。它牺牲一层路由查表,换来平滑扩容和负载再均衡,和[[二级映射分片]]是同一思想。
参考来源
- 位置:《大数据日知录:架构与算法》第1章《数据分片与路由》"1.2.2 虚拟桶(Virtual Buckets)"一节(源文件:_epub-src/OEBPS/text00006.html)
- 结论依据:原文以Membase为例,说明"在待存储记录和物理机之间引入了虚拟桶层……第二层映射是虚拟桶和物理机之间的映射关系……一个物理机可以容纳多个虚拟桶,其具体实现方式是通过查表来实现的",虚拟桶层让扩容只需调整该映射表。
- 原始内容:Membase在待存储记录和物理机之间引入了虚拟桶层,所有记录首先通过哈希函数映射到对应的虚拟桶,记录和虚拟桶是多对一的映射关系……第二层映射是虚拟桶和物理机之间的映射关系,同样也是多对一映射,一个物理机可以容纳多个虚拟桶,其具体实现方式是通过查表来实现的,即Membase通过内存表来管理这层映射关系。