メインコンテンツへスキップ

はじめに

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
*これらのプロバイダーについては、新しいクラウドネイティブの統合エクスペリエンスを使用することを推奨します。 Cloud Amplifierのドキュメント を参照してください。

既知の制限事項

フェデレーテッドデータ接続を行う前に、以下の点に注意してください。
  • クエリのパフォーマンスは、サードパーティのデータウェアハウスの設定、パフォーマンスプロファイル、およびクエリの負荷によって異なります。Domoは、これらの原因による遅延やその他の制限について責任を負いません。
  • フェデレーテッド接続からDomoにDataSetを作成した後は、フェデレーテッドDataSetと呼ばれます。これらのDataSetは、以下のDomoの機能をサポートしていません。
    • データサイエンス操作を含むMagic ETL(代わりに、オンプレミスのDataSetにビューを作成できます)。
    • DataSetアラート(カードアラートはSnowflakeフェデレーテッドDataSetでサポートされています)。
    • DataFusion
    • DataSetビュー(DataSetビューは同じアカウントのSnowflakeフェデレーテッドDataSetでサポートされています。現在、クロスアカウントビューはサポートされていません)。

この記事では、フェデレーテッドデータツールについて以下のトピックで説明します。

フェデレーテッドデータオプション

フェデレーテッドデータソリューションを使用する方法は2つあります。
  • 直接 (標準アーキテクチャー) この方法は、データレイヤーへの接続を許可する必要があり、一般的にクラウドプロバイダーに使用されます。
  • インストールされたエージェント (エージェントベースアーキテクチャー) この方法は、接続を必要とせず、一般にオンプレミスプロバイダーに対して使用されますが、クラウド接続にも使用できます。
各方法の詳細については、以下を参照してください。

標準フェデレーテッドアーキテクチャー

IMAGE1.png
このオプションは、クラウドベースのシステムやDomoが直接クエリできるデータベースへの接続に最適です。 このページのトップへ

既知の制限事項

標準フェデレーテッドアーキテクチャーを使用する前に、この方法はデータベースへの接続が必要なので、通常オンプレミスソリューションには最適ではないことに注意してください。続行する前に、ITまたはインフラストラクチャチームに確認してください。

必要条件

  • データベースのURL、ユーザー名、パスワードを含む、目的のデータベースへの接続文字列。
  • 許可リストへの登録(該当する場合)が完了している必要があります。ネットワーク接続に許可する必要があるDomoのIPアドレスについては、 こちら を参照してください。
このページのトップへ

セキュリティ

IMAGE2.png
Domoは目的のデータベースに直接接続し、クエリを実行します。Domoクラウドとデータウェアハウス間のすべてのトラフィックは暗号化されます。独自のファイアウォールですべてのインバウンドおよびアウトバウンドトラフィックを制御でき、システムアカウントの整合性を確保するために強力な認証が実施されています。 このページのトップへ

フェデレーテッドデータにアクセスする

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

新しいアカウントを設定する

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

フェデレーテッドエージェントアーキテクチャー

IMAGE3.png
フェデレーテッドエージェントオプションは、Domoからクエリへのアクセスを許可できないデータベースに最適です。通常、これらはオンプレミスデータベースです。このアーキテクチャーでは、データベースにアクセスできる場所に中間エージェントをインストールします。通常、これはデータベースのファイアウォール内になります。このエージェントはDomoへのソケット接続を使ってクエリを取得し、データベースに接続してクエリを実行し、その結果をDomoに返します。設定ファイルは、Domoと目的のデータベースへの接続を管理するために使用されます。 このページのトップへ

メリット

  • Domoと目的のデータベースの中間となるネットワークファイアウォール内にインストールされています。
  • 必要に応じてカスタム開発を進めることができます。そのため、ユーザーはクエリやクエリのルーティングをすぐに調整できます。

既知の制限事項

このソリューションを使用する前に、以下の点に注意してください。
  • このソリューションでは、接続を確保するためにオンプレミスでのインストールと定期的な更新が必要です。
  • インストールと保守のために、さらに多くの技術的リソースが必要になる可能性があります。

必要条件

  • データベースのURL、ユーザー名、パスワードを含む、目的のデータベースへの接続文字列が必要です。
  • 許可リストへの登録(該当する場合)が完了している必要があります。
    • Domoインスタンスで許可リストへの登録が有効になっている場合は、フェデレーテッドエージェントを実行しているホストのIPアドレスを許可リストに登録する必要があります。DomoでIPアドレスを許可リストに登録する方法については、 こちら を参照してください。
    • DomoのIPアドレスは、ファイアウォールで許可リストに登録されている必要があります。どのIPアドレスを許可リストに登録するかについては、 こちら を参照してください。
    • Pusherのドメイン がファイアウォールで許可リストに登録されている必要があります。 ここではIPは許可リストに登録できません。詳細については、Pusherの ドキュメント を参照してください。
