2010-03-30 58 views
6

我寻找一个适当地分布(即不只是分片)并持续键/值((不是由单个节点上可用内存,或节点的群集边界) “nosql”)存储,它支持通过主键进行范围查询。最简单的分布,支持主键范围查询持久键/值存储

迄今为止最接近这样的系统是卡桑德拉,这上面呢。但是,它增加了对其他功能的支持,这些功能对我来说不是必需的。所以虽然我喜欢它(当然会考虑使用它),但我试图找出是否可能有其他成熟的项目来实现我所需要的。具体而言,对我而言,我需要的唯一价值就是将其作为一个blob访问。但是,对于关键字,我需要范围查询(如在访问值中排序,受开始和/或结束值限制)。虽然值可以有结构,但不需要在服务器端使用该结构(可以执行客户端数据绑定,灵活的值/内容类型等)。 对于额外的奖励,Cassandra风格的存储(日志式,所有顺序写入)似乎对我的用例来说非常理想。

要过滤的答案,我已经研究了像通用领域内的一些替代方案:伏地魔(键/值,但没有排序)和CouchDB的(只是碎片化,更面向批处理的);并且知道系统在分配时并不是非常分散(bdb变体,东京内阁本身(不确定是否有暴君可能有资格),redis(仅限内存存储))。

编辑:看起来像支持的HBase主键范围查询,且其数据被分布因基础HDFS。但是我不认为它是从系统角度完全分布的,因为区域服务器只是分割关键空间,但没有冗余(假设我没有误读文档)。

+0

好吧,看起来它仍然是卡桑德拉;这很好,这是一个很棒的项目。我只是想确保我不会在这里错过一个明显的竞争者。 – StaxMan 2010-04-09 17:39:15

回答

0

如果您正在寻找简单,你可能想看看Redis。就数据结构而言,它比Cassandra简单得多。它确实只是一个关键价值商店,而Cassandra则拥有专栏系列和超级专栏。

+1

是的,除非不分发。 Redis对于单主机(或主/从)用例看起来非常好,或者可能用于分片。 – StaxMan 2010-05-04 20:45:38

0

你试过微软的Azure表存储?

+0

没有。它是开源的吗?我应该进一步提到这是一个限制;我不寻找商业解决方案。但是,谢谢你指出它。无论如何,我应该多读一点。 – StaxMan 2011-06-22 16:34:08