使用 Datastore 模式 Cloud Firestore

Firestore 是一个 NoSQL 文档数据库,能够自动扩缩、具备出色的性能,并且易于进行应用开发。Firestore 是 Datastore 的最新版本;与 Datastore 相比,这个新版本引入了多项改进功能。

由于 Datastore 模式 Firestore (Datastore) 针对服务器用例和 App Engine 进行了优化,因此我们建议使用 Datastore 模式来处理主要将由 App Engine 应用使用的数据库。原生模式 Firestore 最适合移动和实时通知用例。如需详细了解 Firestore 模式,请参阅选择原生模式或 Datastore 模式

将 Datastore 模式与 App Engine 结合使用

如需将 Datastore 模式与 App Engine 搭配使用,请执行以下操作:

  1. 如果您尚未这样做,请创建数据库并选择“Datastore 模式 Firestore”。

    您可以将现有的 Datastore 数据库与 App Engine 应用搭配使用。这些现有数据库将自动升级为 Datastore 模式 Firestore

  2. 在您的应用中,将 Datastore 声明为依赖项,方法是将库添加到应用的依赖项文件中

  3. 使用 Google Cloud 客户端库读取和写入实体以及查询数据

配置索引

Datastore 模式使用索引来处理应用执行的每个查询。每当实体更改时,这些索引都会更新,因此在应用执行查询时,系统可以快速返回结果。

Datastore 模式会自动创建单属性索引,用于简单类型的查询。对于包含多个属性的复杂查询,您需要在应用的 index.yaml 文件中配置复合索引。

App Engine 开发服务器将使用运行测试所需的复合索引更新 index.yaml 文件。同样,Datastore 模式模拟器可以在您运行测试时生成索引

如果您不运行本地测试或测试不包含复杂查询,则还可以手动将索引添加到应用的 index.yaml 文件。

设置数据库权限

默认情况下,您的应用拥有对 Google Cloud 项目中的 Datastore 模式和 Firestore 数据库执行读写操作所需的所有权限。

为了管理这些权限,每个 App Engine 应用都会使用一个默认服务账号,该账号提供对应用所属项目中的 Datastore 模式和 Firestore 数据库的所有读写权限。您可以更改默认服务账号的权限,但您的应用可能会失去访问权限,除非您分配了拥有所需权限的 IAM 角色。

如需了解如何允许其他用户、应用或项目访问数据库,请参阅访问数据库

使用 Datastore 模式模拟器进行本地测试

Java 版 Google Cloud CLI 包含一个本地开发服务器,用于在您的计算机上测试您的应用。本地开发服务器会模拟 App Engine Java 运行时环境及其所有服务,包括 Datastore 模式。

开发服务器可以为您的应用所需的 Datastore 模式索引生成配置(根据应用在测试期间执行的查询确定)。

价格、配额和限制

Datastore 模式会提供免费配额,但具有每日限制。对于付费账号,存储、读取和写入操作次数不受限制。如需了解详情,请参阅 Datastore 配额页面。