Connecter des tables de données externes (FDW)
Collection: Connect to foreign data (FDW)Community Edition+Présentation
Ce plugin permet de connecter des tables de données distantes grâce à l'implémentation d'un foreign data wrapper au niveau de la base de données. Les bases de données MySQL et PostgreSQL sont actuellement prises en charge.
- Connecter une source de données consiste à établir une connexion avec une base de données ou un service API spécifique, afin d'utiliser pleinement les fonctionnalités de la base de données ou les services fournis par l'API ;
- Connecter une table de données externe consiste à récupérer des données externes et à les mapper pour les utiliser localement. Dans une base de données, on parle de FDW (Foreign Data Wrapper), une technologie qui permet principalement d'utiliser une table distante comme une table locale, avec une connexion table par table. Comme l'accès est distant, son utilisation s'accompagne de diverses contraintes et limitations.
Les deux approches peuvent également être combinées : la première sert à établir une connexion avec une source de données, tandis que la seconde permet d'accéder à des données provenant de différentes sources. Par exemple, une source de données PostgreSQL peut contenir une table externe créée à l'aide d'un FDW.
MySQL
MySQL utilise le moteur federated, qui doit être activé. Il prend en charge la connexion à des bases de données MySQL distantes ainsi qu'aux bases de données compatibles avec son protocole, comme MariaDB. Pour plus de détails, consultez la documentation Federated Storage Engine.
PostgreSQL
Dans PostgreSQL, différents types d'extensions fdw permettent de prendre en charge différents types de données distantes. Les extensions actuellement prises en charge sont les suivantes :
- postgres_fdw : connecter une base de données PostgreSQL distante dans PostgreSQL.
- mysql_fdw (en cours de développement) : connecter une base de données MySQL distante dans PostgreSQL.
- Pour les autres types d'extensions fdw, consultez PostgreSQL Foreign Data Wrappers. Pour les intégrer à NocoBase, il est nécessaire d'implémenter l'interface d'adaptation correspondante dans le code.
Installation
Prérequis
- Si la base de données principale de NocoBase est MySQL, vous devez activer
federated. Consultez Comment activer le moteur federated dans MySQL.
Ensuite, installez et activez le plugin via le gestionnaire de plugins.

Guide d'utilisation
Dans le menu déroulant « Gestion des tables de données > Créer une table de données », sélectionnez « Connecter des données externes ».

Dans le menu déroulant « Service de base de données », sélectionnez un service de base de données existant ou choisissez « Créer un service de base de données ».

Créer un service de base de données

Après avoir sélectionné le service de base de données, choisissez dans le menu déroulant « Table distante » la table de données à connecter.

Configurer les informations des champs

Si la structure de la table distante a changé, vous pouvez également choisir « Synchroniser depuis la table distante ».

Synchronisation de la table distante

Enfin, la table s'affiche dans l'interface.


