到目前为止,我一直在使用 MongoDB (Node.js + Mongoose) 来保存属于用户的帖子,以便以后检索它们以显示在流中(就像 Facebook、Twitter 等)
最近有必要让用户深入搜索他的流;MongoDB 的搜索不足,因此我在我的服务器(运行 CentOS、FWIW 的 Amazon EC2 m1.large 实例)上实现了 ElasticSearch。
我的问题:我现在处于在 MongoDB(缓存用户流的位置)和 ElasticSearch(搜索它的位置)之间复制数据的位置。
将我的缓存完全移动到 ElasticSearch 中,一起摆脱 MongoDB 有什么缺点吗?将存储空间翻倍似乎是一种浪费,而且我没有其他地方可以访问这些数据(它仅在呈现/搜索帖子流时使用)。
具体来说,我想确保我没有忽略任何关于:性能。我喜欢减少 MongoDB 作为瓶颈的想法,但我担心 ElasticSearch 的内存开销。MongoDB 在我的云设置中运行在自己的服务器上,而 ElasticSearch 运行在与 node.js 相同的实例上。这意味着我将拥有更多ElasticSearch 服务器(node.js 服务器位于自动缩放阵列中),但它们都不是专用服务器(与 MongoDB 不同)。