估算隨需容量的 DynamoDB 表格的成本 - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

估算隨需容量的 DynamoDB 表格的成本

創建者:穆努爾·阿爾馬蒙(AWS)

環境:生產

技術:資料庫 CloudNative;無伺服器;成本管理

AWS 服務:Amazon DynamoDB

Summary

Amazon DynamoDB 是一種 NoSQL 交易資料庫,即使在 PB 規模下也能提供 10 毫秒的延遲。此 Amazon Web Services (AWS) 無伺服器產品因其一致的效能和可擴展性而越來越受歡迎。 您不需要佈建基礎結構。您的單一資料表可以成長到 PB。

使用隨需容量模式時,您可以按請求支付應用程式在資料表上執行的資料讀取和寫入費用。AWS 費用是根據一個月累積的讀取請求單位 (RRU) 和寫入請求單位 (WRU) 計算。DynamoDB 會在整個月持續監控表格的大小,以決定您的儲存費用。它支持使用 point-in-time-recovery (PITR)的連續備份。DynamoDB 會在整個月持續監控已啟用 PITR 的表格大小,以決定您的備份費用。

若要估算專案的 DynamoDB 成本,請務必計算產品生命週期不同階段將耗用多少 RRU、WRU 和儲存體。對於粗略的成本估算,您可以使用 AWS 定價計算器,但是您必須為表格提供大約數量的 RRU、WRU 和儲存需求。這些可能很難在項目開始時估計。AWS 定價計算器不會考慮資料成長率或項目大小,而且不會分別考慮基礎資料表和全域次要索引 (GSI) 的讀取和寫入次數。若要使用 AWS 定價計算器,您必須估算所有這些方面,以假設 WRU、RRU 和儲存大小的棒球場數字,以取得成本估算。

此模式提供機制和可重複使用的 Microsoft Excel 範本,以估算隨需容量模式的基本 DynamoDB 成本因素,例如寫入、讀取、儲存、備份和回復成本。它比 AWS 定價計算器更精細,而且會獨立考量基礎資料表和 GSI 需求。它還考慮了每月項目數據的增長率,並預測三年的成本。

先決條件和限制

先決條件

  • 有關 DynamoDB 資料模型設計的基本知識

  • DynamoDB 定價、WRU、RRU、儲存以及備份與復原的基本知識 (如需詳細資訊,請參閱隨需容量的定價)

  • 瞭解 DynamoDB 中的資料、資料模型和項目大小

  • 有關動 DynamoDB SI 的知識

限制

  • 範本為您提供近似計算,但並不適用於所有組態。若要取得更準確的估計值,您必須測量基底資料表和 GSI 中每個項目的個別項目大小。

  • 為了更準確的估計,您必須考慮平均月份中每個項目的預期寫入次數 (插入、更新和刪除) 和讀取次數。

  • 此模式支援根據固定資料成長假設,估算未來幾年僅寫入、讀取、儲存以及備份和復原成本。

工具

AWS 服務

  • Amazon DynamoDB 是一項全受管 NoSQL 資料庫服務,可提供快速、可預期且可擴展的效能。

其他工具

  • AWS 定價計算器是一種基於 Web 的規劃工具,可用於為 AWS 使用案例建立估算值。

最佳實務

若要協助降低成本,請考慮下列 DynamoDB 設計最佳實務。

  • 分割區索引鍵設計 – 使用高基數分割區索引鍵來均勻分配負載。

  • 鄰接表設計模式-使用此設計模式進行管理 one-to-many 和 many-to-many 關係。

  • 稀鬆索引 – 對 GSI 使用稀鬆索引。在您建立 GSI 時,指定一個分割區索引鍵和 (選用) 一個排序索引鍵。只有在基本資料表中包含對應 GSI 分割區索引鍵的項目才會出現在稀疏索引中。這有助於保持 GSI 更小。

  • 索引過載 – 使用相同的 GSI 對各種類型的項目編製索引。

  • GSI 寫入碎片 – 明智地進行碎片以跨分割區分佈資料,以實現高效、更快的查詢。

  • 大型項目 – 僅將中繼資料儲存在表內,將 Blob 儲存在 Amazon S3 中,並將參考保留在 DynamoDB 中。將大型項目分解為多個項目,並使用排序索引鍵有效率地編製索引。

如需更多設計最佳實務,請參閱《Amazon DynamoDB 開發人員指南》。

