次の方法で共有


Azure Data Explorer のしくみ

Azure Data Explorer は、テレメトリ、ログ、イベント、トレース、時系列データを取り込んでクエリを実行するための比類のないパフォーマンスを提供します。 これは、最適化されたストレージ形式、インデックスを備え、高度なデータ統計を使用して、効率的なクエリ計画と Just-In-Time コンパイルクエリ実行を実現します。

ストレージとコンピューティング

Azure Data Explorer は、ストレージ リソースとコンピューティング リソースを分離します。 永続データは Azure Blob Storage に存在しますが、コンピューティング リソースは一時データを格納したり、永続ストレージのキャッシュとして機能したりする場合があります。

この分離には、次の利点があります。

  • ストレージ リソースとコンピューティング リソースの独立したスケールアウト。
  • 複数のコンピューティング クラスター間で同じデータに対するアクセシビリティ。 詳細については、「 Data 共有」を参照してください。
  • SKU の最適化。 詳細については、「 クラスターの SKU を選択するを参照してください。

データ ストレージ

Azure Data Explorer は、取り込まれたすべてのデータを、ターゲット テーブルの水平スライスである extents または data シャードにパーティション分割します。 エクステントは、1 つのレコードから始めることができます。 テーブルにデータが蓄積されると、Azure Data Explorer では、何百万ものレコードが含まれるまでエクステントが自動的にマージされます。 各エクステントは、他のエクステントとは独立してエンコードおよびインデックス付けされます。 この機能は、インジェスト スループットの線形スケールに寄与します。

エクステントはクラスター ノード間で均等に分散され、ローカル SSD とメモリの両方にキャッシュされます。 このディストリビューションにより、高度に分散された並列クエリを準備して実行する能力が強化されます。

データ ストレージの詳細については、「 Extents の概要を参照してください。

Note

Azure Data Explorer には、テーブル スキーマやポリシー オブジェクトなどの重要なメタデータも保持されます。 ポリシーの一覧については、 ポリシーの概要を参照してください。

データ キャッシュ

Azure Data Explorer には、最も関連性の高いデータが CPU にできるだけ近い状態でキャッシュされるようにするための複数階層データ キャッシュ システムがあります。 キャッシュ システムはエクステントの不変性に依存し、圧縮されたデータ 完全に機能します。 クエリのパフォーマンスを向上させるために、RAM でもデータは圧縮されたままであり、クエリに必要な場合にのみ圧縮解除されます。

キャッシュの詳細については、「 Cache ポリシー」を参照してください。

テキスト インデックス作成

Azure Data Explorer は、データの取り込み時にフリーテキスト (string) 列と JSON に似た (dynamic) 列のインデックスを効率的に作成するように設計されています。 インデックスは、データをスキャンすることなく、インデックスに基づいてクエリの一部を評価できる粒度のレベルを維持します。

マージによるエクステントの継続的なバックグラウンド最適化により、圧縮とインデックス作成が向上し、効率的なストレージと低いクエリ待機時間が確保されます。 エクステントが特定のサイズに達すると、効率を損なうことなくクエリパフォーマンスを向上させるためにインデックスのみがマージされます。

エクステントとインデックスのマージの詳細については、「 マージ ポリシー」を参照してください。

行ストア

Azure Data Explorer には、 row store と呼ばれる中間ストレージ ソリューションが用意されています。 行ストアを使用すると、データのごく一部を効率的に取り込み、このデータをすぐにクエリに使用できるようになります。 クラスターでストリーミング インジェストが有効 場合データは最初に行ストアに取り込まれた後、列ストアエクステントに移動されます。

詳細については、「 バッチ処理とストリーミング インジェストを参照してください。

列の圧縮

Azure Data Explorer では、データが圧縮された状態で維持されるため、データの格納と処理に必要なメモリの量が削減されます。 この動作により、クエリのパフォーマンスが向上し、システム リソースが効率的に使用されます。

Azure Data Explorer では、データを並べ替えて圧縮を改善する垂直方向の圧縮を回避します。これは、フリー テキストまたは半構造化データのシナリオでの CPU コストが高いためです。 代わりに、主要なクエリ パターンを使用するシナリオで、優先されるデータの並べ替え順序を指定できます。 このトレードオフは、クエリの迅速なデータ可用性に優先順位を付けます。

データの並べ替え順序の指定の詳細については、「 順序ポリシーを参照してください。

分散データ クエリ

Azure Data Explorer では、大規模な非構造化データ セットに対する高速アドホック分析を目的とした分散データ クエリ テクノロジが使用されます。 このテクノロジの主な機能は次のとおりです。

  • クエリによって生成された一時データは、集約された RAM に格納されます
  • 関連するエクステントはクエリ プランでマークされ、スナップショットの分離が提供されます
  • 高速で効率的なクエリは、短い 既定のタイムアウトで優先順位が付けられています
  • クラスター間のデータ交換を最小限に抑えるクロス クラスター クエリのネイティブ サポート
  • クエリは、すべてのエクステントからのデータ統計を使用して、非常に効率的なマシン コードにジャストインタイムコンパイルされ、列エンコードの仕様に合わせて調整されます

Note

Azure Data Explorer は、Azure Data Explorer 用にカスタムビルドされた Kusto 照会言語 (KQL) を使用するように設計されています。 さらに、 T-SQL もサポートされています。