몽상에서 현실로: Elastic의 파이프 쿼리 언어인 ES|QL 발표

ES_QL_blog-720x420-06.png

오늘 Elastic®의 새로운 파이프 쿼리 언어인 ES|QL(Elasticsearch 쿼리 언어)의 기술 미리보기를 발표하게 되어 기쁘게 생각합니다. ES|QL은 데이터 조사를 변환하고 강화하며 단순화합니다. 새로운 쿼리 엔진으로 구동되는 ES|QL은 동시 처리를 통해 고급 검색 기능을 제공하여 데이터 소스 및 구조에 관계없이 속도와 효율성을 향상시킵니다. 반복적이고 원활한 워크플로우를 위해 단일 화면에서 집계 및 시각화를 생성하여 문제를 신속하게 해결합니다.

videoImage

Elasticsearch의 진화

지난 13년 동안 Elasticsearch®는 사용자 요구와 변화하는 디지털 환경에 맞춰 크게 발전했습니다. 원래 풀텍스트 검색을 위한 Elasticsearch는 사용자 피드백을 기반으로 더 광범위한 사용 사례를 지원하도록 확장되었습니다. 이 여정 전반에 걸쳐 처음으로 채택된 검색 언어인 Elasticsearch Query DSL은 필터, 집계 및 기타 작업을 위한 풍부한 쿼리 세트를 제공했습니다. 이 JSON 기반 DSL은 궁극적으로 _search API 엔드포인트의 기초가 되었습니다.

세월이 흐르고 요구 사항이 다양해지면서 사용자는 Query DSL이 제공하는 것보다 더 많은 것을 원한다는 것이 분명해졌습니다. Elastic은 스크립팅 또는 보안 조사 등에서의 이벤트를 위해 Elastic의 Query DSL 아래에 추가 DSL을 채택하고 위빙 작업을 시작했습니다. 그러나 이러한 추가 기능은 다양했지만 사용자의 요구 사항 중 일부를 완전히 충족하지는 못했습니다.

사용자는 다음을 수행할 수 있는 쿼리 언어를 원했습니다.

  • 포괄적이고 반복적인 접근 방식을 제공하는 단일 쿼리를 통해 프로덕션 문제를 관찰하고 해결하는 동시에 위협 및 보안 조사를 단순화할 수 있는 쿼리 언어
  • 단일 인터페이스에서 검색, 강화, 집계, 시각화 등을 통해 데이터 조사를 간소화할 수 있는 쿼리 언어
  • 동시 처리를 통한 조회와 같은 고급 검색 기능을 사용하면 속도와 효율성이 향상되어 소스와 구조에 관계없이 방대한 양의 데이터를 쿼리할 수 있는 쿼리 언어

몽상에서 현실로 – ES|QL 소개

Elastic은 사용자의 의견을 귀담아 듣고 새로운 혁신적인 파이프 쿼리 언어인 Elasticsearch Query Language(ES|QL)를 도입하게 된 것을 자랑스럽게 생각합니다. 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_kb geo.src country continent
8.84 BD Bangladesh Asia
6.92 BR Brazil Americas
2.75 CI Côte d'Ivoire Africa
4.55 CL Chile Americas

간소화된 단순성: 강화되고 반복적인 워크플로우에 맞춰진 UI

펼쳐지는 공격의 의미를 파악하거나 Observability 데이터를 탐색하려면 엄청난 양의 데이터를 필터링, 검색, 변환, 집계해야 합니다. ES|QL은 단일 쿼리를 통해 이 기능을 제공합니다.

간소화된 단순성

컨텍스트를 전환하거나 여러 화면에서 원하는 것을 찾으려고 하면 속도가 느려지고 좌절감을 느낄 수 있습니다. 통합 디스플레이에서 ES|QL은 자동 완성 구문을 제공하고, 제품 설명서를 통합하고, 검색 결과를 시각화하여 데이터 조회에 대한 중단 없이 효율적인 워크플로우를 보장합니다. 보안, Observability 또는 검색 여부에 관계없이 ES|QL은 데이터 탐색의 효율성, 속도 및 깊이를 향상시킵니다.

