备份AppEngine数据库(谷歌云存储?)

Ale*_*rdt 10 database cloud backup google-app-engine storage

我有一个AppEngine应用程序,目前有大约15GB的数据,在我看来,使用当前的AppEngine批量加载工具备份这个大小的数据集是不切实际的.因此,我开始研究其他备份方式,并且有兴趣了解人们可能用于备份AppEngine数据的实用解决方案.

顺便说一句,我开始认为Google云端存储可能是一个不错的选择.我很想知道是否有人使用谷歌云存储作为他们的AppEngine数据的备份经验,以及他们的经验,以及在走这条道路之前是否有任何我应该注意的指针或事情.

无论我最终采用哪种解决方案,我都希望有一个备份解决方案来满足以下要求:

1)备份速度合理,恢复速度相当快(即如果严重的错误/数据删除/恶意攻击袭击我的网站,我不想在恢复数据库的同时将其关闭多天 - 快速我的意思是小时,而不是几天.

2)来自AppEngine数据的单独位置和帐户 - 即.我不希望有管理员访问我的AppEngine数据的人必须具有对备份数据位置的写入/删除访问权限 - 例如,如果我的AppEngine帐户被黑客入侵,或者心怀不满的员工决定删除我的所有数据,我希望备份与AppEngine管理员帐户分开.

总而言之,鉴于从云中获取数据似乎缓慢/痛苦,我想要的是基于云的备份解决方案,它模仿磁带备份过去所服务的角色 - 如果我要备份磁带没有其他人可以修改该磁带的内容 - 但由于我无法获得磁带,我可以在某处存储我的数据的安全副本,只有我有权访问吗?

亲切的问候亚历山大

Nic*_*son 4

这里有一些选项,但没有一个(目前)完全符合您的要求。

随着 SDK 版本 1.5.5 的最新发布,我们现在支持直接与 Google Storage 连接 - 您可以在此处了解如何操作。有了这个,你可以将数据写入Google存储,但据我所知,没有办法写入应用程序无法删除的文件。

要实际收集数据,您可以使用App Engine mapreduce API。它内置了对写入 App Engine blobstore 的支持;目前,写入 Google Storage 需要您实现自己的输出编写器。

正如 WoLpH 建议的,另一种选择是使用数据存储管理工具将数据备份到另一个应用程序。通过一些额外的努力,您可以修改remote_api存根以禁止删除目标(备份)应用程序。

无论如何,你绝对应该做的一件事是为你的 Google 帐户启用双因素身份验证;这使得任何人都更难控制您的帐户,即使他们发现了您的密码。