🌿 What?

  • Là dịch vụ cung cấp cơ sở dữ liệu toàn quyền quản lý, HA(Highly available) với khả năng nhân bản trên nhiều AZs.
  • Kiểu NoSQL - không phải kiểu quan hệ. Hỗ trợ transaction.
  • Có khả năng scale với những dự án lớn.
  • Chịu được hàng triệu requests mỗi giây, hàng triệu triệu hàng, và hàng trăm TB dung lượng.
  • Hiệu suất nhanh và nhất quán.
  • Tích hợp được với IAM để bảo mật, phân quyền và quản trị viên.
  • Chi phí thấp và có khả năng tự động scaling
  • Không bảo trì hay vá version, vì AWS luôn cung cấp sẵn infrastructure nên không cần lo.
  • Có 2 loại bảng trong DynamoDB:
    • Standard Table
    • Infrequent Access(IA) Table

🌿 Basics

  • DynamoDB được tạo thành từ các bảng.
  • Từng bảng có mọt Primary Key được chỉ định từ lúc khởi tạo.
  • Từng bảng có thể có vô hạn các item(các hàng).
  • Từng item có các attributes(có thể thêm bất kỳ lúc nào - có thể null)
  • Một item có size tối đa là 400KB
  • Các kiểu dữ liệu được hỗ trợ:
    • Scalar Types: String, Number, Binary, Boolean, Null.
    • Document Types: List, Map.
    • Set Types: String Set, Number Set, Binary Set.
  • Vì vậy, DynamoDB có thể giúp chúng ta phát triển nhanh chóng.

🌿 Read/Write Capacity Modes

  • Kiểm soát thông lượng. Có 2 mode:
  • Provisioned Mode(default)
    • Có thể chỉ định số lượng reads/writes trên mỗi giây
    • Bạn cần có một plan về khả năng sử dụng trước.
    • Trả cho Read Capacity Units (RCU) & Write Capacity Units (WCU)
    • Có thể add auto-scaling cho RCU và WCU
  • On-Demand Mode
    • Read/write tự động được scale theo khả năng sử dụng.
    • Không cần phải lên kế hoạch sử dụng trước.
    • Dùng đến đâu, trả đến đấy - đắt hơn cái trên
    • Phù hợp với những app không dự đoán trước được khả năng sử dụng, hoặc các app thử nghiệm, có thời gian sử dụng không dài.