DynamoDB Provisioning:憑什么讓成本節省76%?

jopen 9年前發布 | 4K 次閱讀 DynamoDB

英文原文:On DynamoDB Provisioning: Simple, Flexible, and Affordable

2015 年 1 月起,DynamoDB 預留容量已可以通過 DynamoDB Console 進行購買和管理。同時,還將預留容量的最小單位降到了 100,這將給創業公司帶來了極高的靈活性,真正做到了 IOPS 的按需購買。更小的單位無疑帶來了更好的成本效應,它讓創業公司在利用預留容量的同時,還可以通過更細的粒度來降低成本負擔。

對于那些當下正在使用 DynamoDB 預設吞吐量的用戶來說,按照 3 年型的預留容量來看,這些特性最高可以節省 76% 的成本。舉個例子,通過購買 3 年型預留容量,每個月處理 2.59 億次寫入的成本只需 12 美元/月,對比此前該寫入容量價格,成本節約了 76%!

DynamoDB預設定功能開發背景

在介紹預留容量的細節之前,首先回顧和描述一下 DynamoDB 的設計和架構,以及實現途徑。對比當下,DynamoDB 發布時猶如一張白紙,在很多維度都進行了不同的創新,同時,也在為開發者打造一個合適的預設定模型上。在 Amazon,每個團隊都像一個獨立的創業公司,與大多數創業公司一樣,這些團隊都會考慮到運營數據庫的總體成本。靈活性、細粒度性能提升、最小化基準測 試,以及后續數據庫故障時的運營成本等都是每個團隊的關心所在。

傳統情況下,預設定一個數據庫服務需要 Amazon 所有團隊對硬件、驅動以及網絡進行基準測試,甚至需要調優用于復制的網絡連通性。另一個團隊需要解決的問題則是預設定的粒度:期望開發者盡可能的節省成 本,而擴展時又能非常便捷。傳統模式下,這個操作通常通過最小化主機來完成——如果你擁有一個 10GB 的數據庫,鑒于數據不停地增長,開發者往往會預設定一個 100GB 以上來最小化運維負擔。然而,有些事情必然會發生,一段時間以后這臺主機上的數據庫增長到了 80GB,開發者必須進行遷移。毫無疑問,在云環境中做這個事情異常簡單。那么我們就會自問,我們如何讓這個過程更加簡單?

首先做的就是讓開發者不必關心實例、驅動和網絡,他們需要關心的是應用程序的事務數量,以及原始存儲。按照這些原則,開發者并不想遷移自己的數 據庫,不管這個操作做的多么的無縫。第二個問題就是,不管數據庫分區有多么簡單,在保證業務正常進行的同時做分區仍然是個不小的挑戰。那么我們期望做的就 是,在業務正常進行的情況下,系統規模可以按需進行縮放,同時開發者不需要關心任何底層硬件細節。同樣的,開發者也不需要去關心存儲:開發者可以 0 投入地將某個表格從 100MB 擴展到 100TB。

基于這些理念,Amazon 設計了 DynamoDB 的預設模型。允許用戶在預設系統每秒的讀、寫吞吐量之后就可以正常的運行。鑒于這一點,DynamoDB 是個完全托管的服務,它不需要下載和安裝任何軟件。默認情況下,DynamoDB 會將每個表格跨 3 個不同地理位置的數據中心進行備份。同時,數據至少在兩個數據中心持久化的情況下寫入才會被確認。所有這些工作的完成甚至不需要任何的配置。對創業公司來 說這一點非常有益,對比數據庫運維,他們更希望將時間花在業務的推廣上。通過這種預設模型,我們著重提升產品的靈活性。一個建立表格時只設定了每秒 10 次讀和寫的應用因為 Reddit 效應崩潰時,他們所需要做的就是使用 DynamoDB 控制臺或者 CLI 重新指配表格來支撐 100 或者 1000 甚至是 100 萬的 TPS。同時,所有這些操作都可以在流量正常傳輸的情況下進行。所有流量就向被移向了別處,這也是為什么客戶喜歡使用類似 Dynamic DynamoDB 基于實際負載來設定 IOPS。

DynamoDB預留容量

在了解了背景之后,談談如何使用預留容量來降低總成本。在這之前,Amazon 已經發布了 DynamoDB 的預留容量功能,在使用 3 年類型預留容量的情況下,用戶最高可以減少 76% 的成本。在此之外,預留容量還帶來了更多的靈活性。舉個例子,如果你購買 500 預留容量單位,你可以在一個表中使用 500 或者更多的 IOPS,或者你可以在多個表中共享這 500 的預留單位。更重要的是,你不需要對預留容量進行任何分配:如果預留容量有N個 IOPS,我們會自動將賬單中N個 IOPS 預留容量的部分予以免費。你可以在控制臺中直接購買和查看預留容量:

DynamoDB Provisioning:憑什么讓成本節省76%?

隨后,你就可以點擊“Purchase Reserved Capacity”按鈕。之后,你將進入下一個對話框進行各種參數選擇,比如:區域、容量類型、時期(1 年或者 3 年)以及 email 地址。一旦你購買預留容量,那么這個容量可以在你所有表格中共享。當然,你可以對比使用情況來選擇一個最佳的預留容量大小!了解更多信息請訪問 FAQ 頁面。

有些人可能還會記得,Amazon 宣布了 JSON 的支持,并在 re:Invent 上發布了 DynamoDB Streams 預覽版。現在,Amazon 正在跟進預留容量的用戶體驗以降低你的總體成本。

DynamoDB Free Tier

據悉,目前預留容量購買的最小尺度為 10 美元/月,DynamoDB 的最低使用成本也降到了0。作為 AWS Free Tier 的一部分,DynamoDB 用戶可以免費獲得每秒 25 次的讀寫和 25GB 存儲。對于一個即將投產的應用來說,這個容量已經足夠使用,同時你還將享受多數據中心可用性和持久性以及零運維。然后,一旦你的應用投入生產,你還可以使 用 Amazon 新的預留容量購買體驗。

來自: CSDN

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!