Skip to content

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.
DynamoDB Accelerator là gì

Đặ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 recoveryglobal 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)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)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.