ES|QL 동시성 — 두 개의 스레드가 하나보다 낫습니다

강력한 쿼리 엔진을 기반으로 하는 ES|QL은 동시 처리가 가능한 고급 검색 기능을 제공하므로 사용자는 다양한 데이터 소스와 구조에 걸쳐 원활하게 쿼리할 수 있습니다.

쿼리 DSL에는 번역이나 트랜스파일링이 없습니다. 대신 ES|QL의 각 쿼리는 처음에 분류되어 의미를 해석하고 정확성을 검증한 다음 최상의 성능을 위해 향상됩니다. 그런 다음 클러스터 내의 다양한 노드에서 쿼리를 실행하기 위한 프로세스가 배치됩니다. 대상 노드는 쿼리를 처리하고 ES|QL에서 제공하는 프레임워크를 사용하여 실행 계획을 즉각적으로 조정합니다. 그 결과 즉시 사용할 수 있는 매우 빠른 쿼리가 생성됩니다. 예를 들어, 비교를 위해 나이틀리 벤치마크를 확인하세요.

플랫폼 혁신으로 Elastic 솔루션의 이점 제공

Elastic 솔루션 — Search, Observability Security — Elasticsearch와 Kibana® 내에서 제공되는 기능과 혁신의 모든 이점을 누리세요. ES|QL은 이러한 솔루션 사용 경험을 근본적으로 바꾸고 간단하면서도 강력한 데이터 조사 워크플로우를 제공합니다.

Elastic Security를 강화하는 ES|QL

ES|QL은 분석가가 위협을 추적하는 방식을 근본적으로 바꾸고 탐지 기능을 강화합니다. 풍부한 커뮤니티 의견에 대한 답변이 기본으로 제공되어 Elasticsearch의 속도로 파이프 쿼리의 성능을 발휘하여 Elastic Security의 SIEM, 엔드포인트 보안 및 클라우드 보안 기능을 향상시킵니다.

  • 신속하고 반복적으로 검색: 새로운 위협의 경로를 따라가려면 빠른 조치와 반복적인 워크플로우를 제공하는 언어가 필요합니다.
  • 컨텍스트를 통해 풍부한 결과 제공: ES|QL을 사용하면 분석가는 의심스러운 IP 주소를 알려진 위협 인텔리전스 데이터베이스와 연관시켜 잠재적 위협에 대한 즉각적인 명확성을 제공할 수 있습니다.
  • 데이터 변환: ES|QL은 사용자가 새로운 필드를 정의하거나 정규화되지 않은 데이터를 구문 분석하여 데이터를 조작할 수 있도록 하여 데이터 명확성과 정확도를 보장합니다.
  • 데이터 집계: 결과를 통합하고 집계하여 더 심층적인 분석과 인사이트 추출을 위한 기반을 마련할 수 있습니다.

Elastic은 쓰기 스키마 아키텍처의 효율성과 읽기 스키마 파이프 쿼리 언어의 반복 검색 경험을 결합한 유일한 검색 플랫폼입니다. 놀라울 정도로 빠른 검색과 쿼리 출력을 한눈에 볼 수 있으므로 분석가는 각 연속 파이프를 통해 목표에 더 가까이 다가갈 수 있습니다.

ES|QL은 Elastic Security의 강력한 탐지 엔진도 향상합니다. 경보 피로를 줄이고, 경보 정확도를 향상시키며, 행동 탐지를 위한 또 다른 방법을 제공하기 위해 조직은 탐지 규칙 내에 집계된 값을 통합할 수 있습니다. 인라인 평가를 통해 실무자는 ES|QL 기반 규칙을 반복적으로 개발하고 연마할 수 있습니다. 쿼리는 일반 텍스트로 형식화되어 공동 작업을 단순화하고 코드 탐지를 지원합니다.

