Couchbase权威指南(四)

vBuckets

一个vBucket定义为couchbase集群里key空间的一个子集的拥有者。通过使用vBuckets,信息在集群里分发更有效。vBucket系统被用于分布式数据,以及支持多节点间的数据复制。

客户端在访问bucket里的数据时,是与存储了该数据的vBucket所在的集群节点进行通信。这种直接访问方式允许客户端与数据节点直接通信,而无需使用代理或重定向架构。其结果是从逻辑分区数据里抽象了物理拓扑,保证了couchbase的弹性服务。

这种架构也不同于memcached所用的方法,memcached使用客户端key哈希,从预定义的列表里选取服务器。这要求维护一份服务器的活跃列表,并指定哈希算法例如Ketama,以在拓扑里维护数据一致性。vBucket架构也比传统的RDBMS系统使用的数据分区更灵活。

vBuckets并非面向用户的组件,但它们是couchbase服务器里非常重要的组件,是至关重要的可用性和弹性服务的支承。

每个文档ID属于一个vBucket。有一个映射函数用来计算给定的文档属于哪个vBucket。在couchbase服务器里,该映射函数是个哈希函数,它取文档ID作为输入,输出vBucket标识符。一旦定位了vBucket标识符,会继续从一个表里查找该vBucket位于哪个服务器上。这个表包含每行一个vBucket,vBucket与它的宿主主机成对出现。位于该表里的服务器通常服务了多个vBuckets。

此条目发表在Common分类目录,贴了标签。将固定链接加入收藏夹。