从白日梦到现实:推出 Elastic 的管道查询语言 ES|QL

作者:George Kobar, Bahubali Shetti, Mark Settle

今天,我们很高兴地宣布 Elastic® 的新管道查询语言 ES|QL(Elasticsearch 查询语言)的技术预览版,它可以转换、丰富和简化数据调查。 ES|QL 由新的查询引擎提供支持,通过并发处理提供高级搜索功能,无论数据源和结构如何,都可以提高速度和效率。 通过在单个屏幕上创建聚合和可视化来快速解决问题,以实现迭代和流畅的工作流程。

ES|QL 介绍

Elastic 可观测性 ESQL 演示

Elasticsearch 的演变

在过去 13 年中,Elasticsearch® 取得了显着发展,适应了用户需求和不断变化的数字环境。 Elasticsearch 最初用于全文搜索,后来根据用户反馈扩展到支持更广泛的用例。 在整个过程中,Elasticsearch Query DSL(我们第一个采用的搜索语言)为过滤器、聚合和其他操作提供了丰富的查询集。 这种基于 JSON 的 DSL 最终成为我们 _search API 端点的基础。

随着时间的推移和需求的多样化,逐渐显现出用户需要的不仅仅是查询 DSL 所提供的功能。我们开始在查询 DSL 下引入和融合了其他 DSL,用于脚本编写、安全调查中的事件等等。然而,尽管这些扩展功能非常多才多艺,它们并没有完全满足用户的一些需求。

用户想要一种能够:

  • 简化威胁和安全调查,同时通过提供全面和迭代方法的单个查询观察和解决生产问题
  • 通过单一界面搜索、丰富、聚合和可视化更多内容来简化数据调查
  • 使用高级搜索功能(例如带有并发处理的查找)提高查询大量数据的速度和效率,无论来源和结构如何

从白日梦到现实 – ES|QL 简介

我们倾听并自豪地推出Elasticsearch 查询语言 (ES|QL),这是我们全新的创新管道查询语言 — 一种与 Elasticsearch 中的数据交互的统一方法和语言,同时消除了将数据传输到外部系统进行专门处理的昂贵需求。 与 Elastic 多年来采用的其他语言(例如 Query DSL)不同,ES|QL 是从头开始设计和构建的,旨在大大简化数据调查,并且可供初学者使用,同时对专家来说功能强大。

ES|QL 示例命令:

from logstash-*
| stats avg_bytes = avg(bytes) by geo.src
| eval avg_bytes_kb = round(avg_bytes/1024, 2)
| enrich geo-data on geo.src with country, continent
| keep avg_bytes_kb, geo.src, country, continent  
| limit 4

ES|QL 示例输出:

avg_bytes_kbgeo.srccountrycontinent
8.84BDBangladeshAsia
6.92BRBrazilAmericas
2.75CICôte d'IvoireAfrica
4.55CLChileAmericas

简化的简化:专为增强和迭代工作流程量身定制的 UI

连接正在展开的攻击的各个点或浏览可观察性数据需要你对大量数据进行过滤、搜索、转换和聚合。 ES|QL 通过单个查询提供此功能。

上下文切换或尝试从多个屏幕中查找所需内容可能会减慢你的速度并令人沮丧。 ES|QL通过统一的显示,提供自动完成语法、集成产品文档、可视化搜索结果,确保数据查询的不间断、高效的工作流程。 无论是安全性、可观察性还是搜索,ES|QL 都能提高数据探索的效率、速度和深度。

ES|QL 并发 — 两个线程比一个线程好

ES|QL 由强大的查询引擎提供支持,提供具有并发处理的高级搜索功能,使用户能够跨不同的数据源和结构无缝查询。

没有把 ES|QL 的实现直接翻译为对 Query DSL 的查询; 相反,ES|QL 中的每个查询最初都会被分解、解释其含义、验证准确性,然后进行增强以获得最佳性能。 然后设计一个流程来跨集群内的各个节点执行查询。 目标节点处理查询,使用 ES|QL 提供的框架对执行计划进行即时调整。 结果是开箱即用的闪电般的快速查询。 例如,查看夜间基准进行比较。

更多比较请点击链接进行查看。

平台创新推动 Elastic 解决方案的优势

Elastic 的解决方案(搜索、可观察性和安全性)均受益于 Elasticsearch 和 Kibana® 中提供的功能和创新。 ES|QL 从根本上改变了使用这些解决方案的体验,并提供了简单但功能强大的数据调查工作流程。

ES|QL 增强 Elastic 安全性

ES|QL 从根本上改变了分析师追踪威胁和加强检测的方式。 它是为了响应丰富的社区输入而构建的,以 Elasticsearch 的速度释放管道查询的力量,增强 Elastic Security 的 SIEM、端点安全和云安全功能。

  • 快速搜索及迭代:跟踪新兴威胁的痕迹需要快速行动和提供迭代工作流程的语言。
  • 通过上下文丰富结果:ES|QL 使分析师能够将可疑 IP 地址与已知威胁情报数据库关联起来,从而立即明确潜在威胁。
  • 转换数据:ES|QL 使用户能够通过定义新字段或解析非标准化数据来操作数据,确保数据的清晰度和相关性。
  • 聚合数据:可以整合和聚合结果,为更深入的分析和洞察提取铺平道路。

