Ở bài này mình sẽ giới thiệu đến các bạn dịch vụ có kiến trúc Serverless, đó chính là DynamoDB.
DynamoDB là gì
- Là dịch vụ NoSQL Database (Database không quan hệ)
- Khả năng mở rộng cao
- Lưu trữ dự liệu theo mô hình key-value
- Dữ liệu được lưu trữ trên SSD => tốc độ đọc ghi cao
- Dữ liệu tự động được replicate ở các AZs khác nhau trong cùng Region (high availablity and data durability)
Tính chất của DynamoDB
- Khi tạo Table, bạn cần xác định Primary key
- Mỗi Table không giới hạn số lượng item lưu trữ
- Mỗi item có các attributes (có thể thêm, chỉnh sửa dễ dàng)
- Mỗi item có kích thước tối đa 400KB (Dynamo chỉ phù hợp với lưu trữ dữ liệu không quá lớn)
- Hỗ trợ nhiều kiểu dữ liệu khác nhau
DynamoDB Read/Write Capacity Modes
- Provisioned Mode (default)
- Cần xác định số lượng reads/writes trên mỗi giây
- AWS sẽ tính tiền cho provisioned Read Capacity Units (RCU) và Write Capacity Units (WCU)
- Có thể thêm auto-scaling mode cho RCU & WCU
- On-Demand Mode
- AWS tự động sale up/down dự trên lượng read/write thực tế
- Không cần xác định số lượng reads/writes
- Dùng bao nhiêu trả tiền bấy nhiêu (đắt hơn Provisioned Mode)
- Phù hợp với những ứng dụng không biết trước được workload