使用Elasticsearch与标准sql查询有哪些用例?[关闭]


125

我刚开始使用Elasticsearch,我看到的主要用例之一是它在大型数据集上进行搜索时具有可伸缩性,但是除此之外,您何时想将其用于仅使用传统RDBMS创建sql查询呢?


3
鼓励编辑问题以改善问题(例如,澄清,添加其他信息等)。但是,编辑问题以将其更改为其他问题会导致一个或多个答案无效,这与堆栈溢出策略相反。您在此处所做的修改是这样的。策略是其他具有编辑权限的用户应主动还原此类更改,这是我在此处所做的。如果您的新问题是关于话题,你被鼓励提出新的问题,或许还有一个链接,这个额外的上下文。
Makyen

明白了 好吧,意图是正确的,只是执​​行不正确。
詹姆斯·德纳德

Answers:


78

有两个主要的Elasticsearch用例:

  1. 文字搜寻

当您执行大量文本搜索时,传统的RDBMS数据库的性能不是很好(配置差,充当黑匣子,性能不佳),因此您需要Elasticsearch。Elasticsearch是高度可定制的,可通过插件扩展。您可以快速建立健壮的搜索而无需太多知识。

  1. 记录与分析

另一个极端的情况是,很多人使用Elasticsearch存储来自各种来源的日志(以将它们集中化),因此他们可以对其进行分析并使之有意义。在这种情况下,Kibana变得很方便。它使您可以连接到Elasticsearch集群并立即创建可视化效果。例如, Loggly是使用Elasticsearch和Kibana构建的。

请记住,您不想使用Elasticsearch作为主要数据存储。此处的原因:ElasticSearch作为主要数据存储在面对写入丢失,数据可用性等因素方面的可靠性如何

更新资料

我觉得第二部分不再是前卫的,实际上是Elastic作为一家公司在过去一年中一直表现出色的东西。随着当前DevOps的发展,CI / CD管道,来自各种来源的越来越多的度量标准,ELK成为了基础架构监视的事实上的选择,它不再只是分布式的RESTful文本搜索引擎。它具有一组惊人的产品:

  • Logstash(大量数据输入)
  • 节拍
    • 文件拍
    • 公制节拍
    • 包拍
    • Winlogbeat
  • 基巴纳
    • 图形
    • 天狮
  • X-Pack(高级版)
    • 警报
    • 报告中
    • 安全
    • 机器学习
    • 跨数据中心指标

由社区构建的生态系统围绕ELK堆栈成长,扩展了当前功能,其中很少有值得一提的:

  • ElastAlert
  • 搜索卫士

为什么要限制弹性搜索没有被用作标准系统(例如pos或erp)的查询引擎,因为我不了解公司,因此人们投入了很多精力,只是将数据从sql转换为弹性搜索以进行分析。
pannu

在旧版本中,不建议使用,现在我不知道。
Evaldas Buinauskas

您说过,由于配置不佳,RDBMS的性能不是很好。这是否意味着在文本搜索(模糊搜索)方面,具有良好的配置就可以与EleasticSearch一样好执行?
传奇

2
@Legends我真的是指糟糕的配置选项。我自己的经验仅限于MSSQL全文搜索,并且MSSQL中的设置数量无法与Elasticsearch进行比较。RDBMS中的文本搜索是一项功能,而在Elasticsearch中则是本质。
Evaldas Buinauskas

我在网上搜索了很多东西,但是找不到任何具体的东西。为了让我们考虑迁移到ElasticSerach,应用程序应该拥有多少数据(大约),导致维护分布式系统很复杂。例如,在mongodb中索引良好的注释文本中搜索。(我不是在谈论ES,纯文本搜索的高级功能)
伊万·桑切斯

27

要补充其他答案,日志记录和搜索仍然是主要的用例,但是现在指标和分析变得越来越重要。

我相信这篇文章总结了市场的变化,这些变化正在推动大数据的新用例。 您真正需要了解的有关开源数据库的所有信息

随着Web 2.0的出现,静态网页已变得动态化,社交媒体遍布我们。每个人都在发推文,发布,博客,视频博客,共享照片,聊天和评论。物联网(IoT)不断涌现-一个快速增长的连接网络,用于收集和交换数据,例如传感器和智能设备。这里有一些很好的例子。

总而言之,这会产生大量新数据,企业希望吸收并使用这些新数据以保持领先地位,以提供诸如产品推荐和更好的客户体验之类的功能。可以对数据进行分析,以搜索诸如欺诈检测和行为分析之类的应用程序的模式。许多新数据都是非结构化的,这意味着它们不能整齐地存储在表格数据库中。

想象一下,尝试设计一个数据库来保存您的杂货店购物数据–您喜欢什么,购买频率如何,无论您喜欢在咖啡中喝牛奶还是奶油。需要使用新型的数据库来存储新数据,并且它们必须是非关系型的,并且理想地是低成本的。敲钟吗?不像NoSQL中那样具有关系性,不像开源中那样成本低。

与我交谈的一位Elasticsearch架构师说,Elasticsearch在公司中使用的数据80%是非结构化的,而20%是结构化的。 公司正在寻找非结构化数据以发现稀有或异常数据模式。 他们还使用Elasticsearch监视数据模式。例如,一家大型零售商正在与Elasticsearch进行实时跟踪,以确保商店中有足够的货币供应量,以便人们在发薪日兑现支票。

以我自己的搜索用例经验,我们不仅使用模糊搜索,而且还演变为自动完成和快速搜索。据我所知,一旦开始使用Elasticsearch,您便开始发展为其他用例,以补充已经存在的用例。现在,我们已经在公司中将Elasticsearch建立为模糊搜索引擎,我们现在还有其他团队正在研究用于记录的分析和指标。

以下是一些其他资源,可以更深入地讨论该主题:

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.