【发布时间】:2015-11-05 15:14:03
【问题描述】:
我正在使用 Apache Storm 评估 Mongo DB。我的用例是我必须在 Apache Storm 中从 MongoDB 读取数据,在螺栓中进行一些处理并将其转储到 Neo4J 图形数据库中。
我正在使用 Mongo Spout,它将从 oplog 文件中读取数据。我浏览了文档,该文档说主节点将数据写入 oplog 文件,副本读取将从它异步发生。我知道 oplog 是一个有上限的集合(指定大小),数据正在以非常高的速度写入 oplog,并且与副本集的同步有点慢。如果 oplog 达到其最大大小,它会从文件的开头覆盖文档。在异步过程中,如果我们得到一些其他数据并且复制仍然不完整,则可能会丢失复制集,因为它不会同步。
我的问题是
1) 有没有办法克服这个问题?
2) 与 Apache Storm 一起使用时,我们如何更好地利用这个上限集合?
3) 如果我给出最大 oplog 大小,例如我给出 500GB 并且 oplog 有 1gb 的数据,它会占用并保留 500gb 的大小吗?
4) 这是适合我用例的正确解决方案吗?
提前致谢!!!
【问题讨论】:
标签: mongodb mongodb-query apache-storm