Elasticsearch是一个独立的数据库还是与MongoDB或其他数据库一起使用?

19

Elasticsearch是一个数据库吗?将其用作我的主要数据库是否安全?将其用作我的主要数据库存储敏感数据是否安全?

4个回答

17

Elasticsearch是一种独立的数据库,主要用于文本搜索和相关数字聚合查询。通常不建议将Elasticsearch作为主要数据库,因为一些操作(如插入值)比其他数据库更昂贵。

您可以将Elasticsearch与任何其他数据库(如MongoDB或MySQL)一起使用,其中其他数据库可以充当主数据库,并且您可以将Elasticsearch与主数据库同步以实现数据的“可搜索”部分。

Elasticsearch与Elastic的其他产品(如Logstash用于日志记录和Kibana用于可视化)配合使用效果很好。

Elasticsearch官网上对其及其主要用途有详细的描述。


4
您可能希望查看以下链接,以了解Elasticsearch作为数据库的有用性以及在将其用作主要数据库时需要做出的权衡。 https://www.elastic.co/blog/found-elasticsearch-as-nosql 通常情况下,Elasticsearch主要用作索引存储库,以快速检索/搜索数据。 Elasticsearch由高性能文本搜索引擎库Lucene驱动,这使它成为提供应用程序全文搜索平台的非常强大的工具。但是,通常建议您的“真相来源”数据库与Elasticsearch索引数据本身分开,并且因为其主要操作(全文搜索)的性质,它没有关注数据库的其他方面,例如耐久性,安全性和写入一致性等。希望这有所帮助。

3

这个问题来源于2018年,当时我的答案可能是一个明确的“不” - 不要将Elasticsearch作为您唯一和主要的数据库。

但是自2015年以来,已经发现并解决了许多弹性问题,在最近几年中,已经添加了许多功能,特别是稳定性和弹性功能,如果考虑到正确的用例并以正确的方式利用正确的功能,那么绝对值得考虑,可以将其作为主要数据存储使用。(链接)


2
我曾经使用ELK堆栈一次来监控应用程序的日志文件。所使用的“数据库”是Elasticsearch。它似乎定位为一个主要的数据库,也是“开源且免费使用”的。
Elasticsearch是一个分布式的、RESTful的搜索和分析引擎,能够解决越来越多的用例。作为弹性堆栈的核心,它集中存储您的数据,以便您可以发现预期的结果并揭示意外的情况。
我的理解是,整个ELK堆栈由三个工具组成。即ELK堆栈:Elasticsearch、Logstash、Kibana。其中Elasticsearch是一个搜索和分析引擎。Logstash是一个服务器端数据处理管道,可以同时从多个来源摄取数据,对其进行转换,然后将其发送到类似于Elasticsearch的“stash”。Kibana让用户在Elasticsearch中使用图表和图形可视化数据。
这是他们网站上的内容: https://www.elastic.co/elk-stack 我很好奇其他人有什么看法,并会关注你的问题。我目前正在使用Oracle和SQL Server来处理我们的应用程序,并希望看看未来如何利用其他数据库软件。开源始终很有吸引力。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接