分布式键值存储,总数据大小为80TB



TL;博士:

我想推荐一个分布式键值存储,平均条目大小高达50KB,安装在Linux环境(专用服务器)上
文件系统解决方案即可。
我找到了一些解决方案:Ceph、Cassandra、Riak,还有更多。

详细信息

我正在为我们的一个组件寻找一个存储解决方案,它应该是一个键值存储、平面命名空间。

场景

读/写模式非常简单:

一旦一个键值被写入,在接下来的几个小时内就会有一些读取。

在那之后,任何东西都不会触及给定的键值。我们希望保留这些数据以备将来使用,即"存储模式"。

其他使用方面

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

最重要的要求

"基本"要求是:

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

很高兴有

  • RESTful网关
  • 后台数据备份到另一个存储(用于在发生灾难时进行数据恢复)
  • 易于配置

到目前为止我发现了什么

  • Ceph
  • HDFS
  • HDFS顶部的HBase
  • Lustre
  • GlusterFS
  • Mongo的GridFS-但是我可以信任Mongo的基础设施吗
  • Cassandra-不是一个选项,因为合并过程消耗双倍的磁盘大小
  • Riak-看起来它和Cassandra有同样的问题,需要更多的研究
  • Swift+OpenStack(实际存储可以在Amazon S3上)
  • 伏地魔
  • 有几十个额外的工具,但我不会在这里写它们,因为其中一些工具有专有许可证,而其他工具似乎还不成熟

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

只需使用Ceph(我的意思是直接使用librados)。不要使用GlusterFS——它很臭。

最新更新