mongodb - 替代glusterfs + mongodb进行大型文件存储还是小型文件存储(在kubernetes上)?

标签 mongodb kubernetes glusterfs

我正在为我们的应用程序堆栈设置一个具有许多不同组件的kubernetes集群,我试图在最小化组件数量的同时平衡存储需求。

我们有一个网络抓取工具,每天都会下载成千上万的HTML文件(也许还有PDF),我想将它们存储在某个地方(以及一些JSON元数据)。我想以冗余的可扩展方式存储文件,但是拥有数百万个小文件似乎不适合例如GlusterFS。

同时,我们的系统使用了一些非常大的二进制文件(几千兆字节大),并且可能还有许多较小的二进制文件(10 MB)。这些似乎不适用于像MongoDB这样的任何分布式NoSQL DB。

因此,我正在考虑使用MongoDB + GlusterFS来分别满足这两个需求,但是我宁愿减少 Activity 部件的数量,而只使用一个系统。我还阅读了有关不使用GlusterFS的各种警告,例如Redhat支持(我们绝对不会提供)。

谁能推荐替代方案?我正在寻找一种易于设置/维护并支持大小文件的分布式二进制对象存储。我们设置的优点之一是文件几乎不会被更新或删除(只写然后读取),我们甚至不需要索引(将由Elasticsearch单独处理)或高速读取访问。

最佳答案

你在云里吗?如果在AWS S3中是一个不错的选择,对象存储听起来可能像您想要的那样,但不确定您的要求。

如果不在云中,则可以运行Minio(https://www.minio.io/),它将为您提供与s3相同类型的对象存储。

我现在执行类似的操作,将二进制文档存储在MongoDB中,并使用EBS卷支持节点。

关于mongodb - 替代glusterfs + mongodb进行大型文件存储还是小型文件存储(在kubernetes上)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41302350/

相关文章:

node.js - Windows 物联网 - Mongodb - 覆盆子

mongodb - Mongo DB 上有 100 TB 的数据?可能的?

elasticsearch - 如何将数据从 kubernetes 集群中的 fluentd 发送到集群外远程独立服务器中的 elasticsearch?

kubernetes statefulsets 索引/序数暴露在模板中

kubernetes - 无法重用现有持久卷 (GlusterFS)

kubernetes - 使用用户名和密码访问Kubernetes API

mongodb - 如何加速mongo查询

无资源请求/限制的 Kubernetes 部署

linux - 无法通过 samba 从 Windows 访问 GlusterFS 安装卷

mongodb - 更新 MongoDB 中数组内数组内的嵌入对象