用于存储大文件的NoSQL数据库?

15

我需要将非常大(超过512 MB)的二进制文件存储到NoSQL数据库中。哪种特定的NoSQL数据库实现允许这样做?


1
你应该澄清一下你想要随机访问二进制文件的目的。在二进制文件中进行随机访问听起来很像是数据库操作。我不确定你是否想在你的数据库中再放一个数据库 ;) - anon
1
根据这个问题,MongoDB不适合大文件,它在2GB的存储空间上会崩溃...尝试寻找一个键值数据库,riak和redis都不错,但是这些数据库不建议使用超过50MB的大文件。也许mcdb适合处理这种情况:https://dev59.com/9WHVa4cB1Zd3GeqPoJSp - inf3rno
相关:https://dev59.com/6HE85IYBdhLWcg3wNgrk - Amir Ali Akbari
3个回答

8

我没有经验,但是我听说Mongos GridFS是专门用于存储文件的唯一东西。


1
+1,我两天前进行了一些测试。它适用于MongoDB,但我想尝试找到其他东西进行比较;) - Edward83

7
如果您要在非关系型数据库中存储二进制文件,可以考虑使用Luwak。您还可以考虑使用Hadoop的HDFS以分布式方式存储文件。在您有三个或更多服务器运行它们和快速网络支持文件复制之前,这些解决方案都不会为您做太多事情。
不知道存储大量二进制数据的原因,这没有太多意义。您的文件系统能够很好地存储具有可搜索元数据的二进制文件。如果您只是想编目电影及其元数据,则有更好的解决方案。如果您正在尝试获取电影的分布式和冗余存储,则有更好的解决方案。

6

有一个超级精简的NoSQL存储机制,具有出色的随机访问支持。事实上,有许多竞争的实现采用了通用的、标准化的接口,并获得了来自全球数亿用户的多年测试。

不需要再看其他了,使用fopen吧。它可以轻松应对Web规模!


+1,我认为fopen对于缓存数据很好))) - Edward83

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