以下是一些需要考虑的因素以及我认为最好的解决方案:
Dev Time - Datastore Admin - 要利用 Bulkloader,您需要编写脚本、维护备份服务器、存储等。
成本-数据存储区管理员- YMMV,但我们对数千万个实体的备份使用了不到 10 亿个任务队列配额的 1%。数据存储读取操作和存储的成本将取决于您的应用程序。但是在这两个选项之间,读取操作应该是相同的,并且您使用 Datastore Admin 将 Bulkloader 中的传出带宽 ($0.12/GB) 换成 Blobstore 存储 ($0.0043/GB)。
备份持续时间-数据存储区管理员- 正如您所期望的,mapreduce 分片将数据写入 Google 网络内的 Blobstore 比一次将实体数据流式传输要快得多。使用 Datastore Admin 对我们的数据进行完整备份需要不到 6 小时。使用 Bulkloader 需要 3 天以上。
备份维护- Bulkloader(目前) - 使用 Bulkloader 和服务器,您可以创建 crons 以定期执行备份和备份维护。例如,我们在 Rackspace 中有一台服务器,它每 3 天备份一次我们的数据存储,并保留最后 2 次备份。使用 Datastore Admin,您必须手动执行备份并删除过时的备份,直到发布自动化解决方案(问题 7040)。尽管如此,对于每月一次的备份,使用 Datastore Admin 手动执行的成本非常低,我推荐它。
数据灵活性- Bulkloader - 使用 bulkloader,您可以将所有数据导出到人类可读的 csv 文件中,从而允许您在 Excel 中对其进行透视,为您的本地开发环境创建测试数据集,甚至将您的操作移动到另一个应用程序托管服务(例如: AWS)如果您需要它。
Precision Restore - Bulkloader - Bulkloader 可以处理恢复选定实体(您确切地知道您删除或覆盖了哪些实体)和批量恢复。数据存储区管理员只能对给定种类的所有实体进行批量恢复。
批量还原-数据存储区管理员- 数据存储区管理员通过仅更新更改的实体来最大限度地减少非常昂贵的写入。分片也使这个过程比简单的 Bulkloader 上传快得多(尽管您可以自己在许多客户端上分片 csv 备份数据)。
最终,Bulkloader 为您提供更精确的控制,而 Datastore Admin 简化并加速了批量备份/恢复。即使 Datastore Admin 是新的并且有一些问题(7076),鉴于您的情况,我绝对会推荐它。