DynamoDB - 概覽



DynamoDB 允許使用者建立能夠儲存和檢索任意數量資料併為任意數量流量提供服務的資料庫。它會自動將資料和流量分佈到伺服器上,以動態管理每個客戶的請求,同時保持快速效能。

DynamoDB 與 RDBMS

DynamoDB 使用 NoSQL 模型,這意味著它使用非關係型系統。下表突出顯示了 DynamoDB 和 RDBMS 之間的區別:

常見任務 RDBMS DynamoDB
連線到源 它使用持久連線和 SQL 命令。 它使用 HTTP 請求和 API 操作
建立表 其基本結構是表,並且必須定義。 它僅使用主鍵,建立時沒有模式。它使用各種資料來源。
獲取表資訊 所有表資訊保持可訪問 僅顯示主鍵。
載入表資料 它使用由列組成的行。 在表中,它使用由屬性組成的專案
讀取表資料 它使用 SELECT 語句和過濾語句。 它使用 GetItem、Query 和 Scan。
管理索引 它使用透過 SQL 語句建立的標準索引。對它的修改會在表更改時自動發生。 它使用二級索引來實現相同的功能。它需要規範(分割槽鍵和排序鍵)。
修改表資料 它使用 UPDATE 語句。 它使用 UpdateItem 操作。
刪除表資料 它使用 DELETE 語句。 它使用 DeleteItem 操作。
刪除表 它使用 DROP TABLE 語句。 它使用 DeleteTable 操作。

優勢

DynamoDB 的兩個主要優勢是可擴充套件性和靈活性。它不強制使用特定的資料來源和結構,允許使用者以統一的方式處理幾乎任何內容。

其設計還支援從較輕的任務和操作到苛刻的企業功能的廣泛用途。它還允許簡單地使用多種語言:Ruby、Java、Python、C#、Erlang、PHP 和 Perl。

侷限性

但是,DynamoDB 確實存在某些限制,但是這些限制不一定造成巨大問題或阻礙可靠的開發。

您可以從以下幾點回顧它們:

  • 容量單位大小 - 讀取容量單位是每秒對不大於 4KB 的專案進行一次一致讀取。寫入容量單位是每秒對不大於 1KB 的專案進行一次寫入。

  • 預置吞吐量最小/最大值 - 所有表和全域性二級索引的讀取和寫入容量單位至少為一個。最大值取決於區域。在美國,每個表的讀取和寫入上限為 40K(每個帳戶 80K),其他區域每個表的容量上限為 10K,帳戶容量上限為 20K。

  • 預置吞吐量的增加和減少 - 您可以在需要時隨時增加它,但減少次數每天每個表最多限制為四次。

  • 每個帳戶的表大小和數量 - 表大小沒有限制,但除非您請求更高的上限,否則帳戶有 256 個表的限制。

  • 每個表的二級索引 - 允許五個本地和五個全域性。

  • 每個表的投影二級索引屬性 - DynamoDB 允許 20 個屬性。

  • 分割槽鍵長度和值 - 它們的最小長度為 1 位元組,最大長度為 2048 位元組,但是,DynamoDB 對值沒有限制。

  • 排序鍵長度和值 - 它的最小長度為 1 位元組,最大長度為 1024 位元組,除非其表使用本地二級索引,否則對值沒有限制。

  • 表和二級索引名稱 - 名稱的長度必須至少為 3 個字元,最多為 255 個字元。它們使用以下字元:AZ、a-z、0-9、“_”、“-”和“.”。

  • 屬性名稱 - 最小為一個字元,最大為 64KB,鍵和某些屬性除外。

  • 保留字 - DynamoDB 不阻止將保留字用作名稱。

  • 表示式長度 - 表示式字串的長度限制為 4KB。屬性表示式的長度限制為 255 位元組。表示式的替換變數的長度限制為 2MB。

廣告

© . All rights reserved.