Elastic 是唯一将写入模式架构的效率与读取模式管道查询语言的迭代搜索体验相结合的搜索平台。 凭借令人难以置信的快速搜索 — 以及查询分析员输出的完整视图 - 我们可以通过每个连续的管道更接近他们的目标。

ES|QL 还增强了 Elastic Security 强大的检测引擎。 为了减少警报疲劳、提高警报相关性并提供行为检测的另一种途径,组织可以将聚合值合并到检测规则中。 通过内联评估,从业者可以迭代开发和完善基于 ES|QL 的规则。 查询采用纯文本格式,简化了协作并支持检测即代码。

ES|QL 影响弹性可观测性

使用 Elastic Observability 的 SRE 可以利用 ES|QL 来分析日志、指标、跟踪和分析数据,使他们能够通过单个查询查明性能瓶颈和系统问题。 在 Elastic Observability 中使用 ES|QL 管理高维和高基数数据时,SRE 具有以下优势:

  • 消除信号噪音:借助 ES|QL 警报,通过关注重要趋势而不是个别事件、最大限度地减少误报并提供可操作的通知来提高检测精度。 SRE 可以通过 Elastic API 管理这些警报并将其集成到 DevOps 流程中。
  • 通过洞察增强分析:ES|QL 可以处理各种可观测数据,包括应用程序、基础设施、业务数据等,无论来源和结构如何。 ES|QL 可以轻松地通过附加字段和上下文丰富数据,从而允许通过单个查询创建仪表板可视化或问题分析。
  • 缩短解决问题的平均时间:ES|QL 与 Elastic Observability 的 AIOps 和 AI Assistant 结合使用,可通过识别趋势、隔离事件和减少误报来提高检测准确性。 这种上下文的改进有助于故障排除以及快速查明和解决问题。

Elastic Observability 中的 ES|QL 不仅增强了 SRE 更有效地管理客户体验、组织收入和 SLO 的能力,而且还通过提供上下文聚合数据来促进与开发人员和 DevOps 的协作。

ES|QL 推进 Elastic Search

使用 ES|QL,你可以检索、聚合、计算数据并将其转换为单个查询。 它拥有关键功能,例如能够在查询时定义字段、执行数据丰富查找以及同时处理查询。 使用 ES|QL 以多种方式理解和探索你的数据。 从利用客户端直接 API/代码集成到直接从一个屏幕可视化结果,ES|QL 简化了你的数据调查,确保你轻松简单地充分利用数据集。

ES|QL 的设计重点体现在其降低代码复杂性的能力,最终节省成本和时间。 通过促进后续搜索中查询结果的重用,ES|QL 最大限度地减少了计算开销,消除了对复杂脚本和冗余查询的需要。 ES|QL 不仅仅是一个 API,而且是一种简单而强大的方法来转变你的搜索方法。

踏上你的 ES|QL 之旅

数据探索和操作的未来就在这里。 Elastic 邀请安全分析师、SRE 和开发人员亲身体验这种变革性语言,并开启数据任务的新视野。 详细了解 ES|QL 的可能性,或立即在技术预览版中开始免费试用。

本文中描述的任何特性或功能的发布和时间安排均由 Elastic 自行决定。 当前不可用的任何特性或功能可能无法按时交付或根本无法交付。

原文:Announcing Elastic’s piped query language, ES|QL | Elastic Blog

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/132541.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

超详细的性能测试流程

一、性能测试概念 我们经常看到的性能测试概念,有人或称之为性能策略,或称之为性能方法,或称之为性能场景分类,大概可以看到性能测试、负载测试、压力测试、强度测试等一堆专有名词的解释。 针对这些概念,我不知道你…

【机器学习范式】监督学习,无监督学习,强化学习, 半监督学习,自监督学习,迁移学习,对比分析+详解与示例代码

目录 1. 监督学习 (Supervised Learning): 2. 无监督学习 (Unsupervised Learning): 3. 强化学习 (Reinforcement Learning): 4. 半监督学习 (Semi-Supervised Learning): 5. 自监督学习 (Self-Supervised Learning): 6. 迁移学习 (Transfer Learning): 7 机器学习范式应…

第十三章《搞懂算法:神经网络是怎么回事》笔记

目前神经网络技术受到追捧,一方面是由于数据传感设备、数据通信技术和数据存储技术 的成熟与完善,使得低成本采集和存储海量数据得以成为现实;另一方面则是由于计算能力的大幅提升,如图形处理器(Graphics Processing Unit,GPU)在神…

【Linux】Centos7 shell实现MySQL5.7 tar 一键安装

