リモートテーブル

Virtual DataPort では、クエリの結果を外部データベースのテーブルに保存できます。この機能を「 リモートテーブル 」と呼びます。リモートテーブルを作成する際、Denodo は自動的に以下の処理を実行します。

  • 外部データベースに適切なスキーマでテーブルを作成する。

  • このテーブルにクエリの結果を挿入する。

  • 必要に応じて、Virtual DataPort にこの新しいテーブルに関連付けた基本ビューを作成する。

この機能を使用すると、ユーザーは Denodo でクエリを実行して、その結果をデータベースに保存するために別のツールを用意する必要がありません。リモートテーブルを作成、編集、および削除する手順については、「 リモートテーブルの管理 」を参照してください。

この機能を使用すると、Denodo で簡単かつ短時間で効率良く、ETL フロー (Extract、Transform、Load) を作成できます。Denodo ではこのフローを、SQL クエリを使用する宣言的アプローチで作成できます。

これには、従来の ETL フローに比べて、以下に示す複数の利点があります。

  1. Denodo では、SQL クエリから ETL フローを作成します。この宣言的アプローチは、従来の手続的な ETL フローより保守が簡単です。

  2. 多くの場合、Denodo の ETL タスクの実行は、以下の理由により従来の ETL ツールより高速です。

    1. Denodo の実行エンジンはデータ取得プロセスを最適化します。

    2. 実行エンジンは、データを挿入するために、ターゲットデータベースの データ一括読み込み API を使用します (データベースにそのような API が存在する場合)。それらの API を使用することによって、Virtual DataPort は、通常の INSERT ステートメントよりはるかに高速にデータを挿入します。さらに、一部のデータベースでは、データ挿入プロセスがパラレルに実行されます。

  3. Denodo では、Administration Tool から手動で、または Denodo Scheduler で定期的に動作するようにスケジュールして、ETL タスクを起動できます。

この機能は、データを利用するアプリケーションが動作する環境と同じ環境にデータを移動するのに非常に便利です。データが同じ環境に存在することには、以下に示す利点があります。

  • データアクセス時間を最短に短縮。

  • パラレルなデータセットの読み込み。

  • データセットの再利用。データを利用するアプリケーションは、同じデータセットに対する処理を複数回実行する際、Virtual DataPort に毎回データセットをリクエストする必要がありません。さらに、複数のアプリケーションが同時に同じデータセットにアクセスできます。

この機能の一般的なユースケースでは、オンプレミスデータベースのデータを HDFS または Amazon S3 に移動して、それと同じ環境内で Apache Spark を使用してデータ処理ジョブを実行します。

データの保持に関するリモートテーブルと他のメカニズムの比較

  • 一時テーブル: 一部の計算を再利用する複雑なクエリを高速化する場合やデータを準備する場合に便利です。存続期間が短いことを想定しており、一時テーブルのデータはキャッシュデータベースに保存され、そのセッション中のみ有効です。一時テーブルを作成したユーザーまたはクライアントアプリケーションが現在のセッションを閉じた後に一時テーブルは削除されます。

  • サマリーキャッシュ: どちらも処理速度の向上とデータソースの負荷軽減に役立ちます。リモートテーブルと異なり、サマリーとキャッシュされたビューは、完全なデータリネージを提供します。さらに、以下の特徴があります。

    1. キャッシュされたビューの場合、キャッシュデータベースに作成されたテーブルは、Denodo によって完全に管理され、通常のテーブルとして使用することを目的としていません。

    2. サマリービューの場合、クエリオプティマイザーは、サマリービューを使用してクエリを動的に書き換えることができます。

    キャッシュとサマリーによる書き換えの詳細な比較については、「 キャッシュとサマリー書き換えの比較 」を参照してください。