AWS DynamoDB 改變了 Serverless 中的數據庫游戲并繼續這樣做,因為其設計反復證明了其巨大的價值。那么什么是 AWS DynamoDB數據庫?下文將將帶您了解有關 DynamoDB 的所有信息,因此您可以放心,您正在以最佳方式使用該服務并獲得所有好處。DynamoDB 是一個鍵值和文檔數據庫,在任何規模下都具有個位數毫秒的響應時間。這是一個完全托管的持久數據庫,具有內置的安全性,備份和還原功能。您在 DynamoDB 中經常聽到的一個關鍵詞是它是一個 NoSQL 數據庫,這只是意味著它不使用關系數據庫中使用的傳統 SQL 查詢語言。
NoSQL 數據庫的設計是通過將對象合并到一個公共集合或 NoSQL 數據庫中的“無模式”表來降低表之間的復雜性。這些對象然后根據共同主題分組在一起,這將滿足您設置的應用程序的共同查詢條件。
DynamoDB 如何存儲數據?
盡管該服務存在一定的剛性,但 DynamoDB 支持兩種數據模型,允許略有不同的需求和一定的靈活性。
首先是鍵值存儲,一個放大的分布式哈希表。表中的項目由鍵值對屬性唯一標識,用于 GET、 SET、 UPDATE 和 DELETE。有兩種類型的屬性:主鍵(與項目 ID 的工作方式類似)和排序鍵(允許對項目進行排序)。
眾所周知,無論大小如何,哈希表都是可靠、一致且快速的。但是,它們的缺點是一次只能檢索一條記錄。
為了解決這個問題,DynamoDB 還可以用作寬列存儲,這意味著每一行在任何時候都可以有任意數量的列。這種 B 樹數據結構和二級索引提供了查找項目的選項,同時還允許范圍查詢。它們可用于通過不同的主鍵和排序鍵引用和排序項目。同樣重要的是要記住,DynamoDB是一個無模式的數據庫,其中的項目可以具有不同的屬性集。
什么是 DynamoDB 自動縮放以及它是如何工作的?
無服務器計算的最大好處之一是開發人員在涉及時間和預算消耗方面可以采取的不干涉方法,其中之一是確保容量永遠不會受到限制或未充分利用。DynamoDB 會自動擴展以管理需求激增,而不會限制問題或響應緩慢,然后反過來減少,因此不會浪費資源。
該服務使用 AWS Application Auto Scaling 執行此操作,允許表使用您自己的擴展策略根據需要增加讀取和寫入容量。此策略指定您是否要擴展這些容量,以及最小和最大預置容量單位設置。它還包括目標利用率(消耗的預配置吞吐量的百分比),它與目標跟蹤算法一起確保吞吐量與設置的目標匹配,無論工作負載如何。
DynamoDB 用于什么,何時使用?
DynamoDB 每天可以處理超過 10tr 個請求,并且可以支持每秒超過 2000 萬個請求的峰值,使其成為 AWS 的頂級服務之一,適用于需要任何規模的低延遲數據訪問的應用程序。
在黑色星期五銷售開始后,該服務誕生于亞馬遜自己對更高級數據庫的需求。RDBMS功能(例如聯接)在規模上很慢,并且他們發現其他功能(即嚴格的一致性功能)并非總是必需的,因此可以放寬。在這兩種情況下,RDBMS 功能都增加了成本,而使用 NoSQL,CPU 和內存可以大大減少。
由于速度至關重要,從技術角度來看,我們需要更短的初始化步驟,同時仍然保持高安全性,DynamoDB 是完美的,因為訪問是通過 HTTP 進行的,并且該服務使用 AWS IAM。這兩個元素意味著您的數據庫始終受到保護,并且無需復雜的網絡配置即可快速驗證和驗證請求。
上述就是關于您需要了解的有關 AWS DynamoDB 的一切的全部內容,想了解更多關于數據庫的信息,請繼續關注中培偉業。