Servisphere
Biểu tượng Amazon Kinesis Data Streams (AWS Architecture Icons)

Amazon Kinesis Data Streams

Luồng dữ liệu real-time

Luồng dữ liệu bền vững, xếp theo shard; nhiều consumer có thể đọc lại dữ liệu trong thời gian lưu (mặc định 24 giờ, kéo dài được tới 365 ngày). Có chế độ provisioned và on-demand.

  • Chi phí$$ Vừa phải
  • Độ khó●●●●●
  • Để không có tốn tiền?Có
  • Serverless
  • Có trong đềSAA · DVA · SOA

Phạm vi: Regional

Mở Kinesis Data Streams trên bản đồ →
Hình dungNhư băng ghi hình liên tục: nhiều người có thể tua lại xem cùng một đoạn.

Khi nào nên dùng

✓ Nên dùng khi

Xử lý real-time độ trễ thấp, nhiều ứng dụng cùng đọc một stream, cần giữ thứ tự theo partition key.

✗ Không nên dùng khi

Chỉ cần đổ dữ liệu vào S3/Redshift → Data Firehose; hàng đợi việc đơn giản → SQS.

Ví dụ hay gặp

  • Clickstream cho dashboard real-time
  • Thu log tập trung cho nhiều consumer
  • Dữ liệu IoT xử lý bằng Lambda

Tốn bao nhiêu tiền?

  • Cách tính: Provisioned: theo shard-giờ và PUT payload unit; On-demand: theo stream-giờ và GB ghi/đọc.
⚠️ Bẫy chi phí

Shard provisioned tính tiền theo giờ dù không có dữ liệu; lỗi ProvisionedThroughputExceeded do partition key bị "nóng".

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.

💡 Mẹo thi

Đề hỏi “nhiều ứng dụng cùng đọc, đọc lại dữ liệu, giữ thứ tự theo key, real-time” thì chọn Kinesis Data Streams; “giữ thứ tự và số consumer tăng, bị chậm” thì enhanced fan-out; “tải khó đoán, không muốn quản shard” thì chế độ on-demand.

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

Shard là gì và vì sao ảnh hưởng hiệu năng?

Shard là đơn vị dung lượng của stream: mỗi shard có giới hạn tốc độ ghi và đọc cố định, và dữ liệu cùng partition key luôn vào cùng một shard để giữ thứ tự. Nếu một partition key quá “nóng” thì shard đó bị nghẽn dù các shard khác rảnh, nên cần chọn key phân bố đều. Cần thêm thông lượng thì tăng số shard (resharding).

Provisioned và on-demand khác nhau thế nào?

Provisioned: bạn chọn số shard, tính tiền theo shard-giờ, hợp khi tải dễ đoán. On-demand: AWS tự co giãn theo lưu lượng, tính theo lượng dữ liệu, không phải tính toán shard, hợp khi tải biến động hoặc chưa biết trước. Cả hai đều lưu dữ liệu theo thời gian lưu bạn chọn.

Enhanced fan-out dùng khi nào?

Mặc định các consumer chia sẻ băng thông đọc của mỗi shard, nên thêm consumer làm chậm nhau. Enhanced fan-out cấp cho mỗi consumer một đường đọc riêng được đẩy (push) về với độ trễ thấp, hợp khi có nhiều consumer cùng đọc một stream, đổi lại phát sinh thêm chi phí. Consumer dùng KCL còn cần DynamoDB để lưu checkpoint.

Dịch vụ liên quan

Ôn thi SAA-C03

Kinesis Data Streams xuất hiện trong các chủ đề ôn thi sau:

Mở Kinesis Data Streams trên bản đồ →