Servisphere
Biểu tượng Amazon DynamoDB (AWS Architecture Icons)

Amazon DynamoDB

NoSQL key-value cực nhanh

Database NoSQL serverless, truy vấn theo key với độ trễ mili-giây ở mọi quy mô; trả theo request hoặc capacity.

  • Chi phí$ Rẻ
  • Độ khó●●●●●
  • Để không có tốn tiền?Ít
  • Serverless
  • Có trong đềCLF · SAA · DVA · SOA

Phạm vi: Regional

Mở DynamoDB trên bản đồ →
Hình dungNhư tủ hồ sơ có số thứ tự: biết số là rút ra ngay, nhưng không lục tìm tự do được.

DynamoDB đứng ở đâu trong hệ thống?

DynamoDB

Xem toàn bộ trên bản đồ →

Một ví dụ thật, từng bước

  1. Một game mobile cần lưu điểm và hồ sơ của vài triệu người chơi, đọc ghi liên tục cả ngày.
  2. Bạn tạo bảng DynamoDB với khoá chính là playerId và chọn chế độ on-demand, không phải đoán trước lượng truy cập.
  3. Mỗi lần người chơi lưu điểm, game ghi một item; đọc lại theo playerId chỉ mất vài mili giây dù có bao nhiêu người chơi.
  4. Bảng xếp hạng theo màn chơi dùng một global secondary index để truy vấn theo kiểu khác.
  5. DynamoDB Streams gọi Lambda mỗi khi có điểm mới để gửi thông báo “bạn vừa bị vượt mặt”.

▶ Xem kịch bản “Web serverless” chạy trên bản đồ

Khi nào nên dùng

✓ Nên dùng khi

Biết trước mẫu truy cập, cần scale rất lớn: giỏ hàng, session, IoT, game.

✗ Không nên dùng khi

Cần JOIN, truy vấn tuỳ ý, báo cáo phức tạp → RDS/Aurora.

Ví dụ hay gặp

  • Giỏ hàng, session, hồ sơ người dùng
  • Leaderboard game, IoT, ad-tech cần độ trễ mili-giây
  • Backend serverless cùng Lambda
  • Lưu trạng thái, khoá chống xử lý trùng (idempotency)

DynamoDB, RDS hay ElastiCache?

DynamoDBRDSElastiCache
Kiểu dữ liệuKey-value / documentBảng quan hệ (SQL)Cache trong bộ nhớ
Co giãnTự giãn gần như vô hạnTheo cỡ máy + replicaTheo số node hoặc serverless
Truy vấnTheo khoá và indexSQL tuỳ ý, có JOINTheo khoá
Độ bền dữ liệuBền, lưu nhiều AZBền, có sao lưuDùng để tăng tốc, không thay database

Tốn bao nhiêu tiền?

Ví dụ10 triệu đọc + 2 triệu ghi + 5 GB/tháng ≈ $1,25 + $1,25 + $1,25 ≈ $4/tháng (on-demand).
  • Cách tính: On-demand: theo số request đọc/ghi (~$0,125/1 triệu đơn vị đọc, ~$0,625/1 triệu đơn vị ghi sau đợt giảm giá 11/2024). Hoặc Provisioned theo RCU/WCU-giờ. Lưu trữ ~$0,25/GB-tháng.
  • Miễn phí: Always Free: 25 GB lưu trữ + 25 WCU và 25 RCU (chế độ provisioned).
⚠️ Bẫy chi phí

Dùng Scan cả bảng thay vì Query; mỗi GSI làm tăng chi phí ghi; item lớn tốn nhiều đơn vị; bật Streams, PITR, Global Tables khi không cần.

Giá tham khảo tại us-east-1, cập nhật ngày 14/10/2026, có thể đã thay đổi. Luôn kiểm tra lại trên bảng giá của AWS. Bảng giá chính thức của AWS ↗

💡 Mẹo thi

Đề có “key-value”, “độ trễ mili giây ở mọi quy mô”, “serverless” → DynamoDB. Cần đọc tới micro giây → DAX. Muốn tự xoá dữ liệu hết hạn → TTL. Cần nhiều region cùng ghi → global tables.

Thử sức với câu hỏi thi thật

Đề thi chứng chỉ AWS bằng tiếng Anh nên câu hỏi giữ nguyên tiếng Anh.

1An application running in a private subnet accesses an Amazon DynamoDB table. The data cannot leave the AWS network to meet security requirements. How should this requirement be met?

  1. AConfigure a network ACL on DynamoDB to limit traffic to the private subnet.
  2. BEnable DynamoDB encryption at rest using an AWS Key Management Service (AWS KMS) key.
  3. CAdd a NAT gateway and configure the route table on the private subnet.
  4. DCreate a gateway VPC endpoint for DynamoDB and configure the endpoint policy.
Xem đáp án

Đáp án đúng: D

Gateway VPC endpoint cho DynamoDB giữ traffic trong mạng AWS, không đi qua Internet. NAT gateway vẫn đi ra Internet; mã hoá at rest không liên quan tới đường đi của dữ liệu.

2A recently created startup built a three-tier web application. The front end has static content. The application layer is based on microservices. User data is stored as JSON documents that need to be accessed with low latency. The company expects regular traffic to be low during the first year, with peaks in traffic when it publicizes new features every month. The startup team needs to minimize operational overhead costs. What should a solutions architect recommend to accomplish this?

  1. AUse Amazon S3 static website hosting to store and serve the front end. Use AWS Elastic Beanstalk for the application layer. Use Amazon DynamoDB to store user data.
  2. BUse Amazon S3 static website hosting to store and serve the front end. Use Amazon Elastic Kubernetes Service (Amazon EKS) for the application layer. Use Amazon DynamoDB to store user data.
  3. CUse Amazon S3 static website hosting to store and serve the front end. Use Amazon API Gateway and AWS Lambda functions for the application layer. Use Amazon DynamoDB to store user data.
  4. DUse Amazon S3 static website hosting to store and serve the front end. Use Amazon API Gateway and AWS Lambda functions for the application layer. Use Amazon RDS with read replicas to store user data.
Xem đáp án

Đáp án đúng: C

S3 cho phần tĩnh, API Gateway + Lambda cho phần xử lý, DynamoDB cho dữ liệu JSON: tất cả serverless, trả tiền theo lượng dùng, tự co giãn khi có đợt cao điểm. EKS hay Elastic Beanstalk vẫn có máy chủ để vận hành.

Luyện thêm hơn 700 câu trên Servisphere →

Câu hỏi thường gặp

On-demand và provisioned capacity khác nhau thế nào?

On-demand trả theo từng lần đọc ghi, không cần dự đoán tải, hợp với tải khó đoán. Provisioned đặt trước số đơn vị đọc ghi mỗi giây (có thể bật auto scaling), rẻ hơn khi tải ổn định.

Thiết kế khoá trong DynamoDB thế nào cho đúng?

Chọn partition key có nhiều giá trị và phân bố đều để tránh dồn tải vào một phân vùng. Dùng sort key và secondary index (GSI, LSI) cho các kiểu truy vấn khác nhau. Nên liệt kê các câu truy vấn cần có trước khi thiết kế bảng.

Đề thi AWS hay hỏi gì về DynamoDB?

Chọn on-demand hay provisioned, GSI và LSI, DAX để cache cho đọc cực nhanh, DynamoDB Streams để kích hoạt Lambda, TTL tự xoá dữ liệu cũ, global tables cho nhiều region, và strongly consistent read khác eventually consistent read.

Dịch vụ liên quan

Mở DynamoDB trên bản đồ →