はじめに
Data Center内から、Domo外でホストされているデータベースに直接接続するように設定し、Domoでカードをレンダリングできるようにすることができます。これはフェデレーテッドデータ接続と呼ばれます。データをDomoに取り込んでDomo内に保存したデータに対して可視化クエリを実行する代わりに、クエリを目的のデータベースに対して実行し、その結果をDomoに送り、可視化をレンダリングします。このモデルは、セキュリティやロジスティックスの観点からデータを既存のインフラストラクチャ内に保存したい場合に特に適しています。 Domoは一般的なデータベースをサポートしています。後述の リスト を参照してください。フェデレーテッドデータ接続のメリット
フェデレーテッドデータ接続には、以下のようなメリットがあります。- お客様のデータレイクやデータウェアハウスにDomoを直接接続することで、既存のデータウェアハウスへの投資が維持されます。
- クラウドストレージ にデータをアップロードしないため、データの重複やコストのかかるデータ転送を回避できます。
- データ転送がないため、データ遅延が減少します。
- お客様の管理者がデータの管理を担います。
サポートされるデータベース
サポートされるフェデレーテッドデータベースの現在のリストは以下の通りです。- Amazon Athena*
- Amazon Redshift*
- Apache Druid
- Google BigQuery*
- IBM Db2
- IBM Watson Query
- Microsoft Azure
- Microsoft SQL Server
- MySQL*
- Oracle*
- PostgreSQL*
- Presto
- SAP Hana
- Snowflake*
- Teradata
- Trino
- Vertica
既知の制限事項
フェデレーテッドデータ接続を行う前に、以下の点に注意してください。- クエリのパフォーマンスは、サードパーティのデータウェアハウスの設定、パフォーマンスプロファイル、およびクエリの負荷によって異なります。Domoは、これらの原因による遅延やその他の制限について責任を負いません。
- フェデレーテッド接続からDomoにDataSetを作成した後は、フェデレーテッドDataSetと呼ばれます。これらのDataSetは、以下のDomoの機能をサポートしていません。
- データサイエンス操作を含むMagic ETL(代わりに、オンプレミスのDataSetにビューを作成できます)。
- DataSetアラート(カードアラートはSnowflakeフェデレーテッドDataSetでサポートされています)。
- DataFusion
- DataSetビュー(DataSetビューは同じアカウントのSnowflakeフェデレーテッドDataSetでサポートされています。現在、クロスアカウントビューはサポートされていません)。
この記事では、フェデレーテッドデータツールについて以下のトピックで説明します。
フェデレーテッドデータオプション
フェデレーテッドデータソリューションを使用する方法は2つあります。- 直接 (標準アーキテクチャー) — この方法は、データレイヤーへの接続を許可する必要があり、一般的にクラウドプロバイダーに使用されます。
- インストールされたエージェント (エージェントベースアーキテクチャー) — この方法は、接続を必要とせず、一般にオンプレミスプロバイダーに対して使用されますが、クラウド接続にも使用できます。
標準フェデレーテッドアーキテクチャー

既知の制限事項
標準フェデレーテッドアーキテクチャーを使用する前に、この方法はデータベースへの接続が必要なので、通常オンプレミスソリューションには最適ではないことに注意してください。続行する前に、ITまたはインフラストラクチャチームに確認してください。必要条件
- データベースのURL、ユーザー名、パスワードを含む、目的のデータベースへの接続文字列。
- 許可リストへの登録(該当する場合)が完了している必要があります。ネットワーク接続に許可する必要があるDomoのIPアドレスについては、 こちら を参照してください。
セキュリティ

フェデレーテッドデータにアクセスする
標準フェデレーテッドアーキテクチャーは、すべてのお客様が利用できます。アクセスするには、Data Centerに移動し、 [データを接続][フェデレーテッド] を選択します。 [フェデレーテッドDataSetを接続する] モーダルが表示されます。後述の「 新しいアカウントを設定する 」を参照してください。

新しいアカウントを設定する
- [フェデレーテッドDataSetを接続する] モーダルで [新規アカウントを追加] を選択します。
- 適切なアダプターを選択し、 [接続] を選択して次に進むか、 [キャンセル] を選択してモーダルを閉じます。
- 目的のデータベースの接続の詳細を入力します。
- このフェデレーテッドアカウントで利用できるように、それぞれのテーブルを設定します。
- 最初のテーブルを選択します。
- スキーマを確認し、適切な列が利用可能になっていることを確認します。含まれている列はいつでも変更できます。
- [次へ] を選択します。
- DataSetに名前を付けます。
- キャッシュTTLを適宜設定します。
注記: キャッシュTTLとは、後続のクエリで使用するためにDomoがクエリ結果をキャッシュに保持する時間の長さです。
- Domo Data Centerで [フェデレーテッド] に移動し、テーブルごとに上記の手順を繰り返します。1つのアカウントを任意の数のテーブルに対して使用できます。複数のアカウントを作成することもできます。
フェデレーテッドエージェントアーキテクチャー

