Tại sao nên chọn Luồng dữ liệu Kinesis?
Luồng dữ liệu Amazon Kinesis là dịch vụ dữ liệu phát trực tiếp phi máy chủ, được quản lý hoàn toàn, giúp bạn dễ dàng thu nạp và lưu trữ các nhật ký, sự kiện, luồng nhấp chuột và các dạng dữ liệu phát trực tiếp khác theo thời gian thực một cách linh hoạt. Kinesis Data Streams sử dụng phương pháp định giá đơn giản, đó là trả phí theo mức sử dụng. Bạn không phải trả trước hay trả phí tối thiểu mà chỉ cần trả cho tài nguyên bạn sử dụng. Kinesis Data Streams có hai chế độ dung lượng—theo nhu cầu và được cung cấp—đồng thời cả hai chế độ này đều đi kèm với các lựa chọn thanh toán cụ thể. Nhấp vào các tab sau đây để tìm hiểu thêm về những lựa chọn này.
Công cụ tính giá AWS
Tính toán chi phí kiến trúc và Amazon Kinesis Data Streams chỉ với một ước tính duy nhất.
-
Chế độ theo nhu cầu
-
Chế độ được cung cấp
-
Chế độ theo nhu cầu
-
Với chế độ công suất theo nhu cầu, bạn trả phí cho mỗi GB dữ liệu được ghi và đọc từ các luồng dữ liệu của mình. Bạn không cần chỉ định mức thông lượng đọc và ghi mà bạn mong muốn ứng dụng của mình thực hiện. Kinesis Data Streams ngay lập tức dung nạp các khối lượng công việc của bạn khi chúng tăng lượng hoặc giảm lượng.
Trong chế độ theo nhu cầu, mức định giá dựa trên dung lượng dữ liệu được thu nạp và truy xuất cùng với khoản phí mỗi giờ cho từng luồng dữ liệu trong tài khoản của bạn. Các tính năng tùy chọn sẽ chịu thêm các khoản phí bổ sung: Lưu giữ dữ liệu kéo dài (quá 24 giờ đầu tiên và trong vòng bảy ngày đầu tiên), Lưu giữ dữ liệu dài hạn (quá bảy ngày và tối đa một năm) và Phân xuất tăng cường. Bạn cũng sẽ phải trả phí theo giờ cho mỗi luồng hoạt động ở chế độ công suất theo nhu cầu trong tài khoản của mình.
Chế độ công suất theo nhu cầu có thể phù hợp với bạn nhất trong những trường hợp sau: khi bạn tạo các luồng dữ liệu mới mà chưa biết khối lượng công việc; khi bạn có lưu lượng ứng dụng không dự đoán được hoặc khi bạn không muốn quản lý công suất.
Thuật ngữ chính
Dữ liệu vào: Dữ liệu được thu nạp vào Kinesis Data Streams được tính phí theo mỗi GB ghi vào luồng dữ liệu của bạn. Giá trị này được tính bằng số lượng bản ghi dữ liệu mà bạn gửi đến dịch vụ, nhân với kích thước của từng bản ghi, được làm tròn đến 1 KB (1.024 byte) gần nhất. Ví dụ: nếu mỗi bản ghi dữ liệu của bạn có dung lượng 4,5 KB, Kinesis Data Streams sẽ tính mỗi bản ghi là 5 KB dữ liệu được thu nạp. Tất cả các dữ liệu được thu nạp vào Kinesis Data Streams sẽ được mặc định lưu trữ trong 24 giờ và không phải chịu phí bổ sung.
Dữ liệu ra: Dữ liệu được truy xuất từ Kinesis Data Streams được tính phí theo mỗi GB được đọc từ luồng dữ liệu. Giá trị này được tính bằng số lượng bản ghi được truy xuất, nhân với kích thước của từng bản ghi. Phép tính toán này không được áp dụng hệ số làm tròn. Ví dụ: nếu mỗi bản ghi dữ liệu của bạn có dung lượng 4,5 KB, Kinesis Data Streams sẽ tính mỗi bản ghi là 4,5 KB dữ liệu được xuất ra.
Mỗi luồng: Bạn sẽ phải trả phí theo giờ cho mỗi luồng hoạt động ở chế độ công suất theo nhu cầu trong tài khoản của bạn.
Lưu giữ dữ liệu kéo dài: Kinesis Data Streams mặc định lưu trữ dữ liệu của bạn trong 24 giờ. Lưu giữ dữ liệu kéo dài cho phép bạn kéo dài thời gian lưu trữ lên đến bảy ngày. Bạn sẽ phải trả phí theo GB - tháng cho dữ liệu được lưu trữ quá 24 giờ, tối đa bảy ngày.
Lưu giữ dữ liệu dài hạn: Lưu giữ dữ liệu dài hạn cho phép bạn lựa chọn lưu trữ luồng dữ liệu của mình lên đến 365 ngày. Trong bảy ngày đầu tiên, bạn sẽ phải trả phí theo mức lưu giữ dữ liệu kéo dài. Sau đó, bạn sẽ phải trả phí theo mức GB-tháng thấp hơn cho dữ liệu được lưu trữ quá bảy ngày cho đến khoảng thời gian lưu giữ do bạn chỉ định.
Phân xuất tăng cường: Phân xuất tăng cường cải thiện khả năng đọc song song bằng cách cung cấp riêng thông lượng đọc cho từng đối tượng tiêu thụ trên mỗi phân mảnh, giá trị thông lượng tối đa là 2 MB/giây. Khi đối tượng tiêu thụ sử dụng tính năng phân xuất tăng cường, họ phải chịu các khoản phí bổ sung cho mỗi GB dữ liệu được truy xuất.
Giá theo khu vực
Ví dụ về định giá
Giả sử bạn gửi 1.000 bản ghi dữ liệu phát trực tiếp mỗi giây, mỗi bản ghi có kích thước 3 KB, đến một luồng dữ liệu Amazon Kinesis hoạt động ở chế độ công suất theo nhu cầu ở MIền Đông Hoa Kỳ. Bạn muốn lưu giữ dữ liệu trong một ngày và xử lý dữ liệu bằng cách sử dụng một đối tượng tiêu thụ duy nhất. Các khoản phí hàng tháng của bạn sẽ được tính như sau:
Kích thước bản ghi là 3 KB, được làm tròn đến 1 KB gần nhất = 3 KB
Dữ liệu được thu nạp (GB mỗi giây) = (1.000 bản ghi/giây * 3 KB/bản ghi) / 1.048.576 KB/GB = 0,00286 GB/giây
Dữ liệu được thu nạp (GB mỗi tháng) = 30 ngày/tháng * 86.400 giây/ngày * 0,00286 GB/giây = 7.413,12 GB/tháng
Vì bạn có một đối tượng tiêu thụ:
Dữ liệu được truy xuất (GB mỗi giây) = 1 (đối tượng tiêu thụ) * (1.000 bản ghi/giây * 3 KB/bản ghi) / 1.048.576 KB/GB = 0,00286 GB/giâyDữ liệu được truy xuất (GB mỗi tháng) = 30 ngày/tháng * 86.400 giây/ngày * 0,00286 GB/giây = 7.413,12 GB/tháng
Các khoản phí Dữ liệu được thu nạp bao gồm khoảng thời gian lưu giữ trong một ngày.
Giá ở Miền Đông Hoa Kỳ là 0,08 USD mỗi GB dữ liệu được thu nạp
Phí dữ liệu vào hàng tháng = 7.413,12 GB * 0,08 USD/GB = 593,04 USD
Giá ở Miền Đông Hoa Kỳ là 0,040 USD mỗi GB dữ liệu được truy xuất
Phí dữ liệu ra hàng tháng = 7.413,12 GB * 0,040 USD/GB = 296,50 USD
Vì luồng sẽ được sử dụng trong 30 ngày của tháng:
Phí mỗi luồng = 30 * 24 * 0,040 (mức giá) = 28,80 USDTổng phí hàng tháng = 593,04 USD + 296,50 USD + 28,80 USD = 918,34 USD
-
Chế độ được cung cấp
-
Với chế độ dung lượng được cung cấp, bạn chỉ định số lượng phân đoạn cần thiết cho ứng dụng của mình, dựa trên tỷ lệ yêu cầu đọc và ghi của ứng dụng. Phân đoạn là một đơn vị dung lượng, cung cấp 1 MB/giây thông lượng ghi và 2MB/giây thông lượng đọc.
Chế độ công suất được cung cấp có thể phù hợp với bạn nhất trong những trường hợp sau: khi bạn có lưu lượng ứng dụng dự đoán được; khi bạn chạy các ứng dụng có lưu lượng nhất quán hoặc tăng lượng dần hoặc khi bạn có thể dự báo các yêu cầu về công suất để kiểm soát chi phí.
Thuật ngữ chính
Giờ phân mảnh: Phân mảnh là đơn vị thông lượng cơ sở của một luồng dữ liệu Amazon Kinesis. Bạn chỉ định số lượng phân mảnh cần thiết trong luồng dựa trên yêu cầu thông lượng của bạn. Bạn sẽ phải trả phí theo giờ cho mỗi phân đoạn.
Một phân mảnh cung cấp công suất thu nạp ở mức 1 MB/giây hoặc 1.000 bản ghi/giây.
Khi đối tượng tiêu thụ dữ liệu sử dụng tính năng phân xuất tăng cường, mỗi phân mảnh cung cấp tối đa 2 MB/giây đầu ra dữ liệu cho mỗi đối tượng tiêu thụ sử dụng phân mảnh.
Khi đối tượng tiêu thụ dữ liệu không sử dụng tính năng phân xuất tăng cường, mỗi phân mảnh cung cấp tối đa 2 MB/giây đầu ra dữ liệu, bất kể số lượng đối tượng tiêu thụ xử lý dữ liệu song song từ một phân mảnh.
Đơn vị dữ liệu thực PUT (25 KB): Bản ghi là dữ liệu mà bên tạo dữ liệu của bạn thêm vào luồng dữ liệu Amazon Kinesis. Đơn vị dữ liệu thực PUT được tính bằng “chunk” (đoạn dữ liệu) có trọng tải 25 KB, bao hàm một bản ghi. Ví dụ: một bản ghi 5 KB chứa một Đơn vị dữ liệu thực PUT, một bản ghi 45 KB chứa hai Đơn vị dữ liệu thực PUT và một bản ghi 1 MB chứa 40 Đơn vị dữ liệu thực PUT. Đơn vị dữ liệu thực PUT được tính phí theo mức giá trên mỗi một triệu Đơn vị dữ liệu thực PUT.
Phân xuất tăng cường: Phân xuất tăng cường cải thiện khả năng đọc song song bằng cách cung cấp riêng thông lượng đọc cho từng đối tượng tiêu thụ trên mỗi phân mảnh, giá trị thông lượng (tối đa 2 MB/giây). Khi đối tượng tiêu thụ sử dụng tính năng phân xuất tăng cường, họ sẽ chịu phí theo giờ cho mỗi giờ đối tượng tiêu thụ thao tác trên phân mảnh và mỗi GB dữ liệu được truy xuất.
Lưu giữ dữ liệu kéo dài: Kinesis Data Streams mặc định lưu trữ dữ liệu của bạn trong 24 giờ. Lưu giữ dữ liệu kéo dài cho phép bạn kéo dài thời gian lưu trữ lên đến bảy ngày. Sau khi bật tính năng lưu giữ dữ liệu kéo dài, bạn sẽ phải trả phí bổ sung cho từng giờ phân mảnh phát sinh từ luồng dữ liệu của bạn.
Lưu giữ dữ liệu dài hạn: Lưu giữ dữ liệu dài hạn cho phép bạn lựa chọn lưu trữ luồng dữ liệu của mình lên đến 365 ngày. Trong bảy ngày đầu tiên, bạn sẽ phải trả phí theo mức lưu giữ dữ liệu kéo dài. Sau đó, bạn sẽ phải trả phí theo mức GB-tháng cho dữ liệu được lưu trữ quá bảy ngày cho đến khoảng thời gian lưu giữ do bạn chỉ định.
Truy xuất dữ liệu được lưu giữ dài hạn: Nếu bạn đang truy xuất dữ liệu bằng API GetRecords, bạn sẽ phải trả phí trên mỗi GB để truy xuất dữ liệu được lưu trữ quá bảy ngày. Bạn không bị tính phí khi truy xuất dữ liệu được lưu trữ trong 24 giờ mặc định hoặc khi lưu giữ dữ liệu kéo dài trong khoảng thời gian tối đa bảy ngày. Nếu đối tượng thiêu thụ được bật phân xuất tăng cường (API SubscribeToShard), bạn không bị tính phí truy xuất dữ liệu dài hạn.
Giá theo khu vực
Ví dụ về định giá
Giả sử bên tạo dữ liệu của bạn cấp tổng 100 bản ghi mỗi giây, đồng thời mỗi bản ghi có kích thước 35 KB. Trong trường hợp này, tổng tốc độ nhập dữ liệu là 3,4 MB/giây (100 bản ghi/giây * 35 KB/bản ghi chia cho 1.024 = 3,4 MB/giây). Để đơn giản, chúng tôi giả sử rằng kích thước thông lượng và dữ liệu của mỗi bản ghi đều ổn định và không đổi trong suốt cả ngày. Xin lưu ý rằng chúng tôi có thể chủ động điều chỉnh thông lượng của luồng Amazon Kinesis bất cứ lúc nào.
Trước tiên, chúng tôi tính toán số lượng phân mảnh cần thiết để luồng dữ liệu của bạn đạt được thông lượng yêu cầu. Vì một phân mảnh cung cấp 1 MB/giây công suất nhập dữ liệu và hỗ trợ 1.000 bản ghi/giây, bốn phân mảnh cung cấp 4 MB/giây công suất nhập dữ liệu và hỗ trợ 4.000 bản ghi/giây. Vì vậy, một luồng có bốn phân mảnh sẽ đáp ứng thông lượng mà chúng ta yêu cầu là 3,4 MB/giây với 100 bản ghi/giây.
Sau đó, chúng ta tính toán chi phí Kinesis Data Streams hàng tháng theo mức định giá ở Khu vực Miền Đông Hoa Kỳ:
Giờ phân mảnh: Một phân mảnh có giá 0,015 USD mỗi giờ hay 0,36 USD mỗi ngày (0,015 USD * 24). Luồng của chúng ta có bốn phân mảnh nên luồng đó có giá 1,44 USD mỗi ngày (0,36 USD * 4). Trong một tháng có 31 ngày, giờ phân mảnh hàng tháng có giá 44,64 USD (1,44 USD * 31).
Đơn vị dữ liệu thực PUT (25KB): Vì bản ghi của chúng ta là 35KB, mỗi bản ghi chứa hai Đơn vị dữ liệu thực PUT. Các bên tạo dữ liệu của bạn cấp tổng 100 bản ghi hay 200 Đơn vị dữ liệu thực PUT mỗi giây. Đó là 267.840.000 bản ghi hoặc 535.680.000 Đơn vị dữ liệu thực PUT cho mỗi tháng. Vì 1 triệu Đơn vị dữ liệu thực PUT có giá 0,014 USD, Đơn vị dữ liệu thực PUT hàng tháng của bạn có giá 7,499 USD (0,014 USD * 535,68).
Tùy theo nhu cầu, chúng ta có thể chọn tăng khoảng thời gian lưu giữ dữ liệu của luồng từ 24 giờ đến tối đa bảy ngày. Trong ví dụ này, chúng ta giả sử luồng dữ liệu đã được bật tính năng lưu giữ dữ liệu kéo dài trong suốt cả tháng. Ngoài ra, bạn có thể chỉ chọn lưu giữ dữ liệu kéo dài trong những thời điểm quan trọng để tránh mất dữ liệu, giúp bạn tiết kiệm chi phí khi lưu giữ kéo dài.
Lưu giữ dữ liệu kéo dài (tối đa bảy ngày): Tính năng Lưu giữ dữ liệu kéo dài tốn thêm 0,020 USD mỗi giờ phân mảnh. Khi luồng của chúng ta phát sinh 2.976 giờ phân mảnh mỗi tháng (4 phân mảnh * 24 giờ/ngày * 31 ngày/tháng), tính năng lưu giữ dữ liệu kéo dài hàng tháng của bạn có giá 59,52 USD (0,020 USD * 2.976)
Cộng chi phí giờ phân mảnh với chi phí Đơn vị dữ liệu thực PUT với nhau, tổng chi phí của Amazon Kinesis Data Streams là 1,68 USD mỗi ngày hay 52,14 USD mỗi tháng. Với 1,68 USD mỗi ngày, bạn sở hữu cơ sở hạ tầng dữ liệu phát trực tiếp được quản lý hoàn toàn, cho phép chúng ta liên tục thu nạp 4 MB dữ liệu mỗi giây hay 337 GB dữ liệu mỗi ngày một cách linh hoạt và đáng tin cậy. Ngoài ra, bạn có thể trả thêm 59,52 USD mỗi tháng để tăng khoảng thời gian lưu giữ từ 24 giờ đến tối đa bảy ngày.
Bạn cũng có thể tùy chọn lưu giữ dữ liệu quá bảy ngày và sử dụng tính năng phân xuất tăng cường.
Lưu giữ dữ liệu dài hạn (dữ liệu được lưu trữ quá bảy ngày): Giả sử bạn muốn lưu giữ luồng dữ liệu của mình trong 30 ngày. Bạn sẽ phải chịu mức định giá giờ phân mảnh để lưu giữ dữ liệu kéo dài từ 24 giờ đến tối đa bảy ngày (xem phần tính toán ở trên), đồng thời bạn sẽ phải chịu cả mức định giá lưu giữ dữ liệu dài hạn quá bảy ngày đến 30 ngày (tương đương khoảng thời gian 23 ngày). Đối với mức định giá 23 ngày lưu giữ dữ liệu dài hạn, bạn sẽ phải chịu chi phí lưu trữ bổ sung là 0,023 USD/GB-tháng và 0,021 USD mỗi GB dữ liệu được truy xuất nếu bạn sử dụng đối tượng tiêu thụ mặc định (API GetRecords). Dựa trên tốc độ nhập dữ liệu là 3,4 MB/giây, bạn sẽ tích lũy được 3,4 (tốc độ nhập) * 1.024 * 1.024 * 3.600 = 12.902.400.000 byte trong một giờ.
Sau đây là mức sử dụng của bạn vào cuối tháng:
3.565.158 * 23 ngày * 24 giờ/ngày = 7.122.124.800.000 byte-giờ
Hãy chuyển đổi sang GB-tháng:
7.122.124.800.000 byte-giờ / 1.073.741.824 byte mỗi GB = 6.633 GB mỗi thángDo đó, tổng chi phí lưu trữ trong khoảng thời gian 23 ngày lưu giữ = 6.633* 0,023 USD = 152,56 mỗi tháng.
Truy xuất dữ liệu dài hạn (dữ liệu được lưu trữ quá bảy ngày): Nếu bạn sử dụng một đối tượng tiêu thụ duy nhất để truy xuất tất cả dữ liệu dài hạn, trong đó đối tượng tiêu thụ này sử dụng API GetRecords để tìm nạp bản ghi, bạn sẽ phải chỉ chịu phí truy xuất đối với dữ liệu được lưu trữ quá bảy ngày đầu tiên. Vì truy xuất 6.623 GB dữ liệu, vào cuối tháng, bạn sẽ phải trả phí 6.623 * 0,021 = 139,08 USD. Khi sử dụng các đối tượng tiêu thụ được bật phân xuất tăng cường để truy xuất dữ liệu dài hạn, bạn sẽ phải chịu mức giá truy xuất dữ liệu có sử dụng phân xuất tăng cường theo như mô tả bên dưới.
Giờ đối tượng tiêu thụ thao tác trên phân mảnh có sử dụng phân xuất tăng cường : Tính năng Phân xuất tăng cường tốn thêm 0,015 USD mỗi phân mảnh, đồng thời chi phí này được thêm vào cho mỗi đối tượng tiêu thụ dữ liệu. Khi luồng của bạn phát sinh 2.976 giờ phân mảnh mỗi tháng (4 phân mảnh * 24 giờ * 31 ngày), mỗi đối tượng tiêu thụ sử dụng tính năng phân xuất tăng cường trong suốt khoảng thời gian này sẽ phải chịu chi phí là 44,64 USD (2.976 * 0,015 USD). Hai đối tượng tiêu thụ trong cùng thời gian sẽ phải chịu chi phí là 89.28 USD.
Truy xuất dữ liệu có sử dụng phân xuất tăng cường: Dữ liệu được đối tượng tiêu thụ truy xuất từ một luồng thông qua phân xuất dữ liệu tăng cường phải chịu phí 0,013 USD mỗi GB. Nếu đã qua một tháng, một luồng có hai phân mảnh thu nạp 50.000 MB dữ liệu, đồng thời hai đối tượng tiêu thụ dữ liệu sử dụng tính năng phân xuất tăng cường và truy xuất tất cả lượng dữ liệu này trong cả tháng, tổng lượng dữ liệu được truy xuất sẽ là 100.000 MB (50.000 MB * 2 đối tượng tiêu thụ) hay 97,6 GB. Vì mỗi GB có giá 0,013 USD, tổng chi phí sử dụng phân xuất tăng cường là 1,26 USD (97,6 * 0,013 USD).
* Bạn không bị tính phí tải bản ghi từ luồng dữ liệu Amazon Kinesisn khi dữ liệu được lưu trữ trong 24 giờ theo mặc định hoặc khi dữ liệu được lưu trữ kéo dài trong 7 ngày. Đối với dữ liệu lưu trữ dài hạn, bạn bị tính phí theo mỗi GB khi truy xuất dữ liệu đã được lưu trữ hơn 7 ngày cho đến giới hạn 365 ngày.
* Nếu dùng mô hình phân suất tăng cường, thì bạn phải trả phí theo giờ trên mỗi giờ phân mảnh của nguồn dùng dữ liệu và trên mỗi GB dữ liệu được truy xuất.
* AWS không tính phí truyền dữ liệu từ bên tạo dữ liệu của bạn đến Amazon Kinesis Data Streams hoặc từ Amazon Kinesis Data Streams đến các ứng dụng tiêu thụ của bạn nếu tất cả các tài nguyên đều nằm trong cùng khu vực.
* AWS không tính phí truyền dữ liệu nếu bên tạo dữ liệu của bạn đang ghi vào Luồng dữ liệu của Kinesis nằm ở một khu vực khác. Tuy nhiên, ở chế độ theo nhu cầu, bạn phải chịu phí bổ sung nếu các ứng dụng tiêu thụ của bạn đang đọc dữ liệu từ một luồng dữ liệu nằm ở Khu vực AWS khác. Bạn sẽ được tính phí theo Phí truyền dữ liệu AWS tiêu chuẩn.
*Xin lưu ý Amazon Kinesis Data Streams hiện KHÔNG có sẵn ở Bậc miễn phí của AWS. Bậc miễn phí của AWS là chương trình cho phép bạn dùng thử miễn phí một nhóm dịch vụ AWS. Để biết thêm chi tiết về Bậc miễn phí của AWS, hãy xem Bậc miễn phí của AWS.
Thỏa thuận mức dịch vụ
Để tìm hiểu thêm về Cam kết chất lượng dịch vụ của Luồng dữ liệu Amazon Kinesis, hãy truy cập Câu hỏi thường gặp của chúng tôi.