Kết nối bảng dữ liệu ngoài (FDW)

Giới thiệu

Tính năng kết nối bảng dữ liệu từ xa dựa trên Foreign Data Wrapper của database. Hiện hỗ trợ các database MySQL và PostgreSQL.

Kết nối nguồn dữ liệu vs Kết nối bảng dữ liệu ngoài
  • Kết nối nguồn dữ liệu đề cập đến việc thiết lập kết nối với một database hoặc dịch vụ API cụ thể, có thể sử dụng đầy đủ các tính năng của database hoặc dịch vụ mà API cung cấp;
  • Kết nối bảng dữ liệu ngoài đề cập đến việc lấy dữ liệu từ bên ngoài và ánh xạ để sử dụng cục bộ. Trong database gọi là FDW (Foreign Data Wrapper), một công nghệ database tập trung vào việc xem bảng từ xa như bảng cục bộ, chỉ có thể kết nối từng bảng một. Vì là truy cập từ xa nên khi sử dụng sẽ có nhiều ràng buộc và hạn chế.

Hai cái này cũng có thể dùng kết hợp, cái trước dùng để thiết lập kết nối với nguồn dữ liệu, cái sau dùng để truy cập dữ liệu xuyên qua các nguồn dữ liệu. Ví dụ, sau khi kết nối một nguồn dữ liệu PostgreSQL, có một bảng nào đó trong nguồn dữ liệu này được tạo dựa trên FDW làm bảng dữ liệu ngoài.

MySQL

MySQL thông qua engine federated, cần kích hoạt, hỗ trợ kết nối MySQL từ xa và các database tương thích giao thức của nó như MariaDB. Tài liệu chi tiết tham khảo Federated Storage Engine.

PostgreSQL

Trong PostgreSQL, có thể hỗ trợ các loại dữ liệu từ xa khác nhau thông qua các extension fdw khác nhau. Hiện các extension được hỗ trợ là:

  • postgres_fdw: Kết nối database PostgreSQL từ xa trong PostgreSQL.
  • mysql_fdw: Kết nối database MySQL từ xa trong PostgreSQL.
  • Các loại extension fdw khác, có thể tham khảo PostgreSQL Foreign Data Wrappers. Để tích hợp vào NocoBase, cần triển khai các interface adapter tương ứng trong code.

Điều kiện tiên quyết

Sau đó cài đặt và kích hoạt plugin thông qua trình quản lý plugin

Cài đặt và kích hoạt plugin

Hướng dẫn sử dụng

Trong dropdown "Quản lý bảng dữ liệu > Tạo bảng dữ liệu", chọn "Kết nối dữ liệu ngoài"

Kết nối dữ liệu ngoài

Trong tùy chọn dropdown "Dịch vụ database", chọn dịch vụ database đã tồn tại, hoặc "Tạo dịch vụ database"

Dịch vụ database

Tạo dịch vụ database

Tạo dịch vụ database

Sau khi chọn dịch vụ database, trong tùy chọn dropdown "Bảng từ xa", chọn bảng dữ liệu cần kết nối.

Chọn bảng dữ liệu cần kết nối

Cấu hình thông tin trường

Cấu hình thông tin trường

Nếu bảng từ xa có thay đổi cấu trúc, cũng có thể "Đồng bộ từ bảng từ xa"

Đồng bộ từ bảng từ xa

Đồng bộ bảng từ xa

Đồng bộ bảng từ xa

Cuối cùng, hiển thị trên giao diện

Hiển thị trên giao diện