夢のパイプが実現:Elasticのパイプ型クエリ言語ES|QLが新登場
本日、Elastic®はデータ調査を変革、拡充、シンプル化する新しいパイプ型クエリ言語、ES|QL(Elasticsearch Query Language)のテクニカルプレビューを発表しました。新しいクエリエンジンを搭載したES|QLは、並行処理を利用した高度な検索機能により、データのソースや構造に左右されることなく、高速化と効率化を実現します。アグリゲーションとビジュアライゼーションをすべて1つの画面で作成して、円滑な反復的ワークフローを実現できるので、問題を迅速に解決できます。
Elasticsearchの進化
この13年間、Elasticsearch®はユーザーのニーズと絶え間なく変化するデジタル環境に適応しながら、飛躍的な進化を遂げています。全文検索から出発したElasticsearchは、ユーザーのフィードバックに基づいて、より広範なユースケースへとサポート範囲を広げてきました。その過程で、Elasticが最初に採用した検索言語であるElasticsearch Query DSLは、フィルタリングやアグリゲーションなどの操作のための豊富なクエリセットを提供してくれました。このJSONベースのDSLが、最終的にElasticの_search APIエンドポイントの基盤になりました。
年月の経過とニーズの多様化により、ユーザーが求めることにQuery DSLでは対応しきれなくなっていることが明らかになっていました。そこでElasticでは、Query DSLの下層に、スクリプティングやセキュリティ調査におけるイベントなどのためのDSLを追加で織り込む作業に着手しました。しかし追加したDSLは、その汎用性の高さゆえに、ユーザーの細かな要件を完全にカバーすることはできていませんでした。
ユーザーが求めていたのは、以下のようなことができるクエリ言語でした。
- 包括的で反復的なアプローチを可能にする単一のクエリを通じて、脅威やセキュリティの調査をシンプル化しつつ、運用上の問題を監視、解決
- 検索、エンリッチ、アグリゲーション、ビジュアライゼーションなどの操作を、すべて単一のインターフェースから行ってデータ調査を効率化
- 並行処理を利用したルックアップなどの高度な検索機能により、ソースや構造に左右されることなく、膨大な量のデータのクエリを効率的に高速処理
夢のパイプが実現 - ES|QLの紹介
満を持して登場したElasticの新しい革新的パイプ型クエリ言語、Elasticsearch Query Language(ES|QL)をご紹介します。ES|QLは、Elasticsearch内のデータを操作するためのメソドが1つに統合された言語で、特殊な処理の際に外部システムに転送するという高コストなプロセスが不要になります。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
展開中の攻撃を示す点と点をつないだり、オブザーバビリティデータを読み解いたりするには、膨大な量のデータをフィルタリング、検索、変換、アグリゲーションする必要があります。ES|QLは、この機能を単一のクエリで実現できます。
複数の画面でコンテクストを切り替えたり、探しているものを見つけたりしなければならないと、作業のスピードが落ち、ストレスがたまることがあります。ES|QLでは、統合された1つの画面で、構文の自動入力、製品ドキュメントの統合、検索結果のビジュアライゼーションを活用して、中断のない効率的なワークフローでデータを調査できます。目的がセキュリティ、オブザーバビリティ、検索のどれであっても、ES|QLがデータ探索の効率性、スピード、深度を高めます。
ES|QLの並行処理 - スレッドは1つより2つの方が効果的
堅牢なクエリエンジンが組み込まれたES|QLには、並行処理による高度な検索機能が搭載されていて、多様なデータソースやデータ構造にわたってシームレスにクエリを実行できます。
Query DSLへの変換やトランスパイルは不要です。代わりにES|QLでは、各クエリがまず分解され、その意味の解釈が行われ、正確さの検証が行われてから、最適なパフォーマンスが得られるように補強されます。その後、クラスター内のさまざまなノードにわたってクエリを実行するための処理が配分されます。クエリを処理するターゲットノードでは、ES|QLが提供するフレームワークを使用して、その場で実行プランが調整されます。これにより、細かい設定をしなくても超高速でクエリ結果が得られます。参考として、比較のためにナイトリーベンチマークをご覧ください。
ES|QLによるElasticセキュリティの強化
ES|QLにより、アナリストが脅威を追跡する方法は一変し、検知力が向上します。コミュニティからの豊富なインプットに応えて開発されたES|QLが、Elasticsearchのスピードでパイプ型クエリのパワーを解放し、ElasticセキュリティのSIEM機能、エンドポイントセキュリティ機能、クラウドセキュリティ機能を強化します。
- すばやく反復的に検索:新たな脅威の痕跡をたどるためには、すばやい対応と、反復的ワークフローを可能にする言語が必要です。
- コンテクストで精度を向上:アナリストはES|QLを使用して、不審なIPアドレスを既知の脅威インテリジェンスと相関付けて、潜在的な脅威を即座に明確化できます。
- データの変換:ES|QLを使用して、新しいフィールドを定義したり非正規化データを解析したりしてデータを操作し、データの明確性や関連性を維持できます。
- データのアグリゲーション:より高度な分析やインサイトの抽出をしやすいように、結果を総合、アグリゲーションできます。
Elasticは、Schema on writeアーキテクチャの効率性と、Schema on readのパイプ型クエリ言語の反復的な検索エクスペリエンスを兼ね備えた唯一の検索プラットフォームです。検索が驚くほど高速でクエリ出力をすべて把握できるため、アナリストは連続するパイプを進むごとにターゲットに近付くことができます。
ES|QLは、Elasticセキュリティのパワフルな検知エンジンも強化します。組織は、アグリゲーションした値を検知ルールに組み込むことで、警告疲れを軽減したり、アラートの関連性を高めたり、振る舞い検知のための別の手段を提供したりできます。インライン評価を使用すれば、ES|QLベースのルールを反復的に開発し、磨き上げることができます。クエリはプレーンテキストでフォーマットされていて、コラボレーションしやすく、コードとしての検知もサポートされています。
ES|QLのElasticオブザーバビリティへの影響
Elasticオブザーバビリティを使用しているSREは、ES|QLをログ、メトリック、トレース、プロファイリングデータの分析に活用することで、パフォーマンス関連のボトルネックやシステム関連の問題を、1回のクエリによってピンポイントで特定できます。SREがElasticオブザーバビリティで高次元高カーディナリティのデータを扱う際にES|QLを使用すると、次のようなメリットがあります。
- シグナルノイズの解消:個々のインシデントではなく重要なトレンドに注目することで検知精度を高めるES|QLのアラート機能を使用すれば、誤警報を最小限に抑え、実用的な通知を配信できます。SREは、これらのアラートを、Elastic APIを通じて管理したり、DevOpsプロセスに統合したりできます。
- インサイトで分析力を強化:ES|QLでは、アプリケーション、インフラストラクチャー、ビジネスデータなどの多様なオブザーバビリティデータを、ソースや構造にかかわらず処理できます。フィールドやコンテクストを追加してデータを簡単にエンリッチし、ダッシュボード用のビジュアライゼーションを作成したり、1回のクエリで問題を分析したりできます。
- 平均復旧時間の短縮:ES|QLをElasticオブザーバビリティのAIOpsやAI Assistantと組み合わせると、トレンドの特定、インシデントの切り分け、誤検知の回避により、検知精度が高まります。このコンテクスト機能の改善により、トラブルシューティングがはかどり、問題を迅速に特定して解決できます。
ES|QLがElasticオブザーバビリティに加わることで、SREは顧客エクスペリエンス、組織の収益、SLOをより効果的に管理できるようになるだけでなく、コンテクストに応じたアグリゲーション済みデータが提供されることで、開発者やDevOpsとの共同作業が推進されます。
ES|QLによって進歩するElastic検索
ES|QLを使用すれば、1回のクエリでデータを取得、アグリゲーション、計算、変換できます。クエリ時のフィールドの定義、データエンリッチルックアップの実行、クエリの並行処理といった重要な機能が搭載されています。ES|QLを使用して、さまざまな方法でデータを把握したり探索したりできます。クライアントを利用したAPI/コードの直接統合から、1つの画面内での結果の可視化まで、データ調査を効率化して、簡単、シンプルにデータセットを最大限に活用できます。
ES|QLの設計は、コードの複雑さを軽減し、最終的にコストと時間の節約につなげることを重視しています。クエリ結果をその後の検索でスムーズに再利用することで、演算処理の負担を最小限に抑え、ややこしいスクリプトや冗長なクエリの必要性を解消します。ES|QLは、単なるAPIではなく、検索に対するアプローチに変革をもたらすシンプルかつパワフルな手段です。