当我使用elasticsearch作为我的主数据存储区时,或者当我使用mongoDB作为数据存储区和弹性搜索作为搜索引擎时,这是一个好主意吗?
这是最好的做法,为什么?
感谢您的帮助
答案 0 :(得分:0)
这取决于您打算使用的数据。
由于Lucene存储索引的方式,Elasticsearch不是高度更新内容的最佳数据存储区。如果您是“仅附加”流程,那么Elasticserach 可能可以。如果您需要执行大量扫描或映射缩减类型逻辑,那么您可能还需要考虑另一个数据存储,因为Elasticsearch已针对选择少量文档而非批量处理进行了优化。
答案 1 :(得分:0)
添加到其他答案 - 从耐久性的角度来看,我会限制使用Elastic进行搜索/发现和可视化,因为虽然需要付出很多努力来提高弹性,但是群集可能会变红 - http://www.elastic.co/guide/en/elasticsearch/resiliency/current/
如果您使用Elastic作为唯一商店,我建议定期拍摄快照。
答案 2 :(得分:0)
Elastic在过去几年中在弹性方面取得了很大进展:https://www.elastic.co/guide/en/elasticsearch/resiliency/current/index.html
弹性不经常更新。它的MVCC模型意味着每个版本化文档都是不可变的。更新要求它检索文档,执行内存中合并,然后重新索引。更新操作还会留下旧版本的痕迹。
您的里程可能会有所不同,但在ntango.com,我们不科学的基准测试显示单个文档检索的延迟比MongoDB慢2到5倍。