谷歌云最近宣布 Firestore 多数据库 普遍可用。这一新特性旨在隔离客户数据,并促进微服务以及开发、测试和 staging 环境的管理。
该特新在 2023 年夏季发布预览,支持多区域以及同一项目中的两种 Firestore 数据库模式,即原生模式和 Datastore 模式。此外,Firestore 的 云监控指标和统计信息 现在可以在数据库级别进行聚合。
现在可以在单个项目中管理多个 Firestore 数据库,每个文档数据库都具有隔离性,确保数据的分离和性能:谷歌云声称一个数据库的流量负载不会对项目中的其他数据库性能产生不利影响。
可以利用条件身份访问管理控制在项目的数据库上指定不同的安全策略。谷歌高级软件工程师 Sichen Liu 和高级产品经理 Minh Nguyen 解释道:
Firestore 允许你通过 IAM 条件在单个数据库上应用细粒度的安全配置,可以对不同数据库应用不同的安全策略,实现精确、细粒度的控制。例如,你可以授予特定用户组仅对指定数据库的访问权限,从而确保强大的安全性和数据隔离。
这一新特性也简化了成本跟踪:Firestore 现在基于每个数据库提供细粒度的计费和使用分解。开发人员可以使用 BigQuery (按独立的数据库 ID 分段)监控成本。
社区一直以来要求支持多个数据库。几年前,为生产、staging 和开发创建不同的数据库的挑战就已凸显,导致一些开发人员使用前身 Firebase 实时数据库。PrivateGPT 的全栈开发者 Francisco Durdin Garcia 曾在 2018 年问道:
在 Firebase 的同一个控制台中是否可以为 Firestore 数据库创建多个实例(每个项目一个)?我看到 Firebase 实时数据库可以这样做,但我没有看到 Firestore 可以这样做的可能性。
Happeo 云架构师 Azidin Shairi 在预览版期间测试了这一新特性,并写道:
这消除了为 Firestore 数据库创建多个项目的需要,如果你的环境较小,这也降低了跨项目访问控制的复杂性。
Liu 和 Nguyen 补充道:
在创建过程中需要谨慎选择数据库资源名和位置,因为这些属性在创建后无法更改。不过你可以删除现有数据库,随后使用相同的资源名在不同的位置创建新数据库。
在普遍可用后,控制台、Terraform 资源和所有的 SDK 现在都支持多个数据库。如果你的应用程序不需要多个数据库,谷歌建议继续使用 (默认) 数据库,因为 Cloud Firestore 客户端库和 Google Cloud CLI 在默认情况下连接的都是它。
查看英文原文:
https://www.infoq.com/news/2024/02/firestore-multiple-databases/
声明:本文为 InfoQ 翻译,未经许可禁止转载。
今日好文推荐90 后华人团队真来砸程序员饭碗了!推出全球首个 AI 超级工程师:拥有全栈技能,一个指令就能完成整个开发过程
TikTok 拼死一战:弹窗 1.7 亿用户强势反击,国会 1 分钟 20 个电话被打爆
微软 Copilot 生成暴力色情图且拒不更改,内部工程师绝望举报至政府!
奥特曼无罪重返董事会!谷歌华人工程师被捕:号称自己能力“全球仅10个”;美国要求字节跳动半年内剥离TikTok | Q资讯