2014-09-10 44 views
0

我們有一個appengine應用程序,它擁有大約300GB的HRD數據。我們每天晚上都會對google-cloud-storage進行完整備份。然而,這已經變得昂貴,每天花費我們100美元。你應該多長時間備份一次appengine HRD數據

我現在把這個備份移動到每週一次。但是由於數據在HRD(高複製數據存儲)中......是否真的需要備份數據?

我們不能承受超過一天的數據丟失。這就是爲什麼我們做了每日備份。但是這花費我們每天100美元。

關於HRD,真的需要備份嗎?你有什麼建議。

我也知道它的業務問題,但它也有技術方面的問題。

+3

你防範有人刪除數據(它在代碼或通過控制檯),或者是你的數據丟失(如硬件故障或數據中心的爆炸)? – Ryan 2014-09-10 14:37:42

+0

一些較好的閱讀內容是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

+0

您可以執行增量備份,即僅備份已更改的數據。在每個(重要的)實體上都有一個時間戳字段,然後有一個cron作業查詢這些數據並將其導出到GCS或其他地方。 – 2014-09-10 15:26:26

回答

2

存儲在HRD中的數據被複制到各個區域,因此不需要執行備份,除非您擔心數據可以通過您的應用程序或開發人員控制檯進行修改/刪除。

+0

正是這也是我的想法。但我並不是100%確定的。似乎每天對HRD數據進行備份似乎沒有必要。任何人有更多的想法呢? – TjerkW 2014-09-10 22:04:33

0

備份到雲存儲確實花費很大,但您始終可以使用remote_api和批量加載器通過shell腳本下載數據,然後將它們存儲在Dropbox,Google Drive或企業NFS上:https://developers.google.com/appengine/articles/remote_api

假設你正在使用Python(檢查Java或者,如果你不去同行),你會:

  1. 激活remote_api的
  2. 創建使用appcfg.py create_bulkloader_config
  3. 寫的bulkloader.yaml配置腳本來下載數據並在您的本地或數據中心機器上安裝cron。您將使用appcfg.py download_data命令。
  4. 可以使用appcfg.py upload_data

這裏隨時恢復數據是一個演示:http://bulkloadersample.appspot.com

+0

這怎麼會不會變得昂貴?我需要一臺運行並執行此操作的機器,並且它仍會花費數據存儲讀取操作。它會表現糟糕。 appengine默認備份機制在appengine上使用mapreduce,並且可以很好地擴展。您的解決方案可能需要很長時間。它不能解決我的問題。 – TjerkW 2014-09-10 21:58:46

+0

不要以爲你可以避免一般的成本。您要麼爲Google App Engine備份和存儲成本付費,要麼將這些成本推遲到您自己的基礎設施。 App Engine的優點對您而言並不容易,易於使用。另一種方法的好處是可以進行自定義和差異/增量備份,並且只能提取最新和髒的記錄。例如,如果您有last_modified標記,則可以創建傳遞數據模型的端點以及該模型的最後備份時間戳以獲取增量。 – 2014-09-11 00:00:06

+0

如果您不想讓自己的數據中心設置頭疼,也可以使用管道(https://developers.google.com/bigquery/articles/datastoretobigquery)將這些deltas發送到BigQuery或雲存儲。 Deltas的成本肯定會低於整個備份。 – 2014-09-11 00:04:01

0

你可以嘗試實現這將只下載更新的數據增量備份解決方案,因爲它是不可能的,你的所有數據300GB每天更換。

您需要在每一個單一的實體一樣

updated = ndb.DateTimeProperty(auto_now=True, indexed=True) 

的屬性。您甚至不必將新索引/屬性應用於所有現有數據(因爲1)您可能已經有備份,並且2)將非常昂貴)

然後,您查詢並備份所有自上次備份以來更改。

+0

這將是一個理論上的解決方案。但它需要編寫我們自己的備份解決方案。目前,我們使用https://developers.google.com/appengine/docs/adminconsole/datastoreadmin。這隻提供完整的備份。 – TjerkW 2014-09-10 22:03:32

相關問題