Azure SQL Edge でのデータ ストリーミング
重要
Azure SQL Edge の提供は、2025 年 9 月 30 日に終了する予定です。 詳細な情報と移行オプションについては、提供終了に関する通知を参照してください。
Note
Azure SQL Edge では、ARM64 プラットフォームがサポートされなくなりました。
Azure SQL Edge には、Transact-SQL (T-SQL) ストリーミングと呼ばれるデータ ストリーミング機能のネイティブ実装が用意されています。 これにはリアルタイムのデータ ストリーミング、分析、イベント処理機能があり、複数のソースからの大量の高速ストリーミング データを同時に分析および処理することができます。 T-SQL ストリーミングは、Microsoft Azure の Azure Stream Analytics を強化しているものと同じハイパフォーマンス ストリーミング エンジンを使用して構築されています。 この機能は、エッジ上で実行されている Azure Stream Analytics によって提供されるものと同様の機能セットをサポートしています。
T-SQL ストリーミングを使用すると、Stream Analytics と同様に、デバイス、センサー、アプリケーションなどのさまざまな IoT 入力ソースから抽出された情報に含まれるパターンやリレーションシップを認識できます。 これらのパターンを使用してアクションをトリガーし、ワークフローを開始できます。 たとえば、アラートの作成、レポートまたは視覚化ソリューションへの情報のフィード、後で使用するためのデータの保存を行うことができます。
T-SQL ストリーミングは次の場合に役立ちます。
- "IoT デバイスからのリアルタイムのテレメトリ ストリームを分析する。"
- 無人の自動運転車両から生成されたデータのリアルタイム分析の使用。
- 高価な産業資産や製造資産のリモート監視と予測メンテナンスの使用。
- 農園や発電所での IoT センサーの読み取り値の異常検出やパターン認識の使用。
T-SQL ストリーミングのしくみ
T-SQL ストリーミングは、Azure Stream Analytics とまったく同じ方法で動作します。 たとえば、リアルタイム データ ストリーミングを処理するために、"ストリーミング ジョブ" の概念が使用されます。
ストリーム分析ジョブは次のもので構成されます。
ストリーム入力: データ ストリームを読み取るデータ ソースへの接続が定義されます。 現在、Azure SQL Edge では次の種類のストリーム入力がサポートされています。
- Edge ハブ
- Kafka (現在、Kafka 入力のサポートは Intel/AMD64 バージョンの Azure SQL Edge でのみ利用可能です)。
ストリーム出力: データ ストリームを書き込むデータ ソースへの接続が定義されます。 現在、Azure SQL Edge では次の種類のストリーム出力がサポートされています。
- Edge ハブ
- SQL (SQL 出力には、Azure SQL Edge のインスタンス内のローカル データベースか、リモートの SQL サーバーまたは Azure SQL データベースを指定できます)。
ストリーム クエリ: 入力ストリームがストリーム出力に書き込まれる前に適用される変換、集計、フィルター、並べ替え、結合が定義されます。 ストリーム クエリは、Stream Analytics で使用されているものと同じクエリ言語に基づいています。 詳細については、Stream Analytics クエリ言語に関するページを参照してください。
重要
Stream Analytics とは異なり、現在、T-SQL ストリーミングではルックアップでの参照データの使用やストリーム ジョブでの UDF および UDA の使用はサポートされていません。
Note
T-SQL ストリーミングでは、Stream Analytics でサポートされている言語サーフェス領域のサブセットのみがサポートされます。 詳細については、Stream Analytics クエリ言語に関するページを参照してください。
制限事項
T-SQL ストリーミングには、次の制限事項と制約事項が適用されます。
- どの時点でも、アクティブにできるストリーミング ジョブは 1 つだけです。 既に実行中のジョブは、別のジョブを開始する前に停止する必要があります。
- 各ストリーミング ジョブの実行はシングルスレッドです。 ストリーミング ジョブに複数のクエリが含まれている場合、各クエリは直列の順序で評価されます。
- Azure SQL Edge でストリーミング ジョブを停止した場合、次のストリーミング ジョブを開始できるようになるまでに、遅延が発生する場合があります。 この遅延が導入されている理由は、ジョブの停止要求に応答して基になるストリーミング プロセスを停止し、ジョブの開始要求に応答して再開する必要があるためです。
- Kafka ストリームの最大 32 パーティションの T-SQL ストリーミング。 パーティション数を増やして構成しようとすると、エラーが発生します。