使用 Elasticsearch 和标准 sql 查询的一些用例是什么?

我刚刚开始使用 Elasticsearch,我看到的主要用例之一是它对大型数据集的可伸缩性,但除此之外,你什么时候想用它来仅仅用传统的 RDBMS 创建 sql 查询呢?

65307 次浏览

有两个主要的 Elasticsearch 用例:

  1. 文本搜索

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

  1. 记录和分析

另一个极端的例子是,许多人使用 Elasticsearch 存储来自不同来源的日志(将它们集中起来) ,这样他们就可以分析这些日志并从中获得意义。在这种情况下,Kibana 变得很方便。它可以让你连接到 Elasticsearch 集群,并直接创建可视化。例如,很顺利是使用 Elasticsearch 和 Kibana 构建的。

请记住,您不希望使用 Elasticsearch 作为您的主要数据存储

更新

我觉得第二部分不再是前卫的,它实际上是 Elastic 作为一家公司在过去一年里做得非常好的东西。随着当前 DevOps 的发展,CI/CD 流水线,来自各种来源的指标数量不断增加,ELK 成为了基础设施监控的事实选择,它不再仅仅是一个分布式 RESTful 文本搜索引擎。它有一系列惊人的产品:

  • Logstash (数以吨计的数据输入)
  • 节拍
    • 文件拍
    • 节拍
    • 包拍
    • Winlogbeat
  • 齐巴纳
    • 图表
    • 时间
  • X-Pack (高级)
    • 警报
    • 报告
    • 保安
    • 机器学习
    • 交叉数据中心指标

一个由社区建立的生态系统正在 ELK 堆栈周围成长,它扩展了当前的功能,其中几乎没有值得一提的:

  • 弹性警报
  • 搜索警卫

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

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

随着 Web 2.0的出现,静态网页已经变得动态和 社交媒体无处不在,每个人都在发微博, 博客,视频博客,分享照片,聊天和评论 物联网(IoT)正在兴起ーー一个迅速发展的物联网网络 连接收集和交换数据的设备,如传感器和 这里有一些很好的例子。

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

想象一下设计 一个数据库,用来存储你在食品杂货店购物的数据ーー你喜欢什么,如何购买 不管你喜欢在咖啡里加牛奶还是奶油,你通常都会买。 需要新类型的数据库来存储新数据,而且它们需要 是非关联的,理想的低成本。想起来了吗? 没有 像 NoSQL 一样是关系型的,像开源一样是低成本的。

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

根据我自己在搜索用例中的经验,我们不仅使用模糊搜索,而且它还演变成自动完成和快速搜索。从我看到的情况来看,一旦你开始使用 Elasticsearch,你就开始进化成其他的用例来补充你已经有的东西。现在我们已经建立了 Elasticsearch 作为一个模糊搜索引擎在我们的公司,我们现在有其他团队寻找分析和日志记录度量。

以下是一些更深入探讨这一主题的其他资源: