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

Ron*_*ein 6 key-value-store distributed-filesystem

TL; DR:

我想建议分布式键值存储,平均值.入口大小最多50KB,安装在Linux环境(专用服务器)上.
文件系统解决方案可以.
我找到了一些解决方案:Ceph,Cassandra,Riak等等.

细节

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

脚本

读/写模式非常简单:

写入键值后,在接下来的几个小时内会有一些读数.

在那之后,没有任何东西触及给定的键值.我们希望将数据保留用于将来的目的,"存储模式".

其他用法方面

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

最重要的要求

"基础"要求是:

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

很高兴有

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

到目前为止我发现了什么

  • 头孢
  • HDFS
  • HBase在HDFS之上
  • 光泽
  • GlusterFS
  • Mongo的GridFS - 但我能相信Mongo的基础设施吗?
  • Cassandra - 不是一个选项,因为合并过程会消耗双倍的磁盘大小
  • Riak - 看起来像Cassandra一样有问题,需要更多的研究
  • Swift + OpenStack(实际存储可以在Amazon S3上)
  • 伏地魔
  • 有许多其他工具,但我不会在这里写,因为其中一些有专有许可,其他工具似乎不成熟.

我对以上提到的任何工具(总容量超过50TB)或者您认为足够的工具的任何建议表示感谢.

soc*_*air 0

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