ste*_*kim 11 firebase google-cloud-firestore
据我了解,备份 Firestore 数据库会导致读取每个文档。这看起来非常昂贵。
例如,假设我有一个有 1000 个用户的笔记应用程序,每个用户每天创建 100 个文档并阅读 100 个文档。每月的费用为:
reads = 1000 * 100 * 30 * 0.036/100000 = $1.08 per month
writes = 1000 * 100 * 30 * 0.108/100000 = $3.24 per month
Run Code Online (Sandbox Code Playgroud)
这看起来非常合理,甚至很便宜。
但假设我想创建每日备份,以确保客户在发生某种故障时不会丢失笔记。
使用 1 年后,每月每日备份的费用将为:
reads = 1000 * 100 * 365 * 30 * 0.036/100000 = $394.20 per month
Run Code Online (Sandbox Code Playgroud)
而且随着时间的推移,它只会变得越来越贵!
有人对如何处理这个问题有什么建议吗?我知道实时数据库的备份只需要存储成本,但我认为对于这种类型的应用程序,除了备份成本之外,Firestore 在所有方面都更好。
我很抱歉回答这样的问题,但你的数学错了。乘以 30 和 365。这将为您提供大约 30 年的费用。您的备份成本为
\nreads = 1000 * 100 * 365 * 0.036/100000 = $13.14 per year\nRun Code Online (Sandbox Code Playgroud)\n如我错了请纠正我。我可能误解了你的问题。
\nEdit0:顺便说一下,您可以使用Cloud Firestore 托管导出和导入服务轻松进行备份。
\n编辑1:
\nGCloud 提供了一项名为 BigQuery 的服务(Google 的数据分析框架)。以前,我过去所做的就是您在问题中所描述的,从 Firestore 导出整个集合以在 BigQuery 中进行分析。但现在,您可以配置 BigQuery 和 Firestore 之间的实时同步性。
\n\n\n通过 \xe2\x80\x9cExport Collections to BigQuery\xe2\x80\x9d 扩展,您可以将任何 Firestore 集合中的\n实时增量更新发送到\nBigQuery。它将侦听指定\nFirestore 集合中的文档更改,然后将更改导出到 BigQuery。换句话说,BigQuery 中的数据是 Firestore 中内容的镜像。
\n
此功能在此处(medium.com) 进行了描述。
\n编辑2:
\n正如所讨论的,人们担心,如果 Firestore 中的数据损坏,它可能会影响 BigQuery 中的数据,因为它是实时更新的。
\n为了解决这个问题,我建议使用Cron 作业来安排 BigQuery 的每日导出。从 BigQuery 导出是免费的。
\n2023 年 8 月 30 日:
您现在可以使用 firestore 备份功能备份和恢复数据,而无需按每个文档的读取或写入付费,它适用于不同的定价模型,请参阅此。
备份数据和恢复操作的计费文档称
如果启用备份,您需要为数据库备份的存储付费。备份的存储大小等于进行备份时数据库的存储大小。
备份的存储成本以 GiB/月为单位,每天计算。Cloud Firestore 每天测量一次数据库备份的大小。在一个月内,对这些样本点进行平均以计算备份存储大小。该平均值乘以备份单价(GiB 月)。
当您执行还原操作时,Cloud Firestore 会测量还原操作的备份大小。备份的大小乘以恢复操作的单价 (GiB)。
要创建每日备份计划:
gcloud alpha firestore backups schedules create \
--database='DATABASE_ID' \
--recurrence=daily \
--retention=RETENTION_PERIOD
Run Code Online (Sandbox Code Playgroud)
要从数据库备份恢复数据:
gcloud alpha firestore databases restore \
--source-backup=projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID \
--destination-database='DATABASE_ID'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2044 次 |
| 最近记录: |