HyperDex: A Searchable Distributed Key-Value Store

HyperDex strategically places objects on servers so that both search and key-based operations contact a small subset of all servers in the system. Whereas typical key-value stores map objects to nodes using just the key, HyperDex takes into account all attributes of an object when mapping it to servers.

A three-dimensional hyperspace.


The actual mapping technique used by HyperDex ishyperspace hashing. Hyperspace hashing creates a multidimensional euclidean space into which objects are mapped. Each attribute in the original object corresponds to one dimension in the euclidean space. Objects are hashed into this space by hashing all attributes to determine a coordinate in the space.

For example a table of objects with "first name", "last name" and "phone number" attributes corresponds to a three dimensional hyperspace where each dimension corresponds to one attribute in the original object. Such a space is depicted in the diagram at right. In this space, there exist three objects. The red point is "John Smith" whose phone number is 555-8000. The green point is "John Doe" whose whone number is 555-7000. The blue point is "Jim Bob" whose phone number is 555-2000. Anyone named "John" must map to somewhere in the yellow plane. Similarly, anyone with the last name "Smith" must map to somewhere within the translucent plane. Naturally, all people named "John Smith" must map to somewhere along the line where these two planes intersect.

In each multi-dimnesional space corresponding to a type of object, HyperDex assigns nodes to disjoint regions of the space. The above figure shows two of these assignments. Notice that the line for "John Smith" only intersects two out of the eight assignments. Consequently, performing a search for all phone numbers of "John Smith" requires contacting only two nodes. Furthermore, the search could be made more specific by restricting it to all people named "John Smith" whose phone number falls between 555-5000 and 555-9999. Such a search contacts only one out of the eight servers in this hypothetical deployment.

http://hyperdex.org/about/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值