Elastic Observability에 영향을 미치는 ES|QL

Elastic Observability를 사용하는 SRE는 ES|QL을 활용하여 로그, 메트릭, 추적 및 프로파일링 데이터를 분석하여 단일 쿼리로 성능 병목 현상과 시스템 문제를 정확히 찾아낼 수 있습니다. SRE는 Elastic Observability의 ES|QL을 사용하여 고차원 및 고카디널리티 데이터를 관리할 때 다음과 같은 이점을 얻습니다.

  • 신호 노이즈 제거: ES|QL 경보를 사용하면 개별 사건이 아닌 중요한 추세에 초점을 맞추고 허위 경보를 최소화하며 실행 가능한 경보를 제공하여 탐지 정확도를 높일 수 있습니다. SRE는 Elastic API를 통해 이러한 경보를 관리하고 이를 DevOps 프로세스에 통합할 수 있습니다.
  • 통계를 통한 향상된 분석: ES|QL은 소스와 구조에 관계없이 애플리케이션, 인프라, 비즈니스 데이터 등을 포함한 다양한 Observability 데이터를 처리할 수 있습니다. ES|QL은 추가 필드 및 컨텍스트를 통해 데이터를 쉽게 강화할 수 있으므로 단일 쿼리로 대시보드 또는 문제 분석을 위한 시각화를 생성할 수 있습니다.
  • 평균 해결 시간 단축: ES|QL은 Elastic Observability의 AIOps 및 AI Assistant와 결합되어 추세를 식별하고, 사건을 격리하고, 오탐을 줄여 탐지 정확도를 향상시킵니다. 이러한 상황 개선을 통해 문제 해결과 문제의 신속한 파악 및 해결이 용이해졌습니다.

Elastic Observability의 ES|QL은 고객 경험, 조직의 수익, SLO를 보다 효과적으로 관리하는 SRE의 능력을 향상할 뿐만 아니라 상황에 맞는 집계 데이터를 제공하여 개발자 및 DevOps와의 협업을 촉진합니다.

Elastic Search를 발전시키는 ES|QL

ES|QL을 사용하면 단일 쿼리로 데이터를 검색, 집계, 계산 및 변환할 수 있습니다. 쿼리 시 필드를 정의하고, 데이터 강화 조회를 수행하고, 쿼리를 동시에 처리하는 기능과 같은 주요 기능을 자랑합니다. ES|QL을 사용하여 다양한 방법으로 데이터를 이해하고 탐색해 보세요. 직접적인 API/코드 통합을 위해 클라이언트를 활용하는 것부터 한 화면에서 직접 결과를 시각화하는 것까지 ES|QL은 데이터 조사를 간소화하여 쉽고 간단하게 데이터 세트를 최대한 활용할 수 있도록 보장합니다. 

ES|QL의 설계 초점은 코드 복잡성을 줄여 궁극적으로 비용과 시간을 절약하는 기능에서 분명하게 드러납니다. 후속 검색에서 쿼리 결과를 쉽게 재사용함으로써 ES|QL은 계산 오버헤드를 최소화하고 복잡한 스크립트와 중복 쿼리의 필요성을 제거합니다. ES|QL은 단순한 API가 아니라 검색 접근 방식을 변화시키는 간단하고 강력한 방법입니다.

ES|QL 여정을 시작하세요

데이터 탐색 및 조작의 미래가 바로 여기에 있습니다. Elastic은 보안 분석가, SRE 및 개발자가 이 혁신적인 언어를 직접 경험하고 데이터 작업의 새로운 지평을 열도록 초대합니다. ES|QL의 가능성에 대해 자세히 알아보거나 현재 기술 미리보기 상태인 무료 체험판 사용을 시작해 보세요.

이 게시물에 설명된 기능의 릴리즈 및 시기는 Elastic의 단독 재량에 따릅니다. 현재 이용할 수 없는 기능은 정시에 또는 전혀 제공되지 않을 수 있습니다.