EMQX ブローカーと EMQX Tables の統合
EMQX Tables は、EMQX Cloud に組み込まれたフルマネージドの時系列データベースサービスであり、MQTT データの効率的な取り込み、保存、分析を目的としています。EMQX ブローカーとはルールエンジンを介してネイティブに統合されており、InfluxDB Line Protocol をサポートしているため、デバイスからデータベースへのシームレスなデータフローを実現します。
本ドキュメントでは、EMQX ブローカーと EMQX Tables のアーキテクチャ、統合プロセス、および利用メリットについて説明します。
アーキテクチャ概要
EMQX Tables は データ統合 を通じて EMQX ブローカーと連携しており、MQTT メッセージを最小限の設定で直接 EMQX Tables に書き込むことが可能です。これにより、サードパーティのデータベースやパイプライン、ミドルウェアは不要となります。
- 外部データベースは不要
- 追加のコネクターやサービスも不要
- すべて EMQX コンソール内で管理可能
典型的なワークフロー
- デバイスが MQTT データを EMQX ブローカーに送信:温度、電力、GPS などのテレメトリーデータ。
- ルールがメッセージを処理:ルールが受信メッセージにマッチし、ペイロードの変換、フィールド抽出、データ整形を行うことも可能。
- データを EMQX Tables に取り込み:ルールアクションを使って Line Protocol 形式で書き込み。
- SQL クエリで取得:ダッシュボード、アラート、分析に利用。
統合のメリット
| 機能 | 説明 |
|---|---|
| ネイティブ統合 | EMQX Cloud コンソール内でワンクリック設定。サードパーティのデータベースやコネクターは不要。 |
| スキーマ設定不要 | テーブルが自動的に構造を推論。スキーマ定義やマイグレーションは不要。 |
| 高スループット+圧縮 | 高負荷の取り込みに最適化。ストレージは圧縮されコスト削減に貢献。 |
| 強力なルールエンジン | 保存前にデータのフィルタリング、変換、拡張、ルーティングが可能。 |
| SQL サポート | 標準的なクエリ言語でデータの取得と分析が可能。 |
| 安全なプライベートネットワーク | ブローカーと Tables が同じクラウドプラットフォーム・リージョンかつ同一ネットワークにある場合、低レイテンシのプライベート接続で通信可能。追加インフラは不要。 |
| Line Protocol 互換 | 既存の InfluxDB ワークフローを再利用可能。慣れ親しんだ Line Protocol 形式でデータを書き込み。 |
| フルマネージド | インフラ管理不要。スケーリング、バックアップ、監視、アップグレードはすべて自動で対応。 |
統合フロー
| ステップ | 説明 |
|---|---|
| 1. 同時デプロイ | 同一クラウドプラットフォーム・リージョンにブローカーと Tables を作成し、デプロイ作成時に同じネットワークに紐付けます。これによりプライベート接続が可能となります。異なるリージョンやネットワークの場合は、パブリックインターネットアクセス用に NAT ゲートウェイが必要です。 |
| 2. コネクター作成 | 自動生成された認証情報を使い、EMQX Tables へのコネクターを追加します。 |
| 3. ルール定義 | SQL を用いて MQTT トピックからデータを抽出します。 |
| 4. アクション設定 | Line Protocol 形式でデータを整形し、Tables に転送します。 |
| 5. クエリと可視化 | 組み込みの SQL エディターや Grafana などのツールでデータを分析します。 |
ステップごとの統合設定手順については、EMQX Tables へのデータ取り込み をご参照ください。