史诗

任務描述所需技能

取得項目大小。

  1. 檢查您要在桌子中存儲多少種不同類型的項目。

  2. 若要計算每個項目的大小 (以 KB 為單位),請新增每個屬性的 [索引鍵] 和 [值] 大小。

  3. 計算基礎表格和每個 GSI 的項目大小。

數據工程師

估計寫入成本。

若要估計隨需容量模式下的寫入成本,首先您必須測量一個月內將使用多少 WRU。為此,您需要考慮以下因素:

  • 一個月內每個項目的建立、更新和刪除作業數目。

  • 可用 GSI 的數量。獨立考慮每個索引。 

    • 索引項目的平均大小

    • 索引上的同步處理次數

  • 每個月會在表格中新增多少項新物件 (例如元件或產品)? 每個月新增的項目數量可能會有所不同,但您可以根據您的業務案例假設平均增長率。 

如需詳細資訊,請參閱其他資訊一節。

數據工程師

估計讀取成本。

若要估算隨選模式下的讀取成本,首先您必須測量一個月將使用多少 RRU。為此,您需要考慮以下因素: 

  • 可用 GSI 的數量。獨立考慮每個索引。 

    • 索引項目的平均大小

  • 每個產品每月的平均讀取次數。

  • DynamoDB 表格中可用物件 (元件或產品) 的總數。

資料工程師、App 開發人員

估計儲存體大小和成本。

首先,根據表格中的項目大小估計每月平均儲存需求。然後,將儲存大小乘以 AWS 區域的每 GB 儲存價格來計算儲存成本。 

如果您已輸入用於估算寫入成本的資料,則不需要再次輸入資料來計算儲存空間大小。否則,要估計存儲大小,您需要考慮以下因素: 

  • 根據您的表格設計,模組 (產品) 中的資料項目數目。

  • 平均項目大小 (以 KB 為單位)。

  • 可用 GSI 的數量。獨立考慮每個索引。 

    • 索引項目的平均大小

  • 每個月會在表格中新增多少個新產品? 每個月的新產品數量可能不同,但您可以根據您的業務案例假設平均增長率。此範例平均每月使用 1000 萬個新產品。

數據工程師
任務描述所需技能

從「附件」部分下載 Excel 模板,然後根據您的用例表進行調整。

  1. 下載 Excel 模板。

  2. 根據您的表格設計調整業務模組和 GSI。

數據工程師

在 Excel 範本中輸入資訊。

  1. 更新圖紙中的項目資訊。僅在橙色儲存格中更新資料。

  2. 調整對象編號:每個月可以添加到表中多少?

  3. 為您的 AWS 區域更新每百萬個 WRU 和 RRU 價格。

  4. 更新 AWS 區域每月每 GB 的儲存和備份價格。

  5. 更新 AWS 區域每 GB 的復原價格。

在範本中,有三個項目或實體:資訊、中繼資料和關係。有兩種 GSI。針對您的使用案例,如果您需要更多項目,請建立新列。如果您需要更多 GSI,請複製現有的 GSI 區塊,然後貼上以根據需要建立任意數量的 GSI 區塊。然後調整「總和」和「總計」列計算。

數據工程師

相關資源

參考

指南和模式

其他資訊

寫入成本計算範例

DynamoDB 資料模型設計顯示一個產品的三個項目,平均項目大小為 4 KB。當您將新產品新增至 DynamoDB 基底資料表時,它會消耗項目數 * (項目大小/1 KB 寫入單位) = 3 * (4/1) = 12 WRU。在此範例中,對於寫入 1 KB,產品會耗用 1 WRU。 

閱讀成本計算範例

要獲得 RRU 估計,請考慮一個月內每個項目將讀取多少次的平均值。例如,資訊項目平均會在一個月讀取 10 次,而中繼資料項目會讀取兩次,而關係項目會讀取五次。在範例範本中,所有元件的 RRU 總計 = 每月建立的新元件數 * 每月每個元件的 RRU = 1 千萬 * 17 RRU = 每月 1.7 億 RRU。

