ES|QL 조인이 드디어 왔습니다! 네, 조인입니다! 노트

ES|QL 조인이 드디어 왔습니다! 네, 조인입니다!

Elasticsearch 8.18에 새로운 SQL 스타일의 JOIN 기능인 LOOKUP JOIN이 도입되었습니다. 이 기능은 쉽게 업데이트 가능한 조회 데이터 세트를 활용하여 데이터 상관 관계 분석과 데이터 보강을 가능하게 합니다. 현재 기술 미리보기로 제공되며, 이 기능을 통해 이벤트에 호스트 및 자산 정보를 추가하거나 IP 주소를 위협 인텔리전스 목록과 대조하는 등의 작업을 수행할 수 있습니다. Lookup Join은 오른쪽 테이블에 대해 "lookup"이라는 새로운 인덱스 모드를 사용하는 LEFT OUTER JOIN이며, 이 "lookup" 인덱스는 직접 업데이트할 수 있습니다. 조회 인덱스는 자산, 위협 인텔리전스 데이터, 주문 정보, 직원 또는 고객 정보 등 다양한 유형의 데이터를 저장할 수 있습니다. 과거 Elasticsearch에는 JOIN 기능이 부족했지만, Lookup Join은 이러한 제한 사항을 해결합니다. Lookup Join을 활성화하기 위해 "lookup"이라는 새로운 인덱스 모드가 생성되었으며, 이 모드는 20억 개의 문서로 제한되고 직접 업데이트가 가능합니다. 소스 데이터에는 제한이 없으며, JOIN을 수행하기 위해 데이터 준비가 필요하지 않습니다. Lookup Join은 ES|QL의 ENRICH 명령보다 설정 및 관리가 더 쉬우며, 풍부화 정책을 생성할 필요가 없고 정책 실행이 없으며 여러 일치 항목을 더 잘 처리하는 등의 이점이 있습니다. 사용자는 Index Management 또는 Kibana의 ML File uploader를 통해 다양한 방법으로 조회 인덱스를 생성할 수 있습니다. Lookup Join 사용 가능성은 무궁무진하며, 향후 개발에는 INNER join 또는 서브쿼리와 같은 다른 유형의 join과 모든 인덱스에 대한 join이 포함될 수 있습니다.