このページのトップへ

セキュリティ

Domoのフェデレーテッドデータモデルは、データを複製せずに、Domoクラウドとデータストアの間でデータを統合します。このため、データはユーザーの環境で常に保護されます。クエリされたデータのサブセットのみがDomoクラウドに渡されます。 フェデレーテッドデータモデルでは、多層防御モデルもサポートしており、転送中のデータや保存済みデータを含むライフサイクルのすべての段階でデータが保護され続けるようにします。

転送中のデータ

Domoクラウドとデータウェアハウス間のすべてのトラフィックは暗号化されます。自社のファイアウォールですべてのインバウンドおよびアウトバウンドトラフィックを制御でき、システムアカウントの整合性を確保するために強力な認証が実施されています。

保存済みデータ

Domoのフェデレーテッドデータモデルでは、Domoのクラウドデータは一時的なものになります。TTL(有効時間)はデータに関連しており、TTLが失効するとデータも失効します。このTTLは5秒といった短い時間に設定できます。TTLを使用すると、データアクセスを無効にできます。これにより、Domoの顧客データすべてにアクセスできなくなります。 このページのトップへ

フェデレーテッドエージェントを設定する

必要条件を設定した後、このプロセスにかかる時間は1時間未満です。
  1. Domoフェデレーテッドエージェントは、すべてのお客様が利用できます。エージェントは、 https://app.domo.com/labs/federated-agent-v2/prod/latest/domo-federated-agent-v2.zip からダウンロードしてください。
  2. エージェントパッケージ内の README.md ファイルに記載されている補足指示に従います。
  3. フェデレーテッドエージェントを設定したら、Data Centerに移動してエージェントを認証します。左側のナビゲーションで、 [More] > [フェデレーテッドエージェント管理] を選択します。
    management.jpg
  4. 認証するエージェントの [承認] を選択します。
    FederatedAgent2.png
  5. これで、エージェントに接続できるようになります。
このページのトップへ

フェデレーテッドエージェントを更新する

  1. zipアーカイブを作成するか、既存のインストールディレクトリをバックアップとして新しい場所にコピーします。既存のインストールディレクトリは移動しないでください。
  2. 最新バージョンのエージェントは https://app.domo.com/labs/federated-agent-v2/prod/latest/domo-federated-agent-v2.zip からダウンロードできます。
  3. アーカイブを展開します。
  4. federated agent.jar をアーカイブからコピーし、 既存のインストールディレクトリに上書きします。
    重要: federated agent.jar ファイルのみを上書きしてください。ほかのファイルを上書きまたは置換すると、問題が発生する可能性があります。
  5. アップグレードが正しく機能した後、または次回のアップグレード中に、バックアップアーカイブを削除できます。
このページのトップへ

よくある質問

フェデレーテッドエージェントによって追加される時間はごくわずかです。パフォーマンスへの影響は、クエリを処理する目的のサーバーの能力と関連します。
Domoはクエリの結果をできるだけ効率的にキャッシュします。キャッシュの設定はフェデレーションアダプターで設定可能です。
いいえ。フェデレーテッドエージェントはウェブソケットを使用して、Domoへの接続を確立します。フェデレーテッドエージェントを使用するために、インバウンドトラフィックは必要ありません。
通常のDataSetのように見えます。行数とスキーマが表示されますが、実際のデータはDomoにコピーされません。
エージェントに接続を許可する必要があります。
結果は、DataSetとSQLクエリのレベルでキャッシュされます。すべてのカード、カスタムApp、およびDataFlowは、基盤となるDataSetから結果を選択するためのSQLを生成します。この生成されたSQLとDataSetの組み合わせが、キャッシュキーとして機能します。複数のカードが同じDataSetからデータを取得するために同じSQLを生成する場合は、同じキャッシュを利用できます。これは、同じDataSetに対して同じSQLを生成する、1つまたは複数のカードにアクセスする複数のユーザーについても同様です。
フィルター(ページフィルター、カードフィルター、フィルタービューなど)とPDPは、基盤となるSQLに含まれています。これは、特に各ユーザーが異なるPDPルールを持っている場合、上記のFAQで説明されているように、あるカードが複数のキャッシュキーを持っている可能性があることを意味します。
接続の設定時にキャッシュタイムアウト(有効期間 — TTL)を設定できます。TTLの単位は秒で、デフォルトのTTLは900(15分)です。このページのトップへ

トラブルシューティング

フェデレーテッドデータ接続の試行時に、認証情報を確認して再試行する必要があるというエラーメッセージが表示された場合は、サードパーティデータベースのアカウントの権限を確認してください。このページのトップへ