🦄 个人主页——🎐个人主页 🎐✨🍁 🪁🍁🪁🍁🪁🍁🪁🍁 感谢点赞和关注 ,每天进步一点点!加油!&…

upload-labs12-21关

第十二关 提示及源码 $is_upload false; $msg null; if(isset($_POST[submit])){$ext_arr array(jpg,png,gif);$file_ext substr($_FILES[upload_file][name],strrpos($_FILES[upload_file][name],".")1);if(in_array($file_ext,$ext_arr)){$temp_file $_FILES…

KEIL MDK 调试 无法 查看 外设 信息 原因及解决方法

MDK5.38版本有bug : 不能把STM32F4的官方SVD文件转换成SFR,而MDK5.38a版本没有此问题。

前端通过导入editor.md库实现markdown功能

小王学习录 今日摘录前言jquery下载editor下载editor和jquery的导入初始化editor总结 今日摘录 满招损,谦受益 前言 要想通过editor.md实现markdown的功能,需要经过如下四步: 下载editor.md到本地将本地editor导入到前端代码中编写少量代…

Leetcode—103.二叉树的锯齿形层序遍历【中等】

2023每日刷题(二十六) Leetcode—103.二叉树的锯齿形层序遍历 BFS实现代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ /*** Return an array of ar…

【原创课设】java+swing+mysql药店管理系统设计与实现

摘要: 药店管理系统对于药店运营具有重大的意义。首先,它可以提高药店的运营效率,减少人工操作成本,通过信息化的管理方式,可以提高药店的服务质量和管理水平,增强药店的市场竞争力。用户可以登录系统直接…

Raft分布式一致性算法

拜占庭将军 假设多位拜占庭将军中没有叛军,信使的信息可靠但有可能被暗杀的情况下,将军们如何达成是否要进攻的一致性决定?解决问题的思路是,从多位处于平等地位的将军中选举出一位大将军,所有作战指令由大将军发出。…

伪造referer [极客大挑战 2019]Http1

打开题目 没有发现什么,我们查看源代码 在这里我们发现了提示 访问一下页面得到 提示说不能来自于https://Sycsecret.buuoj.cn,我们尝试访问一下这个url 发现访问不了 我们bp抓包一下 伪造个referer头 referer:https://Sycsecret.buuoj.cn 发包过去…

经典的测试开发面试题

1、你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决? 首先,将问题提交到缺陷管理库进行备案。 然后,要获取判断的依据和标准: 根绝需求说明书,产品说明、设计文档等&…

邻接表储存图实现广度优先遍历(C++)

目录 基本要求: 邻接表的结构体: 图的邻接表创建: 图的广度优先遍历(BFS): 邻接表的打印输出: 完整代码: 测试数据: 结果运行: 通过给出的图的顶点和…

Jmeter之Bean shell使用详解

一、什么是Bean Shell BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法; BeanShell是一种松散类型的脚本语言(这点和JS类似); BeanShell是用Java写成的,一个小型的、免费的、可以下载的、嵌入式的Java源代码解释器,具有对象脚本语言特性,非常精…

Android---内存泄漏的优化

内存泄漏是一个隐形炸弹,其本身并不会造成程序异常,但是随着量的增长会导致其他各种并发症:OOM,UI 卡顿等。 为什么要将 Activity 单独做预防? 因为 Activity 承担了与用户交互的职责,因此内部需要持有大…

JAVA基础语法编程详解

1 类型转换 描述: 设计一个方法,将一个小于2147483647的double类型变量以截断取整方式转化为int类型输入描述: 随机double类型变量输出描述: 转化后的int类型变量示例 输入:123.45 输出: 123 题解思路&…

吴恩达《机器学习》8-1->8-2:非线性假设、神经元和大脑

一、非线性假设 在之前学到的线性回归和逻辑回归中,存在一个缺点,即当特征数量很多时,计算的负荷会变得非常大。考虑一个例子,假设我们使用 𝑥₁, 𝑥₂ 的多项式进行预测,这时我们可以很好地应…

【自定义类型:结构体】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 1. 结构体类型的声明 1.1 结构体的概念 1.2 结构的声明 ​编辑 1.3 特殊的声明 1.4 结构的自引用 2. 结构体变量的创建和初始化 3. 结构成员访问操作符 4. 结构体内…

数据库01-慢查询优化

目录 MySQL优化 慢查询 如何定位慢查询? 如何分析慢查询? MySQL优化 MySQL 优化是数据库管理和应用性能调优的一个重要方面。以下是一些常规性的 MySQL 优化经验和适用场景: 索引优化: 确保表的字段上有适当的索引&#xff0…

如何选择一个可靠的爬虫代理服务商?技术人员都需要知道

我身边从事大数据相关行业的朋友最近告诉我,自己新招的小伙伴工作效率很低,很多最基础的工具都不会选择,经常因为代理IP不可靠导致工作出错。 听完这些我才意识到,在这个大数据时代,还是有很多新手在进行网络爬取任务…