2012-01-09 67 views
20

我需要存储的二进制文件巨大量(10 - 20 TB,每个文件范围从512 kb至100 MB)。我应该使用redis来存储大量的二进制文件吗?

我需要知道Redis是否对我的系统有效。 我需要在我的系统如下性质:

  • 高可用性
  • 故障转移
  • 拆分

我打算使用商用硬件集群,以降低成本,尽可能。请建议使用Redis构建这样的系统的优缺点。我也担心Redis的高内存要求。

+2

你的系统需要存储*文件*,你说呢?这无疑是以前没有人遇到过的独特要求!我想知道如果......不,没有任何想法。我希望你能发明这个...“文件系统”,我想我可以称之为它。 – 2016-11-02 22:03:25

回答

17

我不会使用Redis来完成这样的任务。其他产品将会更适合IMO。

Redis是内存数据存储。如果你想存储10-20TB的数据,你需要10-20TB的RAM,这很贵。此外,内存分配器针对小对象进行了优化,而不是大对象。你可能不得不剪切你的文件在各种小块,这不会很方便。

Redis不提供HA和故障转移的临时解决方案。提供主/从复制(并且工作得很好),但不支持此故障转移的自动化。客户必须足够聪明才能切换到正确的服务器。于服务器端的东西(但这是未指定的)具有切换以可靠的方式主站和从站的节点之间的角色。换句话说,Redis只提供自己动手的HA /故障转移解决方案。

分片必须在客户端实现(与memcached一样)。有些客户支持它,但不是全部。最快的客户(hiredis)没有。无论如何,重新平衡之类的事情必须在Redis之上实施。应该支持这种分片功能的Redis Cluster还没有准备好。

我会建议使用一些其他解决方案。 MongoDB与GridFS可能是一种可能性。与HDFS Hadoop是另一个。如果你喜欢前沿的项目,你可能想给Elliptics Network一试。

+3

HDFS链接404'd,尝试:http://hadoop.apache.org/docs/stable/hdfs_design.html – Seaux 2013-10-01 19:41:57

+1

固定的,谢谢! – 2013-10-02 08:49:39

+1

链接又坏了,这可能是不错的:http://hadoop.apache.org/docs/r1.2.1/hdfs_design.html,但具体版本。 Apache似乎没有顶级HDFS页面。 – ravi 2014-05-07 16:57:27

相关问题