每個月,新的東西(組件或產品將被添加,並且產品總數將隨著時間的推移而增長。因此,RRU 要求也會隨著時間的推移而增長。

  • 對於第一個月 RRU,消費將是 1.7 億。

  • 第二個月,RRU 的消費將為 2* 1.7 億 = 3.4 億。

  • 對於第三個月 RRU 消費將是 3* 1.7 億 = 510 百萬。

下圖顯示每月 RRU 耗用量與成本預測。

RRU 消費比成本更陡峭地上升。

請注意,圖表中的價格僅供說明之用。若要針對您的使用案例建立準確的預測,請查看 AWS 定價頁面,並在 Excel 工作表中使用這些價格。

儲存、備份及回復成本計算範例

DynamoDB 儲存、備份和還原都會彼此連接。Backup 與存儲直接連接,恢復與備份大小直接連接。隨著資料表大小的增加,對應的儲存、備份和還原成本將按比例增加。

儲存空間大小與成本

儲存成本會根據您的資料成長率隨著時間的推移而增加。例如,假設基底資料表和 GSI 中元件或產品的平均大小為 11 KB,而每個月將會在資料庫表格中新增一千萬個新產品。在這種情況下,您的 DynamoDB 資料表大小將會增加 (11 KB * 10 百萬) /1024/1024 = 每月 105 GB。在第一個月,您的表格存儲大小將是 105 GB,在第二個月它將是 105 + 105 = 210 GB,依此類推。

  • 第一個月的儲存成本為您 AWS 區域的每 GB 105 GB * 儲存價格。 

  • 第二個月,您所在區域的儲存空間成本為每 GB 210 GB * 儲存空間價格。

  • 第三個月,您所在區域的儲存空間成本為每 GB 315 GB * 儲存空間價格。

如需未來三年的儲存空間大小和成本,請參閱儲存空間大小與預測一節。

Backup 成本

Backup 成本會根據您的資料成長率隨著時間的推移而增加。當您使用 point-in-time-recovery (PITR) 開啟連續備份時,連續備份費用會根據每月儲存 GB 的平均值計算。在日曆月份,平均備份大小將與您的表格存儲大小相同,儘管實際大小可能會有所不同。由於每個月都會新增新產品,因此總儲存大小和備份大小會隨著時間的推移而增加。例如,在第一個月,105 GB 的平均備份大小可能會在第二個月增加到 210 GB。

  • 第一個月的備份費用為您 AWS 區域的每 GB 105 GB * 持續備份價格。 

  • 第二個月的備份費用為您區域的每月 210 GB * 持續備份價格 (每 GB)。

  • 第三個月的備份費用為您所在區域的每 GB 每月 315 GB * 持續備份價格。

  • 以及,依此類推

Backup 成本包含在「儲存體大小與成本預測」區段的圖表中。

回收成本

在啟用 PITR 的情況下進行連續備份時,復原作業費用會根據還原的大小計算。每次還原時,您都會根據已還原的資料 GB 付費。如果您的表格大小很大,並且您在一個月內執行多次還原,則會很昂貴。

為了預估還原成本,此範例假設您每月在月底執行一次 PITR 復原。此範例使用每月平均備份大小作為該月的還原資料大小。第一個月的平均備份大小為 105 GB,而對於月底的復原,還原資料大小為 105 GB。第二個月,它將是 210 GB,依此類推。

回收成本會根據您的資料成長率隨時間增加。

  • 第一個月的復原成本為您 AWS 區域的每 GB 105 GB * 還原價格。 

  • 第二個月的回復成本為您所在地區的每 GB 210 GB * 還原價格。

  • 第三個月的回復成本為您所在地區的每 GB 315 GB * 還原價格。

如需詳細資訊,請參閱 Excel 範本中的 [儲存、備份和復原] 索引標籤和下一節中的圖形。

儲存空間大小和成本預測

在範本中,標準資料表類別每月減去免費方案 25 GB 的實際可計費儲存體大小來計算。在工作表中,您將獲得一個分為每月值的預測圖。

下列範例圖表會預測每月儲存體大小 (GB)、計費儲存成本、隨需備份成本,以及未來 36 個日曆月的回復成本。所有費用均以美元計算。從圖表中可以看出,儲存、備份和復原成本會隨著儲存體大小的增加而成比例增加。

存儲容量上升到三千以上,而成本低於一千。

請注意,圖表中使用的價格僅用於說明目的。若要為您的使用案例建立準確的價格,請查看 AWS 定價頁面,並在 Excel 範本中使用這些價格。

附件

若要存取與此文件相關聯的其他內容,請解壓縮下列檔案:attachment.zip