メリット
- Domoと目的のデータベースの中間となるネットワークファイアウォール内にインストールされています。
- 必要に応じてカスタム開発を進めることができます。そのため、ユーザーはクエリやクエリのルーティングをすぐに調整できます。
既知の制限事項
このソリューションを使用する前に、以下の点に注意してください。- このソリューションでは、接続を確保するためにオンプレミスでのインストールと定期的な更新が必要です。
- インストールと保守のために、さらに多くの技術的リソースが必要になる可能性があります。
必要条件
- データベースのURL、ユーザー名、パスワードを含む、目的のデータベースへの接続文字列が必要です。
- 許可リストへの登録(該当する場合)が完了している必要があります。
- Domoインスタンスで許可リストへの登録が有効になっている場合は、フェデレーテッドエージェントを実行しているホストのIPアドレスを許可リストに登録する必要があります。DomoでIPアドレスを許可リストに登録する方法については、 こちら を参照してください。
- DomoのIPアドレスは、ファイアウォールで許可リストに登録されている必要があります。どのIPアドレスを許可リストに登録するかについては、 こちら を参照してください。
-
Pusherのドメイン
がファイアウォールで許可リストに登録されている必要があります。
ここではIPは許可リストに登録できません。詳細については、Pusherの ドキュメント
を参照してください。
セキュリティ


転送中のデータ
Domoクラウドとデータウェアハウス間のすべてのトラフィックは暗号化されます。自社のファイアウォールですべてのインバウンドおよびアウトバウンドトラフィックを制御でき、システムアカウントの整合性を確保するために強力な認証が実施されています。保存済みデータ
Domoのフェデレーテッドデータモデルでは、Domoのクラウドデータは一時的なものになります。TTL(有効時間)はデータに関連しており、TTLが失効するとデータも失効します。このTTLは5秒といった短い時間に設定できます。TTLを使用すると、データアクセスを無効にできます。これにより、Domoの顧客データすべてにアクセスできなくなります。 このページのトップへフェデレーテッドエージェントを設定する
必要条件を設定した後、このプロセスにかかる時間は1時間未満です。- Domoフェデレーテッドエージェントは、すべてのお客様が利用できます。エージェントは、 https://app.domo.com/labs/federated-agent-v2/prod/latest/domo-federated-agent-v2.zip からダウンロードしてください。
- エージェントパッケージ内の README.md ファイルに記載されている補足指示に従います。
-
フェデレーテッドエージェントを設定したら、Data Centerに移動してエージェントを認証します。左側のナビゲーションで、
[More] > [フェデレーテッドエージェント管理] を選択します。

-
認証するエージェントの [承認] を選択します。

- これで、エージェントに接続できるようになります。
フェデレーテッドエージェントを更新する
- zipアーカイブを作成するか、既存のインストールディレクトリをバックアップとして新しい場所にコピーします。既存のインストールディレクトリは移動しないでください。
- 最新バージョンのエージェントは https://app.domo.com/labs/federated-agent-v2/prod/latest/domo-federated-agent-v2.zip からダウンロードできます。
- アーカイブを展開します。
- federated agent.jar をアーカイブからコピーし、 既存のインストールディレクトリに上書きします。
- アップグレードが正しく機能した後、または次回のアップグレード中に、バックアップアーカイブを削除できます。
よくある質問
フェデレーテッドエージェントは、カードの読み込み時間に影響を与えますか?
フェデレーテッドエージェントは、カードの読み込み時間に影響を与えますか?
フェデレーテッドエージェントによって追加される時間はごくわずかです。パフォーマンスへの影響は、クエリを処理する目的のサーバーの能力と関連します。
サーバーの負荷を管理するために利用できるオプションは何ですか?
サーバーの負荷を管理するために利用できるオプションは何ですか?
Domoはクエリの結果をできるだけ効率的にキャッシュします。キャッシュの設定はフェデレーションアダプターで設定可能です。
フェデレーテッドエージェントを使用する場合は、ファイアウォールでDomoの通信を許可する必要がありますか?
フェデレーテッドエージェントを使用する場合は、ファイアウォールでDomoの通信を許可する必要がありますか?
いいえ。フェデレーテッドエージェントはウェブソケットを使用して、Domoへの接続を確立します。フェデレーテッドエージェントを使用するために、インバウンドトラフィックは必要ありません。
DomoのフェデレーテッドDataSetとはどのようなものですか?
DomoのフェデレーテッドDataSetとはどのようなものですか?
通常のDataSetのように見えます。行数とスキーマが表示されますが、実際のデータはDomoにコピーされません。
なぜ[Agent has not been authorized to connect to accounts](エージェントはアカウントに接続する権限がありません)というエラーが発生するのでしょうか?
なぜ[Agent has not been authorized to connect to accounts](エージェントはアカウントに接続する権限がありません)というエラーが発生するのでしょうか?
キャッシュはどのように機能しますか?
キャッシュはどのように機能しますか?
結果は、DataSetとSQLクエリのレベルでキャッシュされます。すべてのカード、カスタムApp、およびDataFlowは、基盤となるDataSetから結果を選択するためのSQLを生成します。この生成されたSQLとDataSetの組み合わせが、キャッシュキーとして機能します。複数のカードが同じDataSetからデータを取得するために同じSQLを生成する場合は、同じキャッシュを利用できます。これは、同じDataSetに対して同じSQLを生成する、1つまたは複数のカードにアクセスする複数のユーザーについても同様です。
キャッシュは、フィルターやPDPからどのような影響を受けますか?
キャッシュは、フィルターやPDPからどのような影響を受けますか?
フィルター(ページフィルター、カードフィルター、フィルタービューなど)とPDPは、基盤となるSQLに含まれています。これは、特に各ユーザーが異なるPDPルールを持っている場合、上記のFAQで説明されているように、あるカードが複数のキャッシュキーを持っている可能性があることを意味します。
キャッシュはいつ期限切れになりますか?
キャッシュはいつ期限切れになりますか?
接続の設定時にキャッシュタイムアウト(有効期間 — TTL)を設定できます。TTLの単位は秒で、デフォルトのTTLは900(15分)です。このページのトップへ