Firebase Data Connect

Firebase 的首个关系型数据库解决方案,适用于希望使用 Cloud SQL for PostgreSQL 以及类型安全的移动和 Web SDK 构建安全且可扩缩应用的开发者。了解详情

Firebase Data Connect 是一项适用于移动应用和 Web 应用的关系型数据库服务,可让您使用由 Cloud SQL 提供支持的全代管式 PostgreSQL 数据库进行构建和扩缩。它使用与 Firebase Authentication 完美集成的 GraphQL 技术,提供安全的架构、查询和变更管理。借助 Android 版和 Web 版 Kotlin 的 SDK 支持,您可以快速将此产品集成到您的移动应用和 Web 应用中,未来还会支持 iOS。

借助 Data Connect,您可以声明应用的数据模型和应用所需的精确查询。我们会使用您的数据模型,自动为您的数据模型创建 PostgreSQL 数据库架构、与数据库通信的安全服务器端点,以及与服务器端点通信的客户端应用的类型安全 SDK。它就像是为您的特定应用定制的“自动驾驶应用服务器”。

价格

Firebase Data Connect 由两个计费组件组成:Data Connect 服务本身以及包含项目数据的 Cloud SQL for PostgreSQL 实例。

如果您在预配 Cloud SQL for PostgreSQL 实例时接受默认配置,您将有资格获得 3 个月的免费试用。

  • 每个结算帐号可免费试用 5 次。
  • 每个项目可以免费试用 Cloud SQL for PostgreSQL 实例 1 个,但您可以在该项目中拥有多个免费实例。
  • 在产品进入公开预览版之前,Data Connect 服务不会产生任何费用。
  • Cloud SQL for PostgreSQL 实例的默认配置是免费的:1 个 vCPU、10 GB 存储空间、628.74 MB 内存。

在免费试用期间,您可以向 Cloud SQL 实例添加计算资源,为实例设置专用 IP 地址,并为实例创建读取副本,届时您将需要根据 Cloud SQL 价格支付费用。

如果将 Data Connect 与 Vertex AI 搭配使用,Vertex AI 将产生针对嵌入生成的标准使用费。

主要功能

由 Cloud SQL for PostgreSQL 提供支持 我们的全代管式数据库服务可以帮助您在 Google Cloud 上设置、维护、管理和控制 PostgreSQL 关系型数据库。
矢量搜索 Data Connect 支持向量搜索,供开发者构建 AI 赋能的应用。
多平台 SDK Firebase Data Connect 提供了适用于 Kotlin Android 和 Web 的多平台 SDK。
基于用户的身份验证 Data Connect 支持最终用户身份验证,确保只有获得授权的用户才能访问数据。
Visual Studio Code 扩展程序 使用 GraphQL 直接从 Visual Studio Code 编辑器轻松开发架构以及查询和变更管理。
模拟器 Firebase Data Connect 包含一个模拟器,可让您通过安装本地 PostgreSQL 来测试您的应用,而无需部署到生产环境。

工作原理

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 控制台)和我们的 Firebase VS Code 扩展程序中,您可以使用适当的 Google IAM 凭据执行临时操作,以执行管理操作。

对于客户端代码,每个受支持的平台都有一个核心 SDK,用于处理连接到后端、发出请求和处理响应。这些 SDK 不具备架构感知能力,必须以非结构化数据形式提供操作名称和变量。每个受支持的平台还有一个生成的 SDK。在您定义数据模型和操作时,机器上的工具将自动生成特定于应用的强类型 SDK。这些 SDK 将“封装”核心 SDK,以实现类型安全、工效学设计以及数据验证等其他功能。

实现流程

设计架构原型 使用矢量类型从本地环境开始设计数据库架构原型,包括使用矢量类型的设计
设计运营原型 根据自动生成的查询和变更,为客户端应用构建预定义的查询和变更操作
生成类型安全的 SDK 基于您的架构和操作生成并测试类型安全的 SDK,然后实现客户端代码
部署架构和操作 部署 Firebase Data Connect 服务的架构和操作
部署客户端 部署客户端代码

后续步骤

  • 如果您希望查看 Firebase Data Connect 开发流程的实际效果,请仔细阅读入门指南