Firebase Data Connect
Firebase 的首款关系型数据库解决方案,适合希望使用 Cloud SQL for PostgreSQL 以及类型安全的移动和 Web SDK 创建安全且可扩缩的应用的开发者。了解详情。
Firebase Data Connect 是一项面向移动应用和 Web 应用的关系型数据库服务,可让您使用由 Cloud SQL 提供支持的全代管式 PostgreSQL 数据库构建和扩缩应用。它使用与 Firebase Authentication 完美集成的 GraphQL 技术,提供安全的架构、查询和变更管理。借助 Kotlin Android、iOS、Flutter 和 Web 中的 SDK 支持,您可以快速将此产品集成到移动应用和 Web 应用中。
通过 Data Connect,您可以声明应用的数据模型以及应用所需的确切查询。我们会根据您的数据模型自动创建适合您的数据模型的 PostgreSQL 数据库架构、与数据库通信的安全服务器端点,以及与服务器端点通信的客户端应用的类型安全 SDK。它就像是为您的特定应用定制的“自动驱动应用服务器”。
主要功能
由 Cloud SQL for PostgreSQL 提供支持 | 依托这项全代管式数据库服务,在 Google Cloud 上设置、维护、管理和控制 PostgreSQL 关系型数据库。 |
向量搜索 | Data Connect 支持矢量搜索,可帮助开发者构建 AI 赋能的应用。 |
多平台 SDK | Firebase Data Connect 提供适用于 Kotlin Android、iOS、Flutter 和 Web 的多平台 SDK。 |
基于用户的身份验证 | Data Connect 支持最终用户身份验证,确保只有获得授权的用户才能访问数据。 |
Visual Studio Code 扩展程序 | 借助 GraphQL,您可以直接在 Visual Studio Code 编辑器中轻松进行架构开发以及查询和变更管理。 |
模拟器 | Firebase Data Connect 包含一个模拟器,可让您使用本地数据库测试您的应用,而无需部署到生产环境。 |
Firebase 中的 Gemini 提供 AI 辅助功能 | 使用 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 凭据执行管理操作的临时操作。
对于客户端代码,每个受支持的平台都有一个核心 SDK,负责连接到后端、发出请求以及处理响应。这些 SDK 不支持架构,必须以非结构化数据的形式提供操作名称和变量。每个受支持的平台还具有生成的 SDK。在您定义数据模型和操作时,机器上的工具会自动生成特定于应用的强类型 SDK。这些 SDK 将“封装”核心 SDK,以实现类型安全性、人体工学设计以及数据验证等其他功能。
实现流程
架构原型设计 | 从使用各种工具的本地环境开始对数据库架构进行原型设计,包括使用矢量类型的设计 | |
设计运营原型 | 根据自动生成的查询和更改构建适用于客户端应用的预定义查询和更改操作 | |
生成类型安全的 SDK | 根据架构和操作生成并测试类型安全的 SDK,然后实现客户端代码 | |
部署架构和操作 | 为 Firebase Data Connect 服务部署架构和操作 | |
部署客户端 | 部署客户端代码 |