是否正在将实体从一个应用程序复制到另一个应用程

时间:2012-01-24 17:29:09

标签: google-app-engine google-cloud-datastore database-backups

我指的是这里解释的数据存储管理工具:http://code.google.com/appengine/docs/adminconsole/datastoreadmin.html

本地备份的一种方法是使用bulkloader.py,但我更喜欢这个解决方案,因为您的数据保留在Google的云端,并且可以使用管理控制台中的按钮轻松地从一个应用程序转移到另一个应用程序逐个实体的。考虑拥有两个应用程序,一个可以手动备份到每周,另一个实际上为用户提供服务。备份应用程序可能会产生一些存储成本,但总体成本会很低,因为除了备份需要外,不会使用前端/后端实例...

2 个答案:

答案 0 :(得分:1)

我不建议将一个GAE应用程序的数据备份到另一个应用程序。对我来说,有几个原因需要备份:

  1. 防范谷歌发生灾难性中断。
  2. 防止您的编程错误导致重大数据丢失。
  3. 防止您的Google帐户被撤销。
  4. 备份到另一个GAE应用程序的每一个都相对较少。

    1. 如果您使用High Replication datastore,那么您已经在Google的云端分发数据了,所以再次这样做似乎是多余的 - 但不是在高可用性的意义上。谷歌将失去你的数据的唯一方法是通过一些灾难性的灾难,在这种情况下你的两个应用程序都可能处于危险之中。
    2. 如果您在本地备份数据,则可以存储历史快照。然而,如果你只是简单地备份到另一个应用程序,那么你就不会存储历史数据,所以除非你在错误发生的时间和错误发生之间捕获它,否则几乎没有针对程序员错误的保护。打算做你的下一次备份。
    3. 如果Google出于任何原因导致您的帐户被杀,则会丢失应用和所有数据。
    4. 最终,通过备份到另一个GAE,您仍然可以将所有鸡蛋放在一个篮子里。你刚刚分区了你的篮子。如果您的数据足够重要,可以在应用外部进行备份,那么重要的是在本地备份或完全备份到其他提供商。无论如何,这是我的意见。

答案 1 :(得分:1)

我们定期将我们的数据备份到另一个应用程序以用作我们的开发环境,但正如其他人指出的那样,并没有真正保护您的数据免受主要的灾难性灾难(这不太可能......)。

我发现用于存档灾难恢复数据的最佳解决方案是使用谷歌提供的python脚本将其下载到EC2或本地磁盘上。