View a markdown version of this page

Amazon Kinesis Data Streams Terminologi dan konsep - Amazon Kinesis Data Streams

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

Amazon Kinesis Data Streams Terminologi dan konsep

Sebelum Anda mulai menggunakan Amazon Kinesis Data Streams, pelajari tentang arsitektur dan terminologinya.

Tinjau arsitektur tingkat tinggi dari Kinesis Data Streams

Diagram berikut menggambarkan arsitektur tingkat tinggi dari Kinesis Data Streams. Produsen terus mendorong data ke Kinesis Data Streams, dan konsumen mem proses data secara real time. Konsumen (seperti aplikasi khusus yang berjalan di Amazon EC2 atau aliran pengiriman Amazon Data Firehose) dapat menyimpan hasil mereka menggunakan AWS layanan seperti Amazon DynamoDB, Amazon Redshift, atau Amazon S3.

Diagram arsitektur tingkat tinggi Kinesis Data Streams

Menjadi akrab dengan terminologi Kinesis Data Streams

Kinesis Aliran Data

Aliran data Kinesis adalah sekumpulan pecahan. Setiap pecahan memiliki urutan catatan data. Setiap catatan data memiliki nomor urut yang ditetapkan oleh Kinesis Data Streams.

Rekaman Data

Catatan data adalah unit data yang disimpan dalam aliran data Kinesis. Catatan data terdiri dari nomor urut, kunci partisi, dan gumpalan data, yang merupakan urutan byte yang tidak dapat diubah. Kinesis Data Streams tidak memeriksa, menafsirkan, atau mengubah data dalam blob dengan cara apa pun. Blob data bisa mencapai 1 MB.

Mode Kapasitas

Mode kapasitas aliran data menentukan bagaimana kapasitas dikelola dan bagaimana Anda dikenakan biaya untuk penggunaan aliran data Anda. Saat ini, di Kinesis Data Streams, Anda dapat memilih antara mode on-demand dan mode yang disediakan untuk aliran data Anda. Untuk informasi selengkapnya, lihat Pilih mode yang tepat untuk streaming.

Dengan mode on-demand, Kinesis Data Streams secara otomatis mengelola pecahan untuk memberikan throughput yang diperlukan. Anda hanya dikenakan biaya untuk throughput aktual yang Anda gunakan dan Kinesis Data Streams secara otomatis mengakomodasi kebutuhan throughput beban kerja Anda saat naik atau turun. Untuk informasi selengkapnya, lihat On-demand Fitur mode standar dan kasus penggunaan.

Dengan mode yang disediakan, Anda harus menentukan jumlah pecahan untuk aliran data. Kapasitas total aliran data adalah jumlah kapasitas pecahannya. Anda dapat menambah atau mengurangi jumlah pecahan dalam aliran data sesuai kebutuhan dan Anda dikenakan biaya untuk jumlah pecahan dengan tarif per jam. Untuk informasi selengkapnya, lihat Fitur mode yang disediakan dan kasus penggunaan.

Periode Retensi

Peri ode retensi adalah lamanya waktu rekaman data dapat diakses setelah ditambahkan ke aliran. Periode retensi streaming diatur ke default 24 jam setelah pembuatan. Anda dapat meningkatkan periode retensi hingga 8760 jam (365 hari) menggunakan IncreaseStreamRetentionPeriod operasi, dan mengurangi periode retensi hingga minimal 24 jam menggunakan DecreaseStreamRetentionPeriod operasi. Biaya tambahan berlaku untuk streaming dengan periode retensi yang ditetapkan lebih dari 24 jam. Untuk informasi selengkapnya, lihat Harga Amazon Kinesis Data Streams.

Produser

Produsen memasukkan catatan ke Amazon Kinesis Data Streams. Misalnya, server web yang mengirim data log ke aliran adalah produsen.

Konsumen

Konsu men mendapatkan catatan dari Amazon Kinesis Data Streams dan memprosesnya. Konsumen ini dikenal sebagaiAplikasi Aliran Data Amazon Kinesis.

Aplikasi Aliran Data Amazon Kinesis

Aplikasi Amazon Kinesis Data Streams adalah konsumen aliran yang biasanya berjalan pada armada instans EC2.

Ada dua jenis konsumen yang dapat Anda kembangkan: konsumen penggemar bersama dan konsumen fan-out yang ditingkatkan. Untuk mempelajari tentang perbedaan di antara mereka, dan untuk melihat bagaimana Anda dapat membuat setiap jenis konsumen, lihatBaca data dari Amazon Kinesis Data Streams.

Output dari aplikasi Kinesis Data Streams dapat dimasukkan untuk aliran lain, memungkinkan Anda membuat topologi kompleks yang memproses data secara real time. Aplikasi juga dapat mengirim data ke berbagai AWS layanan lainnya. Mungkin ada beberapa aplikasi untuk satu aliran, dan setiap aplikasi dapat mengkonsumsi data dari aliran secara independen dan bersamaan.

Shard

Pec ahan adalah urutan rekaman data yang diidentifikasi secara unik dalam aliran. Aliran terdiri dari satu atau lebih pecahan, yang masing-masing menyediakan unit kapasitas tetap. Setiap pecahan dapat mendukung hingga 5 transaksi per detik untuk pembacaan, hingga kecepatan baca data total maksimum 2 MB per detik dan hingga 1.000 catatan per detik untuk penulisan, hingga kecepatan penulisan data total maksimum 1 MB per detik (termasuk kunci partisi). Kapasitas data streaming Anda adalah fungsi dari jumlah pecahan yang Anda tentukan untuk streaming. Kapasitas total aliran adalah jumlah kapasitas pecahannya.

Jika kecepatan data meningkat, Anda dapat menambah atau mengurangi jumlah pecahan yang dialokasikan ke streaming Anda. Untuk informasi selengkapnya, lihat Ubah ulang aliran.

Kunci partisi

K unci partisi digunakan untuk mengelompokkan data berdasarkan pecahan dalam aliran. Kinesis Data Streams memisahkan catatan data milik aliran menjadi beberapa pecahan. Ini menggunakan kunci partisi yang terkait dengan setiap catatan data untuk menentukan pecahan mana yang dimiliki catatan data tertentu. Kunci partisi adalah string Unicode, dengan batas panjang maksimum 256 karakter untuk setiap kunci. Fungsi hash MD5 digunakan untuk memetakan kunci partisi ke nilai integer 128-bit dan untuk memetakan catatan data terkait ke pecahan menggunakan rentang kunci hash dari pecahan. Ketika aplikasi menempatkan data ke dalam aliran, itu harus menentukan kunci partisi.

Nomor Urutan

Setiap catatan data memiliki nomor urut yang unik per kunci partisi dalam pecahannya. Kinesis Data Streams menetapkan nomor urut setelah Anda menulis ke streaming dengan client.putRecords atau. client.putRecord Nomor urutan untuk kunci partisi yang sama umumnya meningkat seiring waktu. Semakin lama periode waktu antara permintaan menulis, semakin besar nomor urutannya.

catatan

Nomor urutan tidak dapat digunakan sebagai indeks untuk kumpulan data dalam aliran yang sama. Untuk memisahkan kumpulan data secara logis, gunakan kunci partisi atau buat aliran terpisah untuk setiap dataset.

Perpustakaan Klien Kinesis

Kinesis Client Library dikompilasi ke dalam aplikasi Anda untuk memungkinkan konsumsi data yang toleran terhadap kesalahan dari aliran. Kinesis Client Library memastikan bahwa untuk setiap pecahan ada prosesor rekaman yang menjalankan dan memproses pecahan itu. Perpustakaan juga menyederhanakan membaca data dari aliran. Kinesis Client Library menggunakan tabel Amazon DynamoDB untuk menyimpan metadata yang terkait dengan konsumsi data. Ini membuat tiga tabel per aplikasi yang memproses data. Untuk informasi selengkapnya, lihat Gunakan Perpustakaan Klien Kinesis.

Nama Aplikasi

Nama aplikasi Amazon Kinesis Data Streams mengidentifikasi aplikasi. Setiap aplikasi Anda harus memiliki nama unik yang dicakup oleh AWS akun dan Wilayah yang digunakan oleh aplikasi. Nama ini digunakan sebagai nama untuk tabel kontrol di Amazon DynamoDB dan namespace untuk metrik Amazon. CloudWatch

Server-Side Enkripsi

Amazon Kinesis Data Streams dapat secara otomatis mengenkripsi data sensitif saat produsen memasukkannya ke dalam aliran. Kinesis Data Streams menggunakan kunci AWS KMS master untuk enkripsi. Untuk informasi selengkapnya, lihat Perlindungan data di Amazon Kinesis Data Streams.

catatan

Untuk membaca dari atau menulis ke aliran terenkripsi, aplikasi produsen dan konsumen harus memiliki izin untuk mengakses kunci utama. Untuk informasi tentang pemberian izin ke aplikasi produsen dan konsumen, lihatIzin untuk menggunakan kunci KMS buatan pengguna.

catatan

Menggunakan enkripsi sisi server menimbulkan biaya AWS Key Management Service (AWS KMS). Untuk informasi selengkapnya, lihat Harga Layanan Manajemen AWS Utama.

Pengiriman data

Pengiriman data adalah kemampuan yang dikelola sepenuhnya yang mengirimkan data streaming dari aliran data Kinesis ke tujuan analitik atau penyimpanan tanpa infrastruktur apa pun untuk dikelola. Tidak ada konektor, aplikasi konsumen, atau sumber daya komputasi untuk disediakan. Kinesis Data Streams membaca dari streaming Anda, menyangga, dan mengumpulkan rekaman, dan mengirimkannya ke tujuan yang Anda konfigurasi dalam hitungan menit. Pengiriman data mendukung dua jenis tujuan: tabel streaming di Apache Iceberg, dan bucket Amazon S3 tujuan umum. Untuk informasi selengkapnya, lihat Tabel streaming dan pengiriman S3 untuk Amazon Kinesis Data Streams.

Pengiriman ke tabel streaming dalam format Iceberg

Terus materialisasikan data streaming sebagai tabel Apache Iceberg yang dapat dikueri di Tabel Amazon S3 tanpa memerlukan pipeline ETL. Pengiriman ke tabel streaming secara terus menerus mewujudkan catatan aliran sebagai tabel Apache Iceberg di Tabel Amazon S3. Built-in pemadatan inline cerdas menghilangkan proliferasi file kecil dan menjaga kinerja kueri dapat diprediksi tanpa mengorbankan kesegaran data. Kueri atau ubah data dengan mesin apa pun, termasuk Apache Spark, Trino, Apache Flink, atau Amazon Athena, untuk analitik real-time langsung pada data streaming Anda.

Pengiriman ke Amazon S3

Kirimkan data streaming dalam format sumber ke bucket Amazon S3 untuk pencadangan, pengarsipan, dan pemrosesan data hilir. Pengiriman ke Amazon S3 mengirimkan rekaman streaming langsung ke bucket Amazon S3 tujuan umum dalam format sumber asli. Gunakan kemampuan ini untuk retensi data jangka panjang, arsip kepatuhan, alur kerja pemutaran ulang dan pemrosesan ulang, atau sebagai lapisan pementasan untuk pipeline pemrosesan batch hilir. Dikombinasikan dengan pengiriman ke tabel streaming, Anda dapat membangun arsitektur rumah danau lengkap dengan tabel kueri real-time untuk analitik bersama pencadangan mentah dengan fidelitas penuh di Amazon S3.