DynamoDB Accelerator (DAX) là gì?
Giới thiệu
- DAX (DynamoDB Accelerator) là dịch vụ cache in-memory cho DynamoDB.
- Được thiết kế để cải thiện hiệu năng truy vấn đọc, giảm độ trễ từ milli giây → micro giây.
Đặc điểm
- Cache Read-through/Write-through.
- Tự động quản lý cluster, replication và scale.
- Không cần phải thay đổi logic của application (Vì được tích hợp sẵn với DynamoDB API)
Trường hợp sử dụng
- Ứng dụng đọc nhiều lần dữ liệu ít thay đổi.
- Hệ thống yêu cầu độ trễ cực thấp, ví dụ như gaming leaderboard, ad-tech bidding, IoT real-time metrics.
DynamoDB Global Tables là gì
- Global Tables cho phép replicate dữ liệu DynamoDB trên nhiều AWS Regions.
- Đảm bảo multi-active (cả đọc và ghi đều có thể thực hiện từ mọi Region).
Đặc điểm
- Được xây dựng trên DynamoDB Streams.
-
Cho phép lắng nghe trên 1 Table dữ liệu nào đó có thay đổi
-
- Dữ liệu thay đổi ở 1 Region sẽ được replicate gần như real-time sang Region khác.
- Hỗ trợ multi-region disaster recovery và global applications.
Trường hợp sử dụng
- Ứng dụng toàn cầu cần truy cập nhanh tại local Region.
- Yêu cầu HA (High Availability) và DR (Disaster Recovery) đa vùng.
DynamoDB Transactions là gì
- Transactions cho phép thực hiện nhiều thao tác đọc/ghi như một giao dịch Atomic (ACID).
Atomic trong ACID là “all or nothing” principle. Ví dụ trong giao dịch chuyển tiền từ A -> B. Nếu bước nào thất bại → toàn bộ transaction rollback.
Đặc điểm
- Đảm bảo tính toàn vẹn dữ liệu: hoặc tất cả thao tác thành công, hoặc rollback toàn bộ.
- Hỗ trợ tối đa 25 items hoặc 4MB trong một transaction.
- Có thể sử dụng cho cả write (Put, Update, Delete) và read (Get).
Trường hợp sử dụng
- Xử lý thanh toán (payment).
- Quản lý đặt hàng (order management).
- Ứng dụng cần tính consistency mạnh khi cập nhật nhiều bảng/item.
Backup trong DynamoDB
On-Demand Backup
- Cách backup này là thủ công.
- Có thể backup bất cứ lúc nào mà không ảnh hưởng tới dữ liệu đang chạy.
- Process backup sẽ tạo mới Table.
Point-in-Time Recovery (PITR)
- Cách backup có thể quay lại dữ liệu vào bất cứ thời điểm nào trong vòng 35 ngày.
- Tương tự, process backup sẽ tạo mới Table.
DynamoDB Pricing
DynamoDB có nhiều thành phần chi phí:
1. Capacity Mode
- On-Demand: trả tiền theo số request thực tế.
- Provisioned: đặt trước số Read Capacity Units (RCU) và Write Capacity Units (WCU).
- Có thể bật Auto Scaling để tự động điều chỉnh.
2. Storage
- Tính phí cho dung lượng dữ liệu lưu trữ (theo GB/tháng).
- Gồm cả dữ liệu gốc và indexes (LSI, GSI).
3. Optional Features
- DAX: tính phí dựa trên kích thước cluster (theo giờ).
- Global Tables: chi phí replication giữa các Region.
- Transactions: mỗi thao tác transaction tốn gấp 2 lần RCU/WCU so với thao tác thường.
- Backup & Restore: tính phí theo GB được backup/restore.
- Point-in-Time Recovery (PITR): phí duy trì theo dung lượng.
- Streams: miễn phí, nhưng đọc dữ liệu từ stream qua Lambda/SQS sẽ tính phí như thường.