外部データテーブル(FDW)への接続

Collection: Connect to foreign data (FDW)Community Edition+

概要

データベースの foreign data wrapper に基づいて、リモートデータテーブルに接続するための機能プラグインです。現在、MySQL と PostgreSQL のデータベースに対応しています。

データソースへの接続 vs 外部データテーブルへの接続
  • データソースへの接続 とは、特定のデータベースまたは API サービスとの接続を確立し、データベースの機能や API が提供するサービスを完全に利用することを指します;
  • 外部データテーブルへの接続 とは、外部からデータを取得してローカルで使用できるようにマッピングすることを指します。データベースでは FDW(Foreign Data Wrapper)と呼ばれる技術で、リモートテーブルをローカルテーブルとして扱うことに重点を置いており、1 回につき 1 つのテーブルに接続できます。リモートアクセスであるため、使用時にはさまざまな制約や制限があります。

両者を組み合わせて使用することもできます。前者でデータソースとの接続を確立し、後者でデータソースをまたいだアクセスを行います。たとえば、ある PostgreSQL データソースに接続し、そのデータソース内のテーブルが FDW に基づいて作成された外部データテーブルである場合などです。

MySQL

MySQL では federated エンジンを使用します。事前に有効化する必要があり、リモートの MySQL および MariaDB などの互換プロトコルを持つデータベースへの接続に対応しています。詳しくは Federated Storage Engine のドキュメントを参照してください。

PostgreSQL

PostgreSQL では、異なる種類の fdw 拡張機能によって、さまざまなリモートデータタイプに対応できます。現在、以下の拡張機能に対応しています:

  • postgres_fdw:PostgreSQL からリモートの PostgreSQL データベースに接続します。
  • mysql_fdw(開発中):PostgreSQL からリモートの MySQL データベースに接続します。
  • その他の種類の fdw 拡張機能については、PostgreSQL Foreign Data Wrappers を参照してください。NocoBase に接続するには、コード内で対応するアダプターインターフェースを実装する必要があります。

インストール

前提条件

その後、プラグインマネージャーからプラグインをインストールして有効化します。

プラグインのインストールと有効化

使用方法

「データテーブル管理 > データテーブルを作成」のドロップダウンから、「外部データに接続」を選択します。

外部データへの接続

「データベースサービス」のドロップダウンから、既存のデータベースサービス、または「データベースサービスを作成」を選択します。

データベースサービス

データベースサービスを作成します。

データベースサービスの作成

データベースサービスを選択した後、「リモートテーブル」のドロップダウンから、接続するデータテーブルを選択します。

接続するデータテーブルの選択

フィールド情報を設定します。

フィールド情報の設定

リモートテーブルの構造に変更があった場合は、「リモートテーブルから同期」を実行できます。

リモートテーブルから同期

リモートテーブルを同期します。

リモートテーブルの同期

最後に、画面上に表示されます。

画面上での表示