Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Konsep kunci KPL
Bagian berikut berisi konsep dan terminologi yang diperlukan untuk memahami dan mendapatkan manfaat dari Perpustakaan Produsen Kinesis (KPL).
Catatan
Dalam panduan ini, kami membedakan antara catatan pengguna KPL dan catatan Kinesis Data Streams. Saat kami menggunakan catatan istilah tanpa kualifikasi, kami merujuk ke catatan pengguna KPL. Ketika kami merujuk ke catatan Kinesis Data Streams, kami secara eksplisit mengatakan catatan Kinesis Data Streams.
Catatan pengguna KPL adalah gumpalan data yang memiliki arti khusus bagi pengguna. Contohnya termasuk gumpalan JSON yang mewakili peristiwa UI di situs web, atau entri log dari server web.
Catatan Kinesis Data Streams adalah instance Record
dari struktur data yang ditentukan oleh API layanan Kinesis Data Streams. Ini berisi kunci partisi, nomor urut, dan gumpalan data.
Batching
Batching mengacu pada melakukan satu tindakan pada beberapa item alih-alih berulang kali melakukan tindakan pada setiap item individu.
Dalam konteks ini, “item” adalah catatan, dan tindakan mengirimkannya ke Kinesis Data Streams. Dalam situasi non-batching, Anda akan menempatkan setiap rekaman dalam catatan Kinesis Data Streams terpisah dan membuat satu permintaan HTTP untuk mengirimkannya ke Kinesis Data Streams. Dengan batching, setiap permintaan HTTP dapat membawa beberapa catatan, bukan hanya satu.
KPL mendukung dua jenis batching:
-
Agregasi — Menyimpan beberapa catatan dalam satu catatan Kinesis Data Streams.
-
Pengumpulan — Menggunakan operasi API
PutRecords
untuk mengirim beberapa catatan Kinesis Data Streams ke satu atau beberapa pecahan dalam aliran data Kinesis Anda.
Kedua jenis batching KPL dirancang untuk hidup berdampingan dan dapat dihidupkan atau dimatikan secara independen satu sama lain. Secara default, keduanya dihidupkan.
Agregasi
Agregasi mengacu pada penyimpanan beberapa catatan dalam catatan Kinesis Data Streams. Agregasi memungkinkan pelanggan untuk meningkatkan jumlah catatan yang dikirim per panggilan API, yang secara efektif meningkatkan throughput produsen.
Pecahan Kinesis Data Streams mendukung hingga 1.000 rekaman Kinesis Data Streams per detik, atau throughput 1 MB. Catatan Kinesis Data Streams per detik mengikat pelanggan dengan catatan yang lebih kecil dari 1 KB. Agregasi rekaman memungkinkan pelanggan untuk menggabungkan beberapa catatan ke dalam satu catatan Kinesis Data Streams. Hal ini memungkinkan pelanggan untuk meningkatkan throughput per shard mereka.
Pertimbangkan kasus satu pecahan di Wilayah us-east-1 yang saat ini berjalan pada tingkat konstan 1.000 catatan per detik, dengan catatan yang masing-masing 512 byte. Dengan agregasi KPL, Anda dapat mengemas 1.000 catatan hanya ke dalam 10 catatan Kinesis Data Streams, mengurangi RPS menjadi 10 (masing-masing 50 KB).
Koleksi
Collection mengacu pada pengelompokan beberapa data Kinesis Data Streams dan mengirimkannya dalam satu permintaan HTTP dengan panggilan ke PutRecords
operasi API, alih-alih mengirim setiap catatan Kinesis Data Streams dalam permintaan HTTP-nya sendiri.
Ini meningkatkan throughput dibandingkan dengan tidak menggunakan koleksi karena mengurangi overhead membuat banyak permintaan HTTP terpisah. Bahkan, PutRecords
dirinya sendiri dirancang khusus untuk tujuan ini.
Koleksi berbeda dari agregasi karena bekerja dengan kelompok catatan Kinesis Data Streams. Rekaman Kinesis Data Streams yang dikumpulkan masih dapat berisi beberapa catatan dari pengguna. Hubungan tersebut dapat divisualisasikan seperti:
record 0 --|
record 1 | [ Aggregation ]
... |--> Amazon Kinesis record 0 --|
... | |
record A --| |
|
... ... |
|
record K --| |
record L | | [ Collection ]
... |--> Amazon Kinesis record C --|--> PutRecords Request
... | |
record S --| |
|
... ... |
|
record AA--| |
record BB | |
... |--> Amazon Kinesis record M --|
... |
record ZZ--|