你应该多长时间备份一次appengine HRD数据
我们有一个appengine应用程序,它拥有大约300GB的HRD数据。我们每天晚上都会对google-cloud-storage进行完整备份。然而,这已经变得昂贵,每天花费我们100美元。你应该多长时间备份一次appengine HRD数据
我现在把这个备份移动到每周一次。但是由于数据在HRD(高复制数据存储)中......是否真的需要备份数据?
我们不能承受超过一天的数据丢失。这就是为什么我们做了每日备份。但是这花费我们每天100美元。
关于HRD,真的需要备份吗?你有什么建议。
我也知道它的业务问题,但它也有技术方面的问题。
存储在HRD中的数据被复制到各个区域,因此不需要执行备份,除非您担心数据可以通过您的应用程序或开发人员控制台进行修改/删除。
正是这也是我的想法。但我并不是100%确定的。似乎每天对HRD数据进行备份似乎没有必要。任何人有更多的想法呢? – TjerkW 2014-09-10 22:04:33
备份到云存储确实花费很大,但您始终可以使用remote_api和批量加载器通过shell脚本下载数据,然后将它们存储在Dropbox,Google Drive或企业NFS上:https://developers.google.com/appengine/articles/remote_api。
假设你正在使用Python(检查Java或者,如果你不去同行),你会:
- 激活remote_api的
- 创建使用
appcfg.py create_bulkloader_config
- 写的bulkloader.yaml配置脚本来下载数据并在您的本地或数据中心机器上安装cron。您将使用
appcfg.py download_data
命令。 - 可以使用
appcfg.py upload_data
这里随时恢复数据是一个演示:http://bulkloadersample.appspot.com
这怎么会不会变得昂贵?我需要一台运行并执行此操作的机器,并且它仍会花费数据存储读取操作。它会表现糟糕。 appengine默认备份机制在appengine上使用mapreduce,并且可以很好地扩展。您的解决方案可能需要很长时间。它不能解决我的问题。 – TjerkW 2014-09-10 21:58:46
不要以为你可以避免一般的成本。您要么为Google App Engine备份和存储成本付费,要么将这些成本推迟到您自己的基础设施。 App Engine的优点对您而言并不容易,易于使用。另一种方法的好处是可以进行自定义和差异/增量备份,并且只能提取最新和脏的记录。例如,如果您有last_modified标记,则可以创建传递数据模型的端点以及该模型的最后备份时间戳以获取增量。 – 2014-09-11 00:00:06
如果您不想让自己的数据中心设置头疼,也可以使用管道(https://developers.google.com/bigquery/articles/datastoretobigquery)将这些deltas发送到BigQuery或云存储。 Deltas的成本肯定会低于整个备份。 – 2014-09-11 00:04:01
你可以尝试实现这将只下载更新的数据增量备份解决方案,因为它是不可能的,你的所有数据300GB每天更换。
您需要在每一个单一的实体一样
updated = ndb.DateTimeProperty(auto_now=True, indexed=True)
的属性。您甚至不必将新索引/属性应用于所有现有数据(因为1)您可能已经有备份,并且2)将非常昂贵)
然后,您查询并备份所有自上次备份以来更改。
这将是一个理论上的解决方案。但它需要编写我们自己的备份解决方案。目前,我们使用https://developers.google.com/appengine/docs/adminconsole/datastoreadmin。这只提供完整的备份。 – TjerkW 2014-09-10 22:03:32
你防范有人删除数据(它在代码或通过控制台),或者是你的数据丢失(如硬件故障或数据中心的爆炸)? – Ryan 2014-09-10 14:37:42
一些较好的阅读内容是TOS:https://developers.google.com/cloud/terms/data-processing-terms和WhitePaper:https://cloud.google.com/files/Google-CommonSecurity-WhitePaper-v1。 4.pdf – Ryan 2014-09-10 15:23:24
您可以执行增量备份,即仅备份已更改的数据。在每个(重要的)实体上都有一个时间戳字段,然后有一个cron作业查询这些数据并将其导出到GCS或其他地方。 – 2014-09-10 15:26:26