KPLkonsep kunci - Amazon Kinesis Data Streams

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

KPLkonsep kunci

Bagian berikut berisi konsep dan terminologi yang diperlukan untuk memahami dan mendapatkan manfaat dari Perpustakaan KPL Produser Kinesis ().

Catatan

Dalam panduan ini, kami membedakan antara catatan KPL pengguna dan catatan Kinesis Data Streams. Saat kami menggunakan catatan istilah tanpa kualifikasi, kami merujuk ke catatan KPL pengguna. Ketika kami merujuk ke catatan Kinesis Data Streams, kami secara eksplisit mengatakan catatan Kinesis Data Streams.

Catatan KPL pengguna adalah gumpalan data yang memiliki arti khusus bagi pengguna. Contohnya termasuk JSON gumpalan yang mewakili peristiwa UI di situs web, atau entri log dari server web.

Catatan Kinesis Data Streams adalah contoh Record dari struktur data yang ditentukan oleh layanan Kinesis Data Streams. API 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 HTTP satu permintaan untuk mengirimkannya ke Kinesis Data Streams. Dengan batching, setiap HTTP permintaan dapat membawa beberapa catatan, bukan hanya satu.

KPLMendukung dua jenis batching:

  • Agregasi — Menyimpan beberapa catatan dalam satu catatan Kinesis Data Streams.

  • Pengumpulan — Menggunakan API operasi PutRecords untuk mengirim beberapa catatan Kinesis Data Streams ke satu atau beberapa pecahan dalam aliran data Kinesis Anda.

Kedua jenis KPL batching 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 API panggilan, 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 KPL agregasi, Anda dapat mengemas 1.000 catatan hanya ke dalam 10 catatan Kinesis Data Streams, mengurangi menjadi 10 (RPSmasing-masing 50 KB).

Koleksi

Koleksi mengacu pada pengelompokan beberapa catatan Kinesis Data Streams dan mengirimkannya dalam HTTP satu permintaan dengan panggilan ke API PutRecords operasi, alih-alih mengirim setiap catatan Kinesis Data Streams dalam permintaannya sendiri. HTTP

Ini meningkatkan throughput dibandingkan dengan tidak menggunakan koleksi karena mengurangi overhead membuat banyak permintaan terpisahHTTP. 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--|