我需要存储的二进制文件巨大量(10 - 20 TB,每个文件范围从512 kb至100 MB)。我应该使用redis来存储大量的二进制文件吗?
我需要知道Redis是否对我的系统有效。 我需要在我的系统如下性质:
- 高可用性
- 故障转移
- 拆分
我打算使用商用硬件集群,以降低成本,尽可能。请建议使用Redis构建这样的系统的优缺点。我也担心Redis的高内存要求。
我需要存储的二进制文件巨大量(10 - 20 TB,每个文件范围从512 kb至100 MB)。我应该使用redis来存储大量的二进制文件吗?
我需要知道Redis是否对我的系统有效。 我需要在我的系统如下性质:
我打算使用商用硬件集群,以降低成本,尽可能。请建议使用Redis构建这样的系统的优缺点。我也担心Redis的高内存要求。
我不会使用Redis来完成这样的任务。其他产品将会更适合IMO。
Redis是内存数据存储。如果你想存储10-20TB的数据,你需要10-20TB的RAM,这很贵。此外,内存分配器针对小对象进行了优化,而不是大对象。你可能不得不剪切你的文件在各种小块,这不会很方便。
Redis不提供HA和故障转移的临时解决方案。提供主/从复制(并且工作得很好),但不支持此故障转移的自动化。客户必须足够聪明才能切换到正确的服务器。于服务器端的东西(但这是未指定的)具有切换以可靠的方式主站和从站的节点之间的角色。换句话说,Redis只提供自己动手的HA /故障转移解决方案。
分片必须在客户端实现(与memcached一样)。有些客户支持它,但不是全部。最快的客户(hiredis)没有。无论如何,重新平衡之类的事情必须在Redis之上实施。应该支持这种分片功能的Redis Cluster还没有准备好。
我会建议使用一些其他解决方案。 MongoDB与GridFS可能是一种可能性。与HDFS Hadoop是另一个。如果你喜欢前沿的项目,你可能想给Elliptics Network一试。
你的系统需要存储*文件*,你说呢?这无疑是以前没有人遇到过的独特要求!我想知道如果......不,没有任何想法。我希望你能发明这个...“文件系统”,我想我可以称之为它。 – 2016-11-02 22:03:25