Firebase SQL Connect

Firebase 的第一個關聯式資料庫解決方案,適合想使用 Cloud SQL for PostgreSQL 和類型安全行動/網頁 SDK,建立安全且可擴充應用程式的開發人員。瞭解詳情。

Firebase SQL Connect 是適用於行動和網頁應用程式的關聯式資料庫服務,可讓您使用由 Cloud SQL 提供的全代管 PostgreSQL 資料庫建構及擴充應用程式。這項服務採用 GraphQL 技術,可安全管理結構定義、查詢和異動,並與 Firebase Authentication 完美整合。您可以使用 Kotlin Android、iOS、Flutter 和網頁的 SDK 支援,快速將這項產品整合到行動和網頁應用程式。

SQL Connect 可讓您宣告應用程式的資料模型,以及應用程式所需的確切查詢。我們會使用您的資料模型,自動建立符合資料模型的 PostgreSQL 資料庫結構定義、與資料庫通訊的安全伺服器端點,以及與伺服器端點通訊的用戶端應用程式類型安全 SDK。就像是為特定應用程式量身打造的「自動駕駛應用程式伺服器」。

主要功能

採用 Cloud SQL for PostgreSQL 這項全代管資料庫服務可協助您在 Google Cloud 中設定、維護及管理 PostgreSQL 關聯資料庫。
向量搜尋 SQL Connect 支援向量搜尋,可讓開發人員建構 AI 輔助應用程式。
多個平台 SDK Firebase SQL Connect 提供多平台 SDK,適用於 Kotlin Android、iOS、Flutter 和網頁。
以使用者為準的驗證 SQL Connect 支援使用者驗證,確保只有授權使用者能存取資料。
Visual Studio Code 擴充功能 透過 GraphQL,直接在 Visual Studio Code 程式碼編輯器中輕鬆開發結構定義,以及管理查詢和異動。
模擬器 Firebase SQL Connect 包含模擬器,可讓您使用本機資料庫測試應用程式,不必部署至正式環境。
Firebase中的 Gemini AI 輔助功能 在 Firebase 中使用 Gemini,以自然語言隨選生成查詢和突變,並直接在 Firebase 控制台中測試。詳情請參閱「使用 AI assistance for SQL Connect 進行查詢和變異」。

運作原理

Firebase SQL Connect 的頂層資源是「服務」,代表可由開發人員定義並由使用者呼叫的代管 GraphQL API。結構定義是服務的應用程式資料模型,主要以 GraphQL 來源檔案集合的形式呈現,以及附加資料來源 (例如 Cloud SQL 執行個體) 的特定設定。每個服務只能有一個結構定義。最後,連接器是查詢和異動的集合,已定義為針對服務的結構定義運作。每項服務可以有多個連接器 (例如,如果您的共乘公司有「乘客」應用程式和「司機」應用程式)。

您的 SQL Connect 結構定義會明確對應至特定基礎 PostgreSQL 資料庫結構定義。SQL Connect 包含工具,可根據應用程式結構定義的變更,自動產生執行結構定義遷移所需的 SQL DDL。根據應用程式結構定義,SQL Connect 自動產生額外的 GraphQL 結構定義,用於查詢及操控資料模型。

定義應用程式結構定義後,您可以編寫預先定義的查詢和異動,並執行這些查詢和異動,在應用程式中讀取及寫入資料。SQL Connect 查詢和變異並非由用戶端程式碼提交,而是在伺服器上執行。部署後,這些 SQL Connect 作業會儲存在伺服器上,例如 Cloud Functions。這可簡化程式碼管理和用戶端程式碼開發作業。在特殊權限環境中 (例如 Firebase 控制台和使用 SQL Connect VS Code 擴充功能),您可以使用適當的 Google IAM 憑證執行臨時管理作業。

對於用戶端程式碼,每個支援的平台都有一個核心 SDK,負責處理連線至後端、發出要求及處理回應。這些 SDK 無法感知結構定義,必須以非結構化資料的形式提供作業名稱和變數。每個支援的平台也都有產生的 SDK。定義資料模型和作業時,機器上的工具會自動產生應用程式專屬的強型別 SDK。這些 SDK 會「包裝」核心 SDK,以提供類型安全、人體工學和其他功能,例如資料驗證等。

實作路徑

製作結構定義原型 設計資料庫結構定義原型,包括使用向量型別的設計,並在本地環境中透過工具開始作業
建立作業原型 根據自動產生的查詢和變動,為用戶端應用程式建構預先定義的查詢和變動作業
產生類型安全 SDK 從結構定義和作業產生並測試類型安全 SDK,然後實作用戶端程式碼
部署結構定義和作業 部署 Firebase SQL Connect 服務的結構定義和作業
部署用戶端 部署用戶端程式碼

後續步驟