Azure SQL Edge でのデータ ストリーミング

Azure SQL Edge には、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 Database を指定できます)。
  • ストリーム クエリ:入力ストリームがストリーム出力に書き込まれる前に適用される変換、集計、フィルター、並べ替え、結合が定義されます。 ストリーム クエリは、Stream Analytics で使用されているものと同じクエリ言語に基づいています。 詳細については、Stream Analytics クエリ言語に関するページを参照してください。

重要

Stream Analytics とは異なり、現在、T-SQL ストリーミングではルックアップでの参照データの使用ストリーム ジョブでの UDF および UDA の使用はサポートされていません。

注意

T-SQL ストリーミングでは、Stream Analytics でサポートされている言語サーフェス領域のサブセットのみがサポートされます。 詳細については、Stream Analytics クエリ言語に関するページを参照してください。

制限事項と制約事項

T-SQL ストリーミングには、次の制限事項と制約事項が適用されます。

  • どの時点でも、アクティブにできるストリーミング ジョブは 1 つだけです。 既に実行中のジョブは、別のジョブを開始する前に停止する必要があります。
  • 各ストリーミング ジョブの実行はシングルスレッドです。 ストリーミング ジョブに複数のクエリが含まれている場合、各クエリは直列の順序で評価されます。
  • Azure SQL Edge でストリーミング ジョブを停止した場合、次のストリーミング ジョブを開始できるようになるまでに、遅延が発生する場合があります。 この遅延が導入されている理由は、ジョブの停止要求に応答して基になるストリーミング プロセスを停止し、ジョブの開始要求に応答して再開する必要があるためです。
  • Kafka ストリームの最大 32 パーティションの T-SQL ストリーミング。 パーティション数を増やして構成しようとすると、エラーが発生します。

次のステップ