Firebase Data Connect
Firebase 推出第一個關聯式資料庫解決方案,適用於希望透過 PostgreSQL 適用的 Cloud SQL 和型別安全的行動和網頁 SDK,建立安全且可擴充應用程式的開發人員。瞭解詳情。
Firebase Data Connect 是行動應用程式和網頁應用程式專用的關聯資料庫服務,可讓您使用由 Cloud SQL 提供的全代管 PostgreSQL 資料庫建構及擴充應用程式。這項服務採用 GraphQL 技術提供安全的結構定義、查詢和異動管理功能,並能與 Firebase Authentication 完美整合。您可以透過 Kotlin Android、iOS、Flutter 和網頁中的 SDK 支援,將這項產品快速整合至行動和網頁應用程式。
Data Connect 可讓您宣告應用程式資料模型,以及應用程式所需的確切查詢。我們會使用您的資料模型,自動建立符合資料模型的 PostgreSQL 資料庫結構定義、與資料庫通訊的安全伺服器端點,以及與伺服器端點通訊的用戶端應用程式型別安全 SDK。這就像為特定應用程式量身打造的「自駕應用程式伺服器」。
主要功能
採用 PostgreSQL 適用的 Cloud SQL | 您可以使用全代管資料庫服務,在 Google Cloud 中設定、維護及管理 PostgreSQL 關聯資料庫。 |
向量搜尋 | Data Connect 支援向量搜尋,可協助開發人員建構 AI 技術輔助應用程式。 |
多個平台 SDK | Firebase Data Connect 提供適用於 Kotlin Android、iOS、Flutter 和網頁的多平台 SDK。 |
使用者驗證 | Data Connect 支援使用者驗證,確保只有授權使用者才能存取資料。 |
Visual Studio Code 擴充功能 | 使用 GraphQL,直接在 Visual Studio Code 編輯器中輕鬆開發結構定義,以及管理查詢和異動。 |
模擬器 | Firebase Data Connect 中的模擬器可讓您使用本機資料庫測試應用程式,不必部署至實際工作環境。 |
Gemini 版 AI 輔助 Firebase | 使用 Firebase 中的 Gemini,以自然語言按需產生查詢和變異,並直接在 Firebase 控制台中進行測試。詳情請參閱「使用 AI assistance for Data Connect in the Firebase console 執行查詢和異動作業」。 |
運作原理
Firebase Data Connect 的頂層資源是服務,代表由開發人員定義且可供使用者呼叫的 GraphQL API。結構定義是服務的應用程式資料模型,主要以 GraphQL 來源檔案集合,以及已連結資料來源 (例如 Cloud SQL 執行個體) 的特定設定表示。每項服務只能有一個結構定義。最後,連接器是查詢和變異的集合,這些查詢和變異已定義為針對服務的結構定義運作。每項服務可以有多個連接器 (例如,如果您為共乘車服務公司建立「乘客」和「司機」應用程式)。
您的 Data Connect 結構定義會明確對應到特定的基礎 PostgreSQL 資料庫結構定義。Data Connect 包含工具,可根據應用程式結構定義的變更,自動產生執行結構定義遷移作業所需的 SQL DDL。Data Connect 會根據應用程式結構定義自動產生其他 GraphQL 結構定義,用於查詢及操作資料模型。
定義應用程式結構定義後,您可以編寫預先定義的查詢和變異,執行這些查詢和變異,即可讀取及寫入應用程式中的資料。Data Connect 查詢和變異不會由用戶端程式碼提交,也不會在伺服器上執行。相反地,在部署時,這些 Data Connect 作業會儲存在伺服器上,例如 Cloud Functions。可簡化程式碼管理和用戶端程式碼的開發作業。在權限環境中 (例如 Firebase 控制台,以及使用 Data Connect VS Code 擴充功能),您可以使用適當的 Google IAM 憑證執行 ad hoc 作業,以便執行管理作業。
針對用戶端程式碼,每個支援的平台都有一個核心 SDK,用來處理連至後端的連線、發出要求和處理回應。這些 SDK 不支援結構定義,因此必須以非結構化資料的形式提供作業名稱和變數。每個支援的平台也都有產生的 SDK。定義資料模型和作業時,機器上的工具會自動產生應用程式專用的強型別 SDK。這些 SDK 會「包裝」核心 SDK,提供類型安全性、人因工程學和其他功能,例如資料驗證和日後的更多功能。
實作路徑
製作結構定義原型 | 在本機環境中使用工具,製作資料庫結構定義的原型,包括使用向量類型的設計 | |
製作作業原型 | 根據自動產生的查詢和變異操作,為用戶端應用程式建構預先定義的查詢和變異操作 | |
產生型別安全 SDK | 根據結構定義和作業產生及測試型別安全的 SDK,然後實作用戶端程式碼 | |
部署結構定義和作業 | 為「Firebase Data Connect」服務部署結構定義和作業 | |
部署用戶端 | 部署用戶端程式碼 |