Azure Data Explorer EngineV3

Kusto EngineV3 は、Azure Data Explorer の次世代ストレージおよびクエリ用のパフォーマンス更新エンジンです。 テレメトリ、ログ、時系列データの取り込みとクエリで比類のないパフォーマンスを提供するように設計されています。

EngineV3 には新しい最適化されたストレージ形式とインデックスが含まれており、高度なデータ統計クエリの最適化を使って、最適なクエリ プランと Just-In-Time でコンパイルされたクエリ実行が作成されます。 また、EngineV3 ではディスク キャッシュが改善され、その結果として、クエリのパフォーマンスが現在のエンジン (EngineV2) と比較して桁違いに向上しています。 EngineV3 により、Azure Data Explorer サービスにおける次の革新の波に対応する基盤が築かれます。

EngineV3 モードで実行される Azure Data Explorer クラスターは、EngineV2 と完全に互換性があるため、データ移行の必要はありません。

重要

一般提供 (GA) では、既定ですべての新しいクラスターが EngineV3 モードで作成されます。 SLA は、すべての EngineV3 および EngineV2 の運用環境クラスターに適用されます。 EngineV2 クラスターを移行するには、サポート チケットを作成してください。 移行プロセス自体には、1 分未満の最小限のダウンタイムが必要です。これによる、インジェストとクエリのパフォーマンスに対する重大な影響はありません。

EngineV3 の動作のしくみ

EngineV3 は、既存の列ストア (EngineV2) および行ストア (ストリーミング インジェストに使用される) と並行して実行される追加の列ストア ストレージ エンジンです。 テーブルには、3 つすべてのストアのデータを一度に組み込むことができます。そして、この "フェデレーション" データは、ユーザーの観点からは見えません。

Azure Data Explorer/Kusto EngineV3 アーキテクチャの概略図。

テーブルに取り込まれたすべてのデータは、テーブルの水平スライスであるシャードにパーティション分割されます。 通常、各シャードには数百万のレコードが含まれ、他のシャードとは別にエンコードされて、インデックスが作成されます。 この機能により、エンジンはインジェスト スループットの線形スケールを実現できます。

シャードはクラスター ノード間で均等に分散され、ローカル SSD とメモリの両方にキャッシュされます。 クエリ プランナーとクエリ エンジンにより、このシャード ディストリビューションとキャッシュの利点を活用する、高度に分散された並列クエリが作成されて実行されます。

EngineV3 では、分散クエリのこの "下部" を最適化することに重点が置かれます。

パフォーマンス

パフォーマンスの改善とクエリ速度の向上は、このエンジンにおける 2 つの主要な変更点によるものです。

  • 新しく改良されたシャード ストレージ形式。 EngineV2 と同様に、ストレージ形式は、非構造化 (テキスト) と半構造化のデータ型に特化した圧縮列ストアです。 EngineV3 では、これらの異なるデータ型のエンコードが向上しています。 インデックスは、粒度を上げるために再設計されており、データをスキャンせずにインデックスに基づいてクエリの一部を評価できます。
  • 低レベルのシャード クエリ エンジンの再設計。 新しいシャード クエリは、Just-In-Time で非常に効率的なマシン コードにコンパイルされるため、高速で効率的な結合クエリの評価ロジックが得られます。 クエリのコンパイルは、すべてのシャードから収集されたデータ統計を基にしており、列エンコードの詳細に合わせて調整されます。

EngineV3 のパフォーマンスへの影響は、使用されているデータセット、クエリ パターン、コンカレンシー、VM SKU によって異なります。 パフォーマンス テストでは、100 TB のデータセットが使用され、構造化、非構造化、半構造化データに対する分析を含むさまざまなシナリオが調査されました。 同じレベルのコンカレンシーで、同じハードウェア構成を使用した場合、パフォーマンスの向上は平均で約 8 倍でした。 実際のパフォーマンスの向上は、クエリとデータセットによって異なります。

次のステップ

Azure Data Explorer を使用してデータを取り込む