2017-06-17 35 views
1

我在DynamoDB中有一個大小爲15 GB的表。現在,我需要將一些基於時間戳(以db爲單位)的數據傳輸到另一個DynamoDB。 這裏最有效的選擇是什麼?從DynamoDB表到另一個DynamoDB表的數據傳輸

一)轉讓給S3,與大熊貓或好歹過程,並把在其他表(數據是huge.i覺得這可能需要大量的時間)

b)通過DataPipeLine(讀了很多,但不認爲我們可以把查詢放在那裏)

c)通過EMR和Hive(這似乎是最好的選擇,但是可以通過python腳本來做所有事情嗎?我需要創建一個EMR集羣並使用它或創建並且每次都會終止?EMR如何被有效且便宜地使用?)

+0

15 GB在DynamoDB世界看起來並不多。如果這是一次性操作並且不是時間敏感的,那麼您可以簡單地進行全表掃描,並在幾個小時內以編程方式進行傳輸。您可以暫時提高吞吐量以加快此過程。在任何情況下,數據管道也將受到讀取吞吐量的限制,因此速度不會更快。數據管道是更有用的,如果你會這樣做定期 –

+0

@TofigHasanov它會被要求....所以一個腳本,可能每天或每月運行...... – vks

+0

@TofigHasanov全表掃描將意味着移動15 GB數據而我可能只需要幾個mbs或GB – vks

回答

1

我建議將數據管道轉換爲S3 approac H。然後有一個腳本從S3讀取並處理您的記錄。您可以安排此計劃定期運行以備份所有數據。我認爲任何執行全面掃描的解決方案都不會爲您提供更快的方式,因爲它總是受讀取吞吐量的限制。

另一種可能的方法是使用dynamoDB流和lambda表來實時維護第二個表。您仍然需要先使用上述方法處理現有的15 GB,然後切換到lambdas以保持同步

相關問題