elasticsearch的内部数据存储机制



过去2个月我一直在使用elasticsearch。我使用不同语言的REST方法和API支持来索引、获取和搜索数据。我也读了很多关于elasticsearch的文章,发现将它用作数据存储并不是一个好的选择。为什么会这样?我也很好奇elasticsearch内部是如何存储索引数据的。有什么好的联系或解释吗?

Elastic Search是建立在Apache Lucene之上的——这里有一个关于Lucene索引文件结构的参考文档:

http://lucene.apache.org/core/4_7_2/core/org/apache/lucene/codecs/lucene46/package-summary.html package_description

关于它作为数据存储是否是一个好的选择,我认为这更多是个人的观点和特定的用例,而不是一个可以证明的事实。它没有像MySQL那样的事务支持,如果这是你想要的。在这种情况下,它与其他NoSQL解决方案相当。这是一篇关于权衡和问题的相当不错的文章:https://www.found.no/foundation/elasticsearch-as-nosql/

最后,这取决于你对数据做了什么,以及你需要什么级别的鲁棒性。

最新更新