分布式键值存储,适用于总数据大小为80TB的情况。

6

TL;DR:

需要一个分布式的键值存储,适用于平均每个条目大小达到50KB,并安装在Linux环境(专用服务器)上。文件系统解决方案可以。已经找到了几种解决方案:Ceph、Cassandra、Riak等。

Details

我正在寻找一种存储解决方案,用于我们的一个组件,它应该是一个键-值存储,具有扁平命名空间。

Scenario

读/写模式非常简单:

一旦写入键-值,接下来的几个小时内会进行一些读取操作。

此后,没有任何内容会触及给定的键-值。我们想为未来保留数据,“存储模式”。

Other usage aspects

  • 操作系统:Linux
  • Python客户端/连接器
  • 总大小:高达80TB(此值还代表未来需求)。
  • 平均条目大小(k-v对中的单个值):10到50 KB,未压缩,大多数是文本数据
  • 压缩:内置或外部
  • 加密:不需要
  • 网络带宽:1Gb,单个LAN
  • 服务器:专用(不在云中)

Most important requirements

“基本”要求如下:

  • 操作系统:Linux
  • Python客户端/连接器或通过HTTP的RESTful API
  • 可以轻松存储高达80TB(此值还代表未来需求)。
  • 最大读取延迟:首次读取几秒钟,存储模式为30秒(有关说明,请参见上文)
  • 内置复制(以便数据存储在多个节点上)

Nice to have

  • RESTful网关
  • 后台数据备份到另一个存储区域(以防灾难性数据恢复)。
  • 易于配置

What I've found so far

  • Ceph
  • HDFS
  • 基于HDFS的HBase
  • Lustre
  • GlusterFS
  • Mongo的GridFS-但我能相信Mongo的基础设施吗?
  • Cassandra-不是一个选项,因为合并过程消耗双倍的磁盘空间
  • Riak-看起来与Cassandra存在相同的问题,需要更多的研究
  • Swift + OpenStack(实际存储可以在Amazon S3上)
  • Voldemort
  • 还有数十种其他工具,但我不会在这里写出它们,因为其中一些具有专有许可证,而另一些则似乎不成熟。

如果您对我上面提到的任何工具(总容量超过50TB)或您认为足够的工具有任何建议,我将不胜感激。


这是一个购物问题。您已经成功地确定了适合您的产品,但我们可以添加的任何内容都将是主观意见。这是我的建议:如果您正在寻找键值文件存储,请使用Ceph。如果您正在寻找文件系统以将其视为键值存储,则Gluster同样可以胜任,但Ceph也可以做到。 - Charles
@Charles,我同意,但我仍然认为其他人可能会从中受益。感谢你的意见! - Ron Klein
1
我使用 Ceph - 迄今为止它一直在为我们工作。 - Erik Aronesty
FoundationDB是这个领域的新秀。 - amirouche
您可能会发现此答案很有趣。 - Vitaly Isaev
1个回答

0

只需使用Ceph(我指的是直接使用librados)。不要使用GlusterFS - 它会卡住。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接