3.2.6. JDBC 外部デバイスレジストリーのデプロイ
外部データベースを使用するには、データベースインスタンスを作成し、必要なテーブルとインデックスを作成する必要があります。
技術的には、JDBC ドライバーを提供し、SQL をサポートするデータベースであればどれでも使用できるはずですが、現時点では、PostgreSQL のみが AMQ Online でサポートされています。明示的に言及されていない限り、このドキュメントは PostgreSQL を使用していることを前提としています。そうでない場合は、指定のコマンドと SQL ステートメントを調整する必要がある場合があります。
JDBC ベースのデバイスレジストリーを設定するには、次の手順を実行する必要があります。
3.2.6.1. データストレージモデルの選択
JDBC ベースのデバイスレジストリーは、次のデータモデルをサポートしています。
- フラットな JSON
- 階層的な JSON
- プレーンテーブル
JSON ベースのデータモデルには、ロックや外部キーは必要ありません。ただし、JSONB の PostgreSQL サポートに依存しています。フラットな JSON モデルは、さまざまな種類の認証情報を格納する場合により柔軟です。階層的な JSON モデルは、フラットな JSON モデルよりも優れたパフォーマンスを発揮しますが、このパフォーマンスを実現するには、認証情報の種類ごとに専用のインデックスが必要です。
プレーンテーブルモデルは、JSON 固有のデータベースサポートを必要としませんが、外部キーでリンクされた複数のテーブルを必要とし、変更時にロックのサポートが必要になります。反対に、ほとんどの場合、読み取りパフォーマンスが向上します。
デフォルトの選択は、階層的な JSON モデルです。
後でデータモデルを変更すると、すべてのデータが失われるか、データを手動で移行する必要があります。