Zan*_*aes 4 mongodb elasticsearch
到目前为止,我一直在使用MongoDB(Node.js + Mongoose)来保存属于用户的帖子,这样我以后可以检索它们以在流中显示(就像Facebook,Twitter等)
最近有必要允许用户深入搜索他的流; MongoDB的搜索不足,所以我在我的服务器上实现了ElasticSearch(运行CentOS的Amazon EC2 m1.large实例,FWIW).
我的问题:我现在处于一个位置,我正在复制MongoDB(用户的流被缓存)和ElasticSearch(搜索它的位置)之间的数据.
将我的缓存完全移动到ElasticSearch中是否有任何不利之处,一起摆脱MongoDB?将存储空间加倍似乎是浪费,而且我没有其他地方可以访问这些数据(仅在呈现/搜索帖子流时使用).
具体来说,我想确保我不会忽视任何重新:性能.我喜欢将MongoDB作为瓶颈减少的想法,但我担心ElasticSearch的内存开销.MongoDB在我的云设置中运行在自己的服务器上,而ElasticSearch在与node.js相同的实例上运行.这意味着我将拥有更多 ElasticSearch服务器(node.js服务器位于自动扩展阵列中),但它们每个都不是专用服务器(与MongoDB不同).
使用ES作为"主要数据源"的唯一重大障碍是现在没有一个好的备份机制.ES团队正在努力并期望它在今年年底之前完成,但与此同时,您将不得不实施自己的备份脚本.
就性能而言,这很难说,因为几乎每种情况都是独一无二的.ES从记忆中获益 - 因此更多总是更好.特别是,排序/过滤器/方面/地理位置都喜欢吃内存.例如,如果你在分面方面没有做太多的事情,那么你可能会因为记忆力较少而做得很好.
ES不需要在专用节点上运行......但它会愉快地使用尽可能多的资源.
| 归档时间: |
|
| 查看次数: |
2385 次 |
| 最近记录: |