152

我刚刚开始使用Elasticsearch,我看到的一个主要用例是它在大型数据集上的搜索的可伸缩性,但除此之外,您什么时候想用它来代替用传统RDBMS创建sql查询?

2
  • 编辑问题以改进它们(例如澄清、添加附加信息等)受到鼓励。但是,编辑问题以将其更改为其他问题会导致一个或多个答案无效,这违反了堆栈溢出策略。您在这里的编辑是这样做的。策略是,其他具有编辑权限的用户应该主动还原这些更改,我在这里就是这么做的。如果你的新问题是主题性的,你鼓励问一个新问题,可能还有一个链接指向此链接以了解更多上下文。
    – 马延
    评论 2020年3月15日3:47
  • 1
    理解。嗯,意图是对的,只是不是执行。 评论 2020年3月16日12:22

2个答案2

重置为默认值
95

有两个主要的Elasticsearch用例:

  1. 文本搜索

当您进行大量文本搜索时,您需要使用Elasticsearch,因为传统的RDBMS数据库的性能不是很好(配置差,充当黑盒,性能差)。Elasticsearch是高度可定制的,可以通过插件扩展。您可以在不需要太多知识的情况下快速构建健壮的搜索。

  1. 记录和分析

另一个边缘案例是,很多人使用Elasticsearch来存储来自不同来源的日志(以集中它们),这样他们就可以分析它们并从中获得意义。在这种情况下,Kibana变得很方便。它允许您连接到Elasticsearch集群并立即创建可视化。例如,Loggly(记录)使用Elasticsearch和Kibana构建。

请记住,您不想将Elasticsearch用作主要数据存储。此处的原因:ElasticSearch作为一个主数据存储相对于写丢失、数据可用性等因素的可靠性如何

更新

我觉得第二部分不再紧张,这实际上是Elastic作为一家公司在过去一年里做得很好的地方。随着当前DevOps的移动、CI/CD管道、来自各种来源的度量数量的增加,ELK成为基础设施监控的实际选择,它不再只是一个分布式RESTful文本搜索引擎。它有一套令人惊叹的产品:

  • Logstash(大量数据输入)
  • 跳动
    • 文件节拍
    • Metricbeat公司
    • Packetbeat(分组节拍)
    • 温洛格巴特
  • 基巴纳
    • 图表
    • 时间
  • X-Pack(高级)
    • 警报
    • 报告
    • 安全
    • 机器学习
    • 跨数据中心指标

由社区构建的生态系统正在ELK堆栈周围发展,扩展了当前的功能,其中很少值得一提:

  • 弹性警报
  • 搜索守卫
5
  • 为什么restricts Elastic Search没有被用作标准系统(如pos或erp)的查询引擎,因为我不了解公司投入了大量精力,只是将数据从sql转换为用于分析的弹性搜索。
    – 潘努
    评论 2017年11月28日6:41
  • 在旧版本中不推荐使用,现在我不知道了。 评论 2017年11月28日6:54
  • 你说,因为配置不好,RDBMS的性能不是很好。这是否意味着,在文本搜索(模糊搜索)方面,有了良好的配置,你可以像EleasticSearch一样执行得很好?
    – 传说
    评论 2018年1月16日0:04
  • 2
    @我的意思是糟糕的配置选项。我自己的经验仅限于MSSQL全文搜索,MSSQL中的设置数量无法与Elasticsearch进行比较。RDBMS中的文本搜索是一个特性,而在Elasticsearch中,它是本质。 评论 2018年1月16日7:14
  • 我在网上搜索了很多东西,但没有找到任何具体的东西。为了让我们考虑迁移到ElasticSerach,应用程序应该有多少数据(大约)?,维护分布式系统的原因很复杂。例如,在mongodb中搜索索引良好的注释文本。(我不是说ES的高级功能,纯文本搜索) 评论 2020年7月30日17:40
37

再加上另一个答案,日志记录和搜索仍然是一个主要用例,但现在度量和分析变得更加重要。

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

随着Web2.0的出现,静态网页已经成为动态的社交媒体无处不在。每个人都在推特、发帖、,博客、vlogging、共享照片、聊天和评论。这个物联网(IoT)正在兴起——一个快速增长的物联网网络收集和交换数据的连接设备,如传感器和智能设备。这里有一些很好的例子。

总之,这产生大量企业想要吸收的新数据用于保持领先,提供产品推荐等功能以及更好的客户体验。可以在搜索中分析数据欺诈检测和行为等应用程序的模式分析。许多新数据是非结构化的,这意味着不能整齐地存储在表格数据库中。

想象一下尝试设计一个数据库,用于保存您的杂货店购物数据-您喜欢什么,如何无论你喜欢牛奶还是奶油配咖啡,你都会经常买。需要新类型的数据库来存储新数据非关系型,理想情况下成本较低。按铃了吗?不是NoSQL中的关系型和开源中的低成本。

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

根据我自己的搜索用例经验,我们不仅使用模糊搜索,还将其发展为自动完成和快速搜索。从我所看到的来看,一旦您开始使用Elasticsearch,您就开始演变为其他用例,以补充您已有的用例。现在我们已经在公司建立了Elasticsearch作为模糊搜索引擎,我们现在有其他团队在研究日志分析和指标。

以下是一些关于此主题的更深入的其他资源:

不是你想要的答案吗?浏览标记的其他问题问你自己的问题.