リアルタイム データの格納とクエリ
Eventhouse は、Eventstream によって取り込まれてテーブルに読み込まれ、さらに処理および分析されることが多いリアルタイム データを格納する場所です。
Eventhouse 内では、次を作成できます。
- KQL データベース: リアルタイムの最適化されたデータ ストアであり、テーブル、格納された関数、具体化されたビュー、ショートカットをホストします。
- KQL クエリセット:KQL クエリのコレクションであり、KQL データベース テーブル内のデータを処理するために使用できます。 KQL クエリセットは、Kusto 照会言語 (KQL) と Transact-SQL 言語のサブセットを使用して記述されたクエリをサポートします。
データのクエリ
KQL データベース内のテーブルのデータに対してクエリを実行するには、Azure Data Explorer、Azure Monitor Log Analytics、Microsoft Sentinel、Microsoft Fabric にクエリを記述するために使用される Kusto 照会言語 (KQL) を使用できます。 KQL は、データを処理して結果を返す読み取り専用の要求です。 KQL クエリは 1 つ以上のクエリ ステートメントで構成します。
KQL クエリ ステートメント
クエリ ステートメントは、テーブル名の後に、データの take
、filter
、transform
、aggregate
、または join
を行う 1 つ以上の演算子で構成します。 たとえば、次のクエリを実行すると、stock というテーブルから 10 行を取得できます。
stock
| take 10
さらに複雑な例では、データを集計して、過去 5 分間の銘柄記号 1 つあたりの平均株価を確認できるでしょう。
stock
| where ["time"] > ago(5m)
| summarize avgPrice = avg(todecimal(bidPrice)) by symbol
| project symbol, avgPrice
ヒント
KQL の詳細については、「Kusto 照会言語 (KQL) の概要」を参照してください。
SQL の使用
KQL は、特に時間ベースの要素を使用した大量のデータに対するクエリ実行用に最適化されています。そのため、リアルタイム データの分析に非常に適しています。 ただし、数多くのデータ プロフェッショナルが既に SQL 構文に慣れ親しんでいるため、Eventhouse 内の KQL データベースは、一般的な SQL 式のサブセットをサポートしています。
たとえば、前述の take 10 KQL クエリと同等の SQL は、次のようになります。
SELECT TOP 10 * FROM stock;
クエリに役立つ Copilot の使用
Microsoft Fabric には、リアルタイム インテリジェンス用の Copilot が含まれています。これは、Eventhouse データから分析情報を抽出するために必要なクエリの記述に役立ちます。 Copilot では、ユーザーが探している情報を理解するために AI が活用されていることに加え、ユーザーに代わって必要なクエリ コードが生成されます。
ヒント
リアルタイム インテリジェンス用の Copilot に関する詳細については、「Real-Time Intelligence 用 Copilot」を参照してください。