2017-02-27 243 views
5

如何計算RCU和WCU的數據爲:讀取吞吐量32 GB/s,寫入吞吐量16 GB/s。如何計算DynamoDB的讀取容量單位和寫入容量單位

+0

表中的每個* item *(row)有多大?閱讀時,您是使用分區鍵上的查詢還是全面掃描? –

+0

只是想計算20 GB數據表的分區數量,以獲得吞吐量配置,讀取吞吐量爲32 GB/s,寫入吞吐量爲16 GB/s,這就是問題所在,所以我很困惑計算RCU和WCU與這個給定的數據 – pavikirthi

回答

22

DynamoDB Provisioned Throughput是基於單位具有一定規模,並且被寫入項目數:

在DynamoDB,您指定的容量單位來配置的吞吐量要求。使用以下準則來確定您的供應吞吐量:

  • 一個讀取容量單位代表一個強烈一致的讀取每秒,或每秒兩人最終一致的讀取,用於項目多達4 KB大小。如果您需要讀取大於4 KB的項目,DynamoDB將需要消耗額外的讀取容量單位。所需的讀取容量單位總數取決於項目大小,以及是否希望最終一致或強烈一致的讀取。
  • 其中一個寫容量單位代表每秒寫入大小不超過1 KB的項目的每秒寫入量。如果您需要編寫大於1 KB的項目,DynamoDB將需要消耗額外的寫入容量單位。所需的寫入容量單位總數取決於項目大小。

因此,在確定所需的容量時,你需要知道你希望多少項目,閱讀和每秒寫的,這些項目的大小

與其尋求特定的GB/s,你應該尋找一個項目,你希望每秒讀/寫。這是您的應用程序需要滿足操作性能的功能。

也有一些DynamoDB limits將適用的是,但這些可根據要求進行更改:

  • 美國東(N.弗吉尼亞州)地區:
    • 每桌 - 40000個讀取容量單位和40,000個寫入容量單元
    • 每個帳戶 - 80,000個讀取容量單元和80,000個寫入容量單元
  • 所有其它地區:
    • 每桌 - 10,000讀取容量單位和10000寫入容量單位
    • 每賬戶 - 20000個讀取容量單位和20,000個寫入容量單位

在40,000讀取容量單位x 4KB x 2(最終一致)= 320MB/s

如果我的計算結果是co正確,您的要求是此金額的100倍,因此DynamoDB似乎不適合實現如此高的吞吐量。

你速度正確嗎?

然後就出現瞭如何每秒產生如此之多的數據的問題。全雙工10GFC光纖的運行速度爲2550MB/s,因此如果要進出AWS雲,您需要多個光纖連接才能傳輸此類數據。即使10Gb以太網僅提供10Gbit/s,因此傳輸32GB將需要28秒 - 這就是傳輸一秒鐘的數據!

底線:您的數據要求非常高。你確定他們是現實的嗎?

+0

這是非常直觀的,這是一個類問題,我想這是不現實的 – pavikirthi