关于bucket,hashtree,proxy,sync以及读写的过程,还是有点疑惑

108 views
Skip to first unread message

王仲玉

unread,
Sep 21, 2011, 3:53:41 AM9/21/11
to BeanDB
  hi,Davie,想请教4个问题,问题有点多,不好意思啊:

  1.使用beansdb的话,先需要估测上限的容量,比如256个bucket,再开始根据256,以及每bucket的备份数N=3,以及现有比
如20个节点,来决定每个节点存256个bucket中的哪几个,最终形成一张bucket和节点之间的映射关系。以上描述的对吗?是不是在生产运行过
程中,不可能新产生一个bucket,都是预先规划好的?那上限空间不够用了怎么办呢?

  2.proxy中可能会根据具体业务的逻辑id,把具体业务的key,通过sharding映射到具体的bucket上?然后再根据bucket和
节点的映射表,找到对应的3台节点(假设N=3),再根据负载的情况,选择1台(假设W=1)写入该节点,写入的过程是这样吗?但是另外2台就得靠定时
的同步操作来保持一致了吗?还是一般都设置W=N=3?使得每次写入的过程中,就把几个节点都写入了。

  3.关于每个节点上的hashtree,假设整个beansdb节点群中一共256个bucket,但a节点上只有4个bucket,是不是a节点
的hashtree只有这4个bucket的详细的bitcask信息,其他252个位置是空的。因此单节点的内存容量限制了该节点能存多少条记录,并
不限制整体节点群中的存储量,是吗?

  4.另外在定时的sync的时候,是不是也只是2个节点间,如果有重叠的bucket,才会同步?

非常感谢!

Davies Liu

unread,
Sep 21, 2011, 4:16:10 AM9/21/11
to bea...@googlegroups.com
2011/9/21 王仲玉 <zzf...@gmail.com>

  hi,Davie,想请教4个问题,问题有点多,不好意思啊:

  1.使用beansdb的话,先需要估测上限的容量,比如256个bucket,再开始根据256,以及每bucket的备份数N=3,以及现有比
如20个节点,来决定每个节点存256个bucket中的哪几个,最终形成一张bucket和节点之间的映射关系。以上描述的对吗?是不是在生产运行过
程中,不可能新产生一个bucket,都是预先规划好的?那上限空间不够用了怎么办呢?

bucket 有两个地方会用到,一个是beansdb的存储节点,会根据bucket的设置用多个目录来存放数据,便于迁移和扩容。
单bucket是整个系统的最小拆分单位,决定了整个系统的扩容能力。一般T=1或者2也就足够了。

另外一个地方是客户端或者proxy中会用到,用来管理hash区间到存储节点的映射关系。
如果存储节点使用了较多的bucket(T=2),但一开始并没有这么多数据(只有3个节点),
那Proxy可以使用更少的bucket数目,比如1(T=0), 或者 16 ,根据节点的数量和各节点的数据分配而定。
 
  2.proxy中可能会根据具体业务的逻辑id,把具体业务的key,通过sharding映射到具体的bucket上?然后再根据bucket和
节点的映射表,找到对应的3台节点(假设N=3),再根据负载的情况,选择1台(假设W=1)写入该节点,写入的过程是这样吗?但是另外2台就得靠定时
的同步操作来保持一致了吗?还是一般都设置W=N=3?使得每次写入的过程中,就把几个节点都写入了。

N=3时,会挑选3个节点进行写入,保证至少W个节点写入成功才返回(如果前三个节点有两个失败了,会挑选第4个。。。)。
 
  3.关于每个节点上的hashtree,假设整个beansdb节点群中一共256个bucket,但a节点上只有4个bucket,是不是a节点
的hashtree只有这4个bucket的详细的bitcask信息,其他252个位置是空的。因此单节点的内存容量限制了该节点能存多少条记录,并
不限制整体节点群中的存储量,是吗?
 
对。

  4.另外在定时的sync的时候,是不是也只是2个节点间,如果有重叠的bucket,才会同步?


对。
 
非常感谢!



--
 - Davies

王仲玉

unread,
Sep 21, 2011, 4:27:30 AM9/21/11
to BeanDB
基本明了了。非常感谢:)

Davies Liu

unread,
Sep 21, 2011, 4:28:47 AM9/21/11
to bea...@googlegroups.com
我最近正在改进 proxy, 已经简单的Web监控,会尽快发布~

2011/9/21 王仲玉 <zzf...@gmail.com>



--
 - Davies
Reply all
Reply to author
Forward
0 new messages