Umum

T: Apa itu Amazon Kinesis Data Streams?

Dengan Kinesis Data Streams, Anda dapat membangun aplikasi kustom sendiri yang akan memproses atau menganalisis data streaming untuk kebutuhan tertentu. Anda dapat menambahkan berbagai jenis data seperti aliran klik, log aplikasi, dan media sosial ke aliran data Kinesis dari ratusan ribu sumber. Dalam hitungan detik, data akan tersedia untuk dibaca dan diproses aplikasi Anda dari aliran.

T: Apa saja yang dikelola oleh Kinesis Data Streams atas nama saya?

Kinesis Data Streams mengelola infrastruktur, penyimpanan, jaringan, dan konfigurasi yang diperlukan untuk streaming data pada tingkat throughput data Anda. Anda tidak perlu khawatir dengan penyediaan, deployment, atau pemeliharaan yang dijalankan pada perangkat keras, perangkat lunak, atau layanan lain bagi aliran data Anda. Selain itu, Kinesis Data Streams secara sinkron mereplikasi data pada tiga Zona Ketersediaan, menyediakan ketersediaan dan ketahanan data yang tinggi. Secara default, Kinesis Data Streams menskalakan kapasitas secara otomatis, membuat Anda terbebas dari pekerjaan menyediakan dan mengelola kapasitas. Anda dapat memilih mode yang disediakan jika ingin menyediakan dan mengelola throughput sesuai kebutuhan Anda.

T: Apa yang dapat saya lakukan dengan Kinesis Data Streams?

Kinesis Data Streams berguna untuk memindahkan data dari produsen data secara cepat dan memproses data tersebut secara berkelanjutan, baik dengan cara mengubah data tersebut sebelum dikirimkan ke penyimpanan data, menjalankan metrik dan analitik secara langsung, atau memperoleh aliran data yang lebih kompleks untuk pemrosesan lebih lanjut.

Berikut adalah skenario umum untuk menggunakan Amazon Kinesis Data Streams:

  • Masukan log dan umpan data yang dipercepat: Alih-alih menunggu untuk melakukan batch data tersebut, Anda dapat mengatur produsen data agar melakukan push data ke aliran data Amazon Kinesis segera setelah data tersebut dihasilkan agar mencegah hilangnya data jika terjadi kegagalan pada produsen. Misalnya, log sistem dan aplikasi secara berkelanjutan dapat ditambahkan ke aliran data dan tersedia untuk pemrosesan dalam hitungan detik.
  • Metrik dan pelaporan secara langsung: Anda dapat mengekstraksi metrik dan membuat laporan dari aliran data pada data Kinesis secara langsung. Misalnya, Aplikasi Amazon Kinesis dapat bekerja pada metrik dan melakukan pelaporan log sistem dan aplikasi saat data tersebut mengalir masuk, alih-alih hanya menunggu untuk menerima batch data.
  • Analitik data secara langsung: Dengan Amazon Kinesis Data Streams, Anda dapat menjalankan analisis aliran data secara langsung. Misalnya, Anda dapat menambahkan clickstream ke aliran data Kinesis dan memerintahkan aplikasi Kinesis menjalankan analitik secara langsung, memberi Anda pengetahuan tentang data Anda hanya dalam hitungan menit, bukan dalam hitungan jam atau hari.
  • Pengumpulan data log dan peristiwa: Kumpulkan data log dan peristiwa dari berbagai sumber seperti server, desktop, dan perangkat seluler. Kemudian, Anda dapat membangun aplikasi menggunakan Amazon Lambda atau Layanan Terkelola Amazon untuk Apache Flink untuk terus memproses data, membuat metrik, mendukung dasbor langsung, dan mengirimkan data agregat ke dalam penyimpanan seperti Amazon Simple Storage Service (Amazon S3).
  • Dukung aplikasi yang didorong peristiwa: Secara cepat bersinergi dengan AWS Lambda untuk merespons atau menyesuaikan kejadian langsung dalam aplikasi yang didorong peristiwa di lingkungan Anda, pada semua skala.

T: Bagaimana cara menggunakan Kinesis Data Streams?

Setelah mendaftar di AWS, Anda dapat mulai menggunakan Kinesis Data Streams dengan cara membuat aliran data Kinesis baik melalui Konsol Manajemen AWS ataupun operasi CreateStream. Lalu konfigurasikan agar penghasil data terus menambahkan data ke aliran data Anda. Anda dapat secara opsional mengirim data dari sumber daya yang telah ada di dalam layanan AWS, seperti Amazon DynamoDB, Amazon Aurora, Amazon CloudWatch, dan AWS IoT Core. Kemudian, Anda dapat menggunakan AWS Lambda, Layanan Terkelola Amazon untuk Apache Flink, atau Streaming AWS Glue untuk memproses data yang tersimpan di dalam Kinesis Data Streams secara cepat. Anda juga dapat membangun aplikasi kustom yang berjalan di Amazon Elastic Compute Cloud (Amazon EC2), Amazon Elastic Container Service (Amazon ECS), dan Amazon Elastic Kubernetes Service (Amazon EKS) menggunakan API Amazon Kinesis atau Pustaka Klien Amazon Kinesis (KCL).

Konsep utama

T: Apa itu serpihan, produsen, dan konsumen di dalam Kinesis Data Streams?

Serpihan memiliki urutan catatan data di dalam aliran. Serpihan berfungsi sebagai unit throughput dasar dari suatu aliran data Kinesis. Sebuah serpihan mampu mendukung 1 MB/detik, menulis 1.000 catatan per detik dan membaca 2 MB/detik. Batas serpihan memastikan performa aplikasi dapat diprediksi, agar memudahkan dalam merancang dan mengoperasikan alur kerja streaming data yang sangat andal. Produsen memasukkan catatan data ke dalam serpihan dan konsumen mendapatkan catatan data dari serpihan. Konsumen menggunakan serpihan untuk pemrosesan data paralel dan mengonsumsi data dalam urutan yang tepat di tempat data tersebut disimpan. Jika penulisan dan pembacaan melebihi batas serpihan, aplikasi produsen dan konsumen akan menemui hambatan, yang dapat ditangani dengan percobaan ulang.

T: Apa yang dimaksud dengan catatan?

Catatan adalah unit data dalam Amazon Kinesis data stream. Catatan terdiri dari nomor urutan, kunci partisi, dan blob data. Blob data adalah data yang menjadi perhatian yang ditambahkan oleh penghasil data Anda ke data stream. Ukuran blob data maksimum (muatan data sebelum pengkodean Base64) adalah 1 megabyte (MB).

T: Apa itu kunci partisi?

Kunci partisi digunakan untuk mengisolasi dan merutekan catatan ke serpihan aliran data yang berbeda. Kunci partisi ditentukan oleh produsen data pada saat Anda menambahkan data ke aliran data Kinesis. Misalnya, katakanlah Anda memiliki aliran data dengan dua serpihan (serpihan 1 dan serpihan 2). Anda dapat mengonfigurasi produsen data Anda agar menggunakan dua kunci partisi (kunci A dan kunci B) sehingga semua catatan dengan kunci A akan ditambahkan ke serpihan 1 dan semua catatan dengan kunci B akan ditambahkan ke serpihan 2.

T: Apa yang dimaksud dengan nomor urutan?

Nomor urutan adalah pengidentifikasi unik untuk setiap catatan. Nomor urutan ditetapkan oleh Amazon Kinesis pada saat produsen data memanggil operasi PutRecord atau PutRecords untuk menambahkan data ke aliran data Amazon Kinesis. Nomor urutan untuk kunci partisi yang sama umumnya meningkat seiring waktu; semakin lama periode waktu antara permintaan PutRecord atau PutRecords, maka semakin besar nomor urutannya.

Q: Apa itu mode kapasitas?

Mode kapasitas pada Kinesis Data Streams menunjukkan bagaimana kapasitas dikelola dan penggunaan dibebankan untuk aliran data. Anda dapat memilih antara mode yang disediakan dan mode sesuai permintaan. Dalam mode yang disediakan, Anda menentukan jumlah serpihan untuk aliran data. Kapasitas total aliran data adalah jumlah dari kapasitas serpihannya. Anda dapat menambah atau mengurangi jumlah serpihan dalam aliran data sesuai kebutuhan, dan Anda membayar jumlah serpihan sesuai tarif per jam. Dalam mode sesuai permintaan, AWS mengelola serpihan untuk menyediakan throughput yang diperlukan. Anda hanya membayar untuk throughput aktual yang digunakan, dan Kinesis Data Streams secara otomatis akan mengakomodasi kebutuhan throughput beban kerja Anda pada saat sedang naik atau turun. Semua Kinesis Data Streams menulis dan membaca API, bersama dengan fitur-fitur opsional seperti Extended Retention dan Enhanced Fan-Out, didukung dalam kedua mode kapasitas tersebut.

Q: Bagaimana cara menentukan antara mode sesuai permintaan dengan mode yang disediakan?

Mode sesuai permintaan adalah yang paling cocok untuk beban kerja dengan pola lalu lintas yang tidak dapat diprediksi dan sangat bervariasi. Anda sebaiknya menggunakan mode ini jika ingin agar AWS mengelola kapasitas atas nama Anda atau ingin membayar dengan harga sesuai throughput. Mode yang disediakan adalah yang paling cocok digunakan pada lalu lintas yang dapat diprediksi, di mana kebutuhan kapasitas mudah untuk diperkirakan. Anda sebaiknya memilih menggunakan mode yang disediakan jika Anda ingin mendapatkan kontrol terperinci terhadap bagaimana data Anda didistribusikan pada seluruh serpihan. Mode yang disediakan juga cocok jika Anda ingin menyediakan serpihan tambahan sehingga aplikasi yang menggunakan data dapat memiliki lebih banyak throughput terbaca untuk mempercepat pemrosesan secara keseluruhan.

Q: Apakah saya dapat beralih antara mode sesuai permintaan dengan mode yang disediakan?

Ya. Anda dapat beralih antara mode sesuai permintaan dengan mode yang disediakan sebanyak dua kali sehari. Jumlah serpihan aliran data Anda akan tetap sama jika Anda beralih dari mode yang disediakan ke mode sesuai permintaan begitu pun sebaliknya. Dengan beralih dari mode kapasitas yang disediakan ke mode kapasitas sesuai permintaan, aliran data Anda akan mempertahankan jumlah serpihan apa pun yang dimilikinya sebelum transisi dilakukan. Tetapi, sejak saat itu Kinesis Data Streams akan memantau lalu lintas data Anda dan menskalakan naik turunnya jumlah serpihan aliran data sesuai permintaan tergantung pada peningkatan atau penurunan lalu lintas.

Menambahkan data ke Kinesis Data Streams

T: Bagaimana cara menambahkan data ke aliran data Amazon Kinesis saya?

Anda dapat menambahkan data ke aliran data Kinesis melalui operasi PutRecord dan PutRecords, KPL, atau Amazon Kinesis Agent.

T: Apa perbedaan antara PutRecord dan PutRecords?

Operasi PutRecord memungkinkan satu catatan data dalam sebuah panggilan API, sedangkan operasi PutRecords memungkinkan beberapa catatan data sekaligus dalam sebuah panggilan API. Untuk informasi selengkapnya, lihat PutRecord dan PutRecords.

T: Apa itu Amazon Kinesis Producer Library (KPL)?

KPL merupakan pustaka yang mudah digunakan dan sangat dapat dikonfigurasi, yang membantu Anda memasukkan data ke aliran data Amazon Kinesis. KPL memberikan antarmuka yang sederhana, asinkron, dan andal yang memungkinkan Anda mencapai throughput produsen yang tinggi dengan sumber daya klien yang minimal.

T: Apa itu Amazon Kinesis Agent?

Amazon Kinesis Agent adalah aplikasi Java yang sudah dibangun sebelumnya, yang memberikan cara mudah untuk mengumpulkan dan mengirimkan data ke aliran data Amazon Kinesis Anda. Anda dapat menginstal agen ini pada lingkungan server berbasis Linux seperti server web, server log, dan server basis data. Agen ini memantau file tertentu dan mengirim data ke data stream Anda. Untuk informasi selengkapnya, lihat Menulis dengan Agen.

T: Data apa yang dihitung dalam throughput data aliran data Amazon Kinesis selama panggilan PutRecord atau PutRecords?

Blob data, kunci partisi, dan nama aliran data Anda adalah parameter yang dibutuhkan pada panggilan PutRecord atau PutRecords. Ukuran blob data Anda (sebelum enkode Base64) dan kunci partisi akan dihitung sesuai throughput data dari aliran data Amazon Kinesis Anda, yang ditentukan oleh jumlah serpihan dalam aliran data.

Membaca dan memproses data dari Kinesis Data Streams

T: Apa itu konsumen, dan tipe konsumen apa saja yang ditawarkan oleh Kinesis Data Streams?

Konsumen adalah aplikasi yang memproses semua data dari aliran data Kinesis. Anda dapat memilih antara tipe konsumen fan-out bersama dan fan-out yang ditingkatkan untuk membaca data dari aliran data Kinesis. Konsumen fan-out bersama berbagi throughput baca serpihan sebesar 2 MB/detik serta lima transaksi per detik, dan memerlukan penggunaan API GetRecords. Konsumen fan-out yang ditingkatkan mendapatkan jatah throughput baca sebesar 2 MB/detik, memungkinkan banyak konsumen membaca data dari pengaliran yang sama secara paralel, tanpa bersaing untuk throughput baca dengan konsumen lain. Anda perlu menggunakan API SubscribeToShard jika memilih konsumen fan-out yang ditingkatkan. Sebaiknya gunakan konsumen fan-out yang ditingkatkan jika Anda ingin menambahkan lebih dari satu konsumen ke aliran data Anda.

T: Bagaimana cara memproses data yang diambil dan disimpan di Kinesis Data Streams?

Anda dapat menggunakan layanan terkelola seperti AWS Lambda, Layanan Terkelola Amazon untuk Apache Flink, dan AWS Glue untuk memproses data yang tersimpan di Kinesis Data Streams. Layanan terkelola ini menangani penyediaan dan pengelolaan infrastruktur yang mendasarinya sehingga Anda dapat fokus pada penulisan logika bisnis. Anda juga dapat mengirimkan data yang disimpan di dalam Kinesis Data Streams ke Amazon S3, Amazon OpenSearch Service, Amazon Redshift, dan titik akhir HTTP kustom menggunakan integrasi yang sudah dibangun sebelumnya dengan Kinesis Data Firehose. Anda juga dapat membangun aplikasi kustom menggunakan Amazon Kinesis Client Library, library yang sudah dibangun sebelumnya, atau API Amazon Kinesis Data Streams.

T: Apa itu Amazon Kinesis Client Library (KCL)?

KCL untuk Java, Python, Ruby, Node.js, dan .NET adalah pustaka yang akan membantu Anda membangun aplikasi Amazon Kinesis dengan mudah untuk membaca dan memproses data dari aliran data Amazon Kinesis.

KCL menangani masalah kompleks seperti penyesuaian dengan perubahan volume aliran data, penyeimbangan beban data streaming, pengoordinasian layanan terdistribusi, dan pemrosesan data yang toleran terhadap kegagalan. KCL memungkinkan Anda untuk berfokus pada logika bisnis pada saat membuat aplikasi. Silakan merujuk ke dokumentasi Kinesis Data Streams di sini untuk detail selengkapnya tentang KCL.

T: Apa itu API SubscribeToShard?

API SubscribeToShard adalah API streaming performa tinggi yang melakukan push data dari serpihan ke konsumen dengan koneksi yang persisten tanpa adanya siklus permintaan dari klien. API SubscribeToShard menggunakan protokol HTTP/2 untuk mengirimkan data ke konsumen yang terdaftar setiap kali data baru masuk ke serpihan, biasanya dalam 70 milidetik, menawarkan pengiriman yang sekitar 65% lebih cepat dibandingkan dengan API GetRecords. Konsumen akan menikmati pengiriman cepat bahkan ketika banyak konsumen yang terdaftar secara bersamaan membaca dari serpihan yang sama.

T: Apa itu fan-out yang ditingkatkan?

Fan-out yang ditingkatkan adalah fitur opsional untuk konsumen Kinesis Data Streams yang memberikan pipa throughput logis sebesar 2 MB/dtk antara konsumen dengan serpihan. Hal ini memungkinkan Anda untuk menskalakan jumlah konsumen yang membaca dari aliran data secara paralel, sementara tetap mempertahankan kinerja yang tinggi.

T: Kapan sebaiknya saya menggunakan fan-out yang ditingkatkan?

Anda sebaiknya menggunakan fan-out yang ditingkatkan jika Anda memiliki atau memperkirakan akan memiliki banyak konsumen yang mengambil data dari pengaliran secara paralel, atau jika Anda memiliki setidaknya satu konsumen yang memerlukan penggunaan API SubscribeToShard untuk memberikan kecepatan pengiriman data sub-200 milidetik antara produsen dengan konsumen.

T: Bagaimana cara konsumen menggunakan fan-out yang ditingkatkan?

Konsumen menggunakan fan-out yang ditingkatkan dengan cara mengambil data menggunakan API SubscribeToShard. Nama konsumen yang terdaftar digunakan dalam SubscribeToShard, yang membuat penggunaan manfaat fan-out yang ditingkatkan tersedia bagi konsumen yang terdaftar.

T: Dapatkah saya membuat beberapa konsumen menggunakan fan-out yang ditingkatkan, dan yang lainnya tidak?

Ya. Ya, Anda dapat membuat beberapa konsumen menggunakan fan-out yang ditingkatkan dan yang lainnya tidak menggunakan fan-out yang ditingkatkan pada waktu yang bersamaan. Penggunaan fan-out yang ditingkatkan tidak memengaruhi batas serpihan pada penggunaan GetRecords tradisional.

T: Apakah saya perlu menggunakan fan-out yang ditingkatkan jika saya ingin menggunakan SubscribeToShard?

Ya. Untuk menggunakan SubscribeToShard, Anda perlu mendaftarkan konsumen yang mengaktifkan fan-out yang ditingkatkan. Secara default, konsumen Anda akan menggunakan fan-out yang ditingkatkan secara otomatis apabila data diambil melalui SubscribeToShard.

Mode sesuai permintaan

T: Berapakah kuota default throughput untuk menuliskan data ke dalam aliran data dengan menggunakan mode sesuai permintaan?

Aliran data baru yang dibuat dalam mode sesuai permintaan memiliki kuota 4 MB/detik dan 4.000 catatan per detik untuk penulisan. Secara default, pengaliran ini secara otomatis menaikkan skala hingga 200 MB/detik dan 200.000 catatan per detik untuk penulisan.

T: Bagaimana cara aliran data menskalakan mode sesuai permintaan untuk menangani peningkatan throughput tulis?

Aliran data dalam mode sesuai permintaan mengakomodasi hingga dua kali lipat kecepatan throughput tulis puncak sebelumnya yang diamati dalam 30 hari terakhir. Ketika throughput tulis aliran data Anda mencapai puncak yang baru, Kinesis Data Streams akan menskalakan kapasitas pengaliran secara otomatis. Misalnya, jika aliran data Anda memiliki throughput tulis yang bervariasi antara 10 MB/detik dan 40 MB/detik, Kinesis Data Streams akan memastikan bahwa Anda dapat dengan mudah memberikan lonjakan untuk menggandakan throughput puncak sebesar 80 MB/detik. Selanjutnya, jika aliran data yang sama mempertahankan throughput puncak baru sebesar 50 MB/detik, Data Streams akan memastikan tersedianya kapasitas yang cukup untuk menyerap 100 MB/detik throughput tulis. Namun, Anda akan melihat pengecualian “ProvisionedThroughputExceeded” jika lalu lintas Anda meningkat lebih dari dua kali lipat dari puncak sebelumnya dalam durasi 15 menit. Anda perlu mencoba kembali perintah pembatasan ini.

T: Berapa batas throughput untuk membaca data dari pengaliran pada mode sesuai permintaan?

Kapasitas baca agregat mode sesuai permintaan akan meningkat secara proporsional terhadap kapasitas tulis throughput untuk memastikan bahwa aplikasi yang mengonsumsi data selalu memiliki throughput baca yang memadai untuk memproses data yang masuk secara langsung. Anda mendapatkan setidaknya dua kali lipat throughput tulis yang dapat digunakan untuk membaca data menggunakan API GetRecords. Kami menyarankan untuk menggunakan satu konsumen bersama dengan API GetRecord sehingga Anda akan memiliki cukup ruang untuk menyesuaikan diri saat aplikasi perlu memulihkan diri dari waktu henti. Untuk menambahkan lebih dari satu aplikasi yang mengonsumsi, Anda perlu menggunakan fan-out yang ditingkatkan, yang mendukung penambahan hingga 20 konsumen ke aliran data menggunakan API SubscribeToShard, yang masing-masing aplikasi memiliki throughput khusus.

Mode yang disediakan

T: Apa saja batasan pada Amazon Kinesis Data Streams dalam mode yang disediakan?

Throughput aliran data Amazon Kinesis dirancang untuk menskalakan tanpa batas dengan meningkatkan jumlah serpihan dalam sebuah aliran data.

Q: Bagaimana cara menskalakan kapasitas Kinesis Data Streams dalam mode yang disediakan?

Anda dapat menaikkan skala kapasitas aliran data Kinesis dalam mode yang disediakan dengan cara memisahkan serpihan yang sudah ada menggunakan API SplitShard. Anda dapat menurunkan skala kapasitas dengan menggabungkan dua serpihan menggunakan API MergeShard. Atau, Anda dapat menggunakan API UpdateShardCount untuk menaikkan skala (atau menurunkan) kapasitas pengaliran ke jumlah serpihan tertentu.

T: Bagaimana cara menentukan throughput aliran data Amazon Kinesis dalam mode yang disediakan?

Throughput aliran data Amazon Kinesis ditentukan oleh jumlah serpihan dalam aliran data. Ikuti langkah-langkah di bawah ini untuk memperkirakan jumlah serpihan awal yang diperlukan oleh aliran data Anda. Perhatikan bahwa Anda dapat menyesuaikan jumlah serpihan secara dinamis dalam aliran data Anda dengan cara resharding.

Perkirakan ukuran rata-rata catatan yang ditulis ke dalam aliran data dalam satuan kilobita (KB), yang dibulatkan hingga mendekati 1 KB. (average_data_size_in_KB)

Perkirakan jumlah catatan yang dibuat ke data stream per detik. (number_of_records_per_second)

Tentukan jumlah Amazon Kinesis Applications yang mengonsumsi data secara bersamaan dan secara terpisah dari aliran data. (number_of_consumers)

Hitung bandwidth tulis yang masuk dalam satuan KB (incoming_write_bandwidth_in_KB), yaitu sama dengan average_data_size_in_KB dikalikan number_of_records_per_seconds.

Hitung bandwidth baca yang keluar dalam satuan KB (outgoing_read_bandwidth_in_KB), yaitu sama dengan incoming_write_bandwidth_in_KB dikalikan number_of_consumers.

Anda kemudian dapat menghitung jumlah awal serpihan (number_of_shards) yang dibutuhkan aliran data Anda menggunakan rumus berikut: number_of_shards = (incoming_write_bandwidth_in_KB/1000, outgoing_read_bandwidth_in_KB/2000) maksimal

T: Berapa throughput maksimum yang dapat saya minta untuk aliran data Amazon Kinesis pada mode yang disediakan?

Throughput aliran data Amazon Kinesis dirancang untuk menskalakan tanpa batas. Kuota serpihan secara default adalah 500 serpihan per pengaliran untuk Wilayah AWS berikut: AS Timur (Virginia Utara), AS Barat (Oregon), dan Eropa (Irlandia). Untuk semua Wilayah lainnya, kuota serpihan secara default adalah 200 serpihan per pengaliran. Anda dapat meminta penambahan kuota serpihan menggunakan konsol AWS Service Quotas.

T: Apa yang terjadi jika pengaliran data Amazon Kinesis melebihi batas kapasitas saat produsen data menambahkan data ke aliran data pada mode yang disediakan?

Dalam mode yang disediakan, batas kapasitas aliran data Kinesis ditentukan oleh jumlah serpihan dalam aliran data. Batas tersebut dapat terlampaui baik karena jumlah throughput data maupun karena jumlah catatan PUT. Jika batas kapasitas terlampaui, panggilan letakkan data akan ditolak dengan pengecualian ProvisionedThroughputExceeded. Jika hal ini terjadi karena peningkatan sementara pada kecepatan data input pada aliran data, percobaan ulang oleh produsen data nantinya akan menyelesaikan permintaan tersebut. Jika hal ini terjadi karena peningkatan terus-menerus pada kecepatan data input pada aliran data, sebaiknya Anda menambah jumlah serpihan dalam aliran data untuk memnyediakan kapasitas yang cukup bagi panggilan letakkan data agar berhasil dengan konsisten. Pada kasus di mana keduanya terjadi, metrik Amazon CloudWatch memungkinkan Anda untuk mempelajari tentang perubahan kecepatan data input aliran data dan terjadinya pengecualian ProvisionedThroughputExceeded.

T: Apa yang terjadi jika batas kapasitas aliran data Amazon Kinesis terlampaui pada saat Amazon Kinesis Application membaca data dari aliran data dalam mode yang disediakan?

Dalam mode yang disediakan, batas kapasitas aliran data Kinesis ditentukan oleh jumlah serpihan dalam aliran data. Batas tersebut dapat terlampaui baik karena throughput data maupun jumlah panggilan baca data. Ketika batas kapasitas terlampaui, panggilan baca data akan ditolak dengan pengecualian ProvisionedThroughputExceeded. Jika hal ini terjadi karena peningkatan sementara pada kecepatan data output pada aliran data, percobaan ulang oleh Amazon Kinesis Application nantinya akan menyelesaikan permintaan tersebut. Jika hal ini terjadi karena peningkatan terus-menerus pada kecepatan data output pada aliran data, sebaiknya Anda menambah jumlah serpihan dalam aliran data untuk menyediakan kapasitas yang cukup bagi panggilan baca data agar berhasil dengan konsisten. Pada kasus ketika keduanya terjadi, metrik Amazon CloudWatch memungkinkan Anda untuk mempelajari perubahan laju data output aliran data dan terjadinya pengecualian ProvisionedThroughputExceeded.

Retensi data yang diperpanjang dan retensi data jangka panjang

T: Berapa lama periode retensi yang didukung oleh Kinesis Data Streams?

Periode retensi default 24 jam mencakup skenario di mana jeda intermiten dalam pemrosesan memerlukan penyesuaian dengan data waktu nyata. Retensi tujuh hari memungkinkan Anda memproses ulang data hingga tujuh hari untuk mengatasi potensi kehilangan data hilir. Retensi data jangka panjang yang melebihi tujuh hari dan hingga 365 hari memungkinkan Anda memproses ulang data lama untuk kasus penggunaan seperti pengujian kembali algoritma, pengisian ulang penyimpanan data, dan pengauditan.

T: Dapatkah saya menggunakan API Kinesis Data Streams yang sudah ada untuk membaca data yang lebih lama dari tujuh hari?

Ya. Anda dapat menggunakan getShardIterator, GetRecords, dan APU SubscribeToShard yang sama untuk membaca data yang telah disimpan selama lebih dari tujuh hari. Konsumen dapat memindahkan iterator ke lokasi yang diinginkan pada pengaliran, mengambil peta serpihan (termasuk yang terbuka dan yang tertutup), dan membaca catatan.

T: Apakah ada API yang baru untuk membantu membaca data lama lebih jauh?

Ya. Terdapat peningkatan API untuk ListShards, GetRecords, dan API SubscribeToShard. Anda dapat menggunakan opsi pemfilteran baru dengan parameter TimeStamp yang tersedia di API ListShards untuk mengambil peta serpihan dan meningkatkan kinerja pembacaan data lama secara efisien. Filter TimeStamp memungkinkan aplikasi untuk menemukan dan menghitung serpihan dari titik waktu yang Anda inginkan untuk memproses ulang data dan mengurangi kebutuhan untuk memulai di trim horizon. GetRecords dan SubscribeToShards memiliki bidang baru yaitu ChildShards, yang memungkinkan Anda menemukan serpihan turunan dengan cepat saat aplikasi selesai membaca data dari serpihan yang tertutup, alih-alih melewati peta serpihan lagi. Penemuan serpihan yang cepat akan mengefisienkan penggunaan sumber daya komputasi aplikasi untuk segala ukuran aliran, terlepas dari periode retensi data.

T: Kapan saya dapat menggunakan peningkatan API? 

Anda sebaiknya memilih peningkatan API jika Anda berencana untuk menyimpan data lebih lama dan menskalakan kapasitas pengaliran Anda secara teratur. Operasi penskalaan pengaliran akan menutup serpihan yang sudah ada dan membuka serpihan turunan yang baru. Data di semua serpihan yang terbuka dan tertutup akan disimpan sampai dengan akhir periode retensi. Sehingga jumlah total serpihan akan meningkat secara linier dengan periode retensi yang lebih lama dan beberapa kali operasi penskalaan. Peningkatan pada peta serpihan ini mengharuskan Anda menggunakan ListShards dengan filter TimeStamp serta bidang ChildShards dalam GetRecords, dan API SubscribeToShard untuk penemuan serpihan yang efisien guna pengambilan data. Anda perlu memperbarui KCL Anda ke versi terakhir (1.x untuk konsumen standar dan 2.x untuk konsumen fan-out yang ditingkatkan) guna mendapatkan fitur ini.

T: Apakah Kinesis Data Streams mendukung pendaftaran skema?

Ya. Klien Kinesis Data Streams dapat menggunakan Registri Skema AWS Glue, sebuah fitur nirserver AWS Glue, baik melalui KPL maupun KCL atau melalui API Registri Skema AWS Glue di AWS Java SDK. Registri Skema tersedia tanpa biaya tambahan. 

Kunjungi dokumentasi pengguna Registri Skema untuk memulai dan mempelajari selengkapnya.

Mengelola Kinesis Data Streams

T: Bagaimana cara mengubah throughput aliran data Amazon Kinesis dalam mode yang disediakan?

Terdapat dua cara untuk mengubah throughput aliran data Anda. Anda dapat menggunakan API UpdateShardCount atau AWS Management Console untuk menskalakan jumlah serpihan dalam suatu aliran data, atau Anda dapat mengubah throughput aliran data Amazon Kinesis dengan menyesuaikan banyaknya serpihan dalam aliran data (resharding).

T: Berapa lama waktu yang dibutuhkan untuk mengubah throughput aliran data Amazon Kinesis yang dijalankan dalam mode yang disediakan menggunakan UpdateShardCount atau AWS Management Console?

Permintaan penskalaan yang umum mungkin memerlukan waktu beberapa menit saja untuk diselesaikan. Permintaan penskalaan yang lebih besar akan memerlukan waktu yang lebih lama dari permintaan penskalaan yang lebih kecil.

T: Apakah Kinesis Data Streams akan tetap tersedia jika saya mengganti throughput aliran data Kinesis dalam mode yang disediakan atau jika penskalaan terjadi secara otomatis pada mode sesuai permintaan?

Ya. Anda dapat terus menambahkan data ke dalam dan membaca data dari Amazon aliran data Kinesis saat Anda menggunakan UpdateShardCount atau melakukan resharding untuk mengubah throughput aliran data, atau jika Kinesis Data Streams melakukannya secara otomatis dalam mode sesuai permintaan.

T: Bagaimana cara memantau operasi dan performa aliran data Amazon Kinesis saya?

Konsol Manajemen Amazon Kinesis Data Streams menampilkan metrik operasional dan performa utama seperti throughput input dan output data dari aliran data Kinesis Anda. Kinesis Data Streams juga berintegrasi dengan Amazon CloudWatch sehingga Anda dapat mengumpulkan, menampilkan, dan menganalisis metrik CloudWatch terkait aliran data serta serpihan data dalam aliran data tersebut. Untuk informasi selengkapnya tentang metrik Kinesis Data Streams, lihat Memantau Amazon Kinesis Data Streams dengan Amazon CloudWatch.

Perhatikan bahwa semua metrik tingkat aliran tersedia secara gratis. Semua metrik tingkat serpihan yang diaktifkan akan dikenai biaya sesuai harga Amazon CloudWatch.

T: Bagaimana cara mengelola dan mengontrol akses ke aliran data Amazon Kinesis saya?

Kinesis Data Streams berintegrasi dengan AWS Identity and Access Management (IAM), sebuah layanan yang membantu Anda mengontrol akses ke layanan dan sumber daya AWS secara aman untuk pengguna Anda. Misalnya, Anda dapat membuat kebijakan yang hanya mengizinkan pengguna atau grup tertentu untuk menambahkan data ke aliran data Anda. Anda juga dapat melampirkan kebijakan berbasis sumber daya ke aliran data atau konsumen terdaftar untuk mengontrol akses di tingkat sumber daya. Untuk informasi selengkapnya tentang manajemen akses dan kontrol aliran data Anda, lihat Mengontrol Akses ke Sumber Daya Amazon Kinesis Data Streams menggunakan IAM.

T: Bagaimana cara berbagi akses ke aliran data saya dengan akun lain?

Anda dapat menggunakan peran asumsi IAM atau kebijakan berbasis sumber daya untuk berbagi akses dengan akun lain. Untuk berbagi akses dengan fungsi AWS Lambda lintas akun, lampirkan kebijakan berbasis sumber daya ke aliran data atau konsumen Anda untuk memberikan akses ke peran eksekusi fungsi Lambda. Lihat selengkapnya di Menggunakan AWS Lambda dengan Amazon Kinesis.

T: Bagaimana cara mencatat panggilan API yang dibuat ke aliran data Amazon Kinesis untuk analisis keamanan dan pemecahan masalah operasional?

Kinesis Data Streams berintegrasi dengan Amazon CloudTrail, sebuah layanan yang mencatat panggilan API AWS untuk akun Anda dan mengirim file log kepada Anda. Untuk informasi selengkapnya tentang pembuatan log panggilan API dan daftar operasi API Amazon Kinesis yang didukung, lihat Logging Amazon Kinesis API calls Using Amazon CloudTrail.

T: Bagaimana cara mengelola aliran data Amazon Kinesis dan biaya yang terkait secara efektif?

Amazon Kinesis Data Streams memungkinkan Anda menandai aliran data Amazon Kinesis untuk manajemen sumber daya dan biaya yang lebih mudah. Tanda adalah label yang ditentukan pengguna, yang dinyatakan sebagai pasangan nilai kunci yang membantu mengatur sumber daya AWS. Misalnya, Anda dapat menandai aliran data berdasarkan pusat biaya sehingga Anda dapat mengelompokkan dan melacak biaya Kinesis Data Streams berdasarkan pusat biaya. Untuk informasi selengkapnya tentang penandaan Amazon Kinesis Data Streams, lihat Menandai Amazon Kinesis Data Streams Anda.

Keamanan

T: Pada saat saya menggunakan Kinesis Data Streams, seberapa aman data saya?

Amazon Kinesis aman secara default. Akses ke sumber daya Kinesis yang dibuat hanya dimiliki oleh pemilik akun dan aliran data. Kinesis mendukung autentikasi pengguna untuk mengontrol akses ke data. Anda dapat menggunakan kebijakan IAM untuk memberikan izin kepada pengguna atau grup pengguna secara selektif. Anda dapat secara aman menjalankan operasi put dan get data dari Kinesis melalui titik akhir SSL menggunakan protokol HTTPS. Jika memerlukan keamanan ekstra, Anda dapat menggunakan enkripsi sisi server dengan kunci AWS Key Management Service (AWS KMS) untuk mengenkripsi data yang tersimpan dalam aliran data Anda. AWS KMS memungkinkan Anda menggunakan kunci KMS yang dibuat oleh AWS untuk enkripsi, atau jika ingin, Anda dapat memasukkan kunci KMS milik sendiri ke dalam AWS KMS. Terakhir, Anda dapat menggunakan pustaka enkripsi milik sendiri untuk mengenkripsi data pada sisi klien sebelum meletakkan data ke dalam Kinesis.

T: Apakah saya dapat mengakses API Kinesis Data Streams secara privat dari Amazon Virtual Private Cloud (Amazon VPC) tanpa menggunakan IP publik?

Ya. Ya, Anda dapat mengakses API Kinesis Data Streams secara privat dari Amazon VPC dengan membuat VPC Endpoint. Dengan VPC Endpoint, perutean antara VPC dan API Kinesis Data Streams akan ditangani oleh jaringan AWS tanpa perlu gateway internet, gateway NAT, atau koneksi VPN. Generasi terkini Titik Akhir VPC yang digunakan oleh Kinesis Data Streams didukung oleh AWS PrivateLink, sebuah teknologi yang memungkinkan konektivitas privat antara layanan-layanan AWS yang menggunakan Antarmuka Jaringan Elastis (ENI) dengan IP privat pada VPC Anda. Untuk mempelajari selengkapnya tentang PrivateLink, kunjungi dokumentasi PrivateLink.

Enkripsi

T: Apakah saya dapat mengenkripsi data yang saya letakkan di aliran data Kinesis?

Ya, dan terdapat dua opsi untuk melakukannya. Anda dapat menggunakan enkripsi sisi server, sebuah fitur terkelola penuh yang secara otomatis mengenkripsi dan mendekripsi data saat Anda meletakkan dan mendapatkan data tersebut dari suatu aliran data. Anda juga dapat menulis data terenkripsi ke aliran data dengan mengenkripsi dan mendekripsi pada sisi klien.

T: Mengapa saya sebaiknya menggunakan enkripsi sisi server alih-alih enkripsi sisi klien?

Anda dapat menentukan enkripsi sisi server dibandingkan enkripsi sisi klien untuk salah satu alasan berikut:

  • Kesulitan untuk memberlakukan enkripsi sisi klien.
  • Menginginkan keamanan lapis kedua di atas enkripsi sisi klien.
  • Kesulitan menerapkan skema manajemen kunci sisi klien.

T: Apa itu enkripsi sisi server?

Enkripsi sisi server untuk Kinesis Data Streams secara otomatis mengenkripsi data menggunakan kunci AWS KMS yang ditentukan pengguna sebelum ditulis ke lapisan penyimpanan aliran data, dan mendekripsi data setelah diambil dari penyimpanan. Enkripsi membuat penulisan menjadi tidak mungkin dan muatan serta kunci partisi tidak dapat dibaca kecuali pengguna yang menulis atau membaca dari aliran data memiliki izin untuk menggunakan kunci yang dipilih untuk enkripsi pada aliran data. Sehingga, enkripsi sisi server dapat memudahkan pemenuhan persyaratan keamanan internal dan persyaratan kepatuhan yang mengatur data Anda.

Dengan enkripsi sisi server, aplikasi sisi klien Anda (produsen dan konsumen) tidak perlu mengetahui enkripsi, tidak perlu mengelola kunci KMS atau operasi kriptografi, dan data Anda dienkripsi saat diam dan bergerak di dalam layanan Kinesis Data Streams. Semua kunci KMS yang digunakan oleh fitur enkripsi sisi server disediakan oleh AWS KMS. AWS KMS memudahkan penggunaan kunci KMS yang dikelola AWS pada Kinesis (metode enkripsi “satu klik”), kunci yang dikelola pelanggan AWS KMS Anda sendiri, atau kunci KMS yang Anda impor untuk enkripsi.

T: Apakah ada panduan untuk memulai enkripsi sisi server?

Ya, panduan memulai terdapat di dokumentasi pengguna.

T: Apakah enkripsi sisi server mengintervensi bagaimana aplikasi saya berinteraksi dengan Kinesis Data Streams?

Mungkin. Hal ini bergantung pada kunci yang Anda gunakan untuk enkripsi dan izin yang mengatur akses ke kunci tersebut.

  • Jika Anda menggunakan kunci KMS yang dikelola AWS untuk Kinesis (alias kunci = aws/kinesis), aplikasi Anda tidak akan terpengaruh dengan pengaktifan atau penonaktifan enkripsi dengan kunci tersebut.
  • Jika Anda menggunakan kunci KMS yang berbeda, seperti kunci AWS KMS kustom atau yang Anda impor ke layanan AWS KMS, serta jika produsen dan konsumen aliran data Anda tidak memiliki izin untuk menggunakan kunci KMS yang digunakan untuk enkripsi, maka PUT Anda dan permintaan GET akan gagal. Sebelum Anda dapat menggunakan enkripsi sisi server, Anda harus mengonfigurasi kebijakan kunci AWS KMS untuk mengizinkan enkripsi dan dekripsi pesan. Untuk contoh dan informasi selengkapnya tentang izin AWS KMS, lihat Izin API AWS KMS: Tindakan dan Referensi Sumber Daya di Panduan Developer AWS Key Management Service atau panduan izin di dokumentasi pengguna enkripsi sisi server Kinesis Data Streams.

T: Apakah terdapat biaya tambahan terkait dengan penggunaan enkripsi sisi server?

Ya, namun jika Anda menggunakan kunci KMS yang dikelola AWS untuk Kinesis dan tidak melebihi biaya penggunaan API KMS AWS Tingkat Gratis, penggunaan enkripsi sisi server Anda adalah gratis. Berikut ini menjelaskan biaya menurut sumber daya:

Kunci:

Kunci KMS yang dikelola AWS untuk Kinesis (alias = “aws/kinesis”) bersifat gratis.
Kunci KMS yang dikelola pelanggan dikenakan biaya kunci KMS. Pelajari selengkapnya.

Penggunaan API KMS:

Biaya penggunaan API berlaku untuk setiap kunci KMS, termasuk kunci kustom. Kinesis Data Streams memanggil KMS kurang lebih setiap lima menit pada saat merotasi kunci data. Pada 30 hari dalam satu bulan, total biaya panggilan API KMS yang diinisiasi oleh aliran data Kinesis semestinya kurang dari beberapa dolar. Perhatikan bahwa biaya ini menskalakan banyaknya kredensial pengguna yang Anda gunakan pada produsen dan konsumen data karena masing-masing kredensial pengguna memerlukan panggilan API yang unik ke AWS KMS. Ketika Anda menggunakan IAM role untuk autentikasi, setiap panggilan peran diasumsikan akan menghasilkan kredensial pengguna yang unik, dan Anda perlu melakukan cache kredensial pengguna yang akan dikembalikan melalui panggilan peran yang diasumsikan untuk menghemat biaya KMS.

T: Wilayah AWS mana saja yang menawarkan enkripsi sisi server untuk Kinesis Data Streams?

Enkripsi sisi server Kinesis Data Streams tersedia di Wilayah AWS GovCloud dan semua Wilayah publik kecuali Wilayah Tiongkok (Beijing).

T: Bagaimana cara memulai, memperbarui, atau menghapus enkripsi sisi server dari suatu aliran data?

Semua operasi ini dapat diselesaikan menggunakan Konsol Manajemen AWS atau AWS SDK. Untuk mempelajari selengkapnya, lihat panduan memulai enkripsi sisi server Kinesis Data Streams.

T: Algoritme enkripsi apa yang digunakan untuk enkripsi sisi server?

Kinesis Data Streams menggunakan algoritme AES-GCM 256 untuk enkripsi.

T: Jika saya mengenkripsi aliran data yang memiliki data tertulis di dalamnya, baik dalam teks biasa atau ciphertext, apakah semua data di aliran data akan terenkripsi atau terdekripsi jika saya memperbarui enkripsi?

Tidak. Hanya data baru yang tertulis dalam aliran data yang akan terenkripsi (atau dibiarkan terdekripsi) oleh aplikasi enkripsi baru.

T: Apa yang dienkripsi oleh enkripsi sisi server untuk Kinesis Data Streams?

Enkripsi sisi server mengenkripsi muatan pesan bersama dengan kunci partisi, yang ditentukan oleh aplikasi penghasil data stream.

T: Apakah enkripsi sisi server adalah fitur khusus shard atau fitur khusus stream?

Enkripsi sisi server adalah fitur khusus pengaliran.

T: Apakah saya dapat mengubah kunci KMS yang digunakan untuk mengenkripsi aliran data tertentu?

Ya, dengan Konsol Manajemen AWS atau AWS SDK, Anda dapat memilih kunci KMS baru untuk diterapkan pada aliran data tertentu.

T: Apakah Kinesis Data Streams tersedia di AWS Tingkat Gratis?

Tidak. Kinesis Data Streams saat ini tidak tersedia di AWS Tingkat Gratis. AWS
Tingkat Gratis adalah program yang menawarkan uji coba gratis untuk grup layanan AWS. Untuk
detail selengkapnya tentang AWS Free Tier, lihat AWS Tingkat Gratis.

Perjanjian Tingkat Layanan

T: Apa yang dijamin oleh SLA Kinesis Data Streams?

SLA Kinesis Data Streams kami menjamin Persentase Waktu Aktif Bulanan setidaknya 99,9% untuk Kinesis Data Streams.

T: Bagaimana saya tahu jika saya memenuhi syarat untuk Kredit Layanan SLA?

Anda berhak mendapatkan kredit SLA untuk Kinesis Data Streams menurut SLA Kinesis Data Streams jika lebih dari satu Zona Ketersediaan tempat Anda menjalankan tugas di dalam Wilayah yang sama memiliki Persentase Waktu Aktif Bulanan kurang dari 99,9% selama setiap siklus penagihan bulanan.

Untuk detail selengkapnya tentang semua syarat dan ketentuan SLA, serta detail tentang cara mengirimkan klaim, lihat SLA Amazon Kinesis Data Streams.

Harga dan penagihan

T: Bagaimana cara kerja penetapan harga Kinesis Data Streams?

Kinesis Data Streams menerapkan harga bayar sesuai pemakaian yang sederhana. Tidak ada biaya di muka atau biaya minimum, dan Anda hanya membayar sumber daya yang digunakan. Kinesis Data Streams memiliki dua mode kapasitas—sesuai permintaan dan yang disediakan—dan keduanya memiliki opsi penagihan khusus.

T: Bagaimana penetapan harga Kinesis Data Streams pada mode sesuai permintaan?

Dengan mode kapasitas sesuai permintaan, Anda tidak perlu menentukan seberapa banyak throughput baca dan tulis yang Anda perkirakan dijalankan oleh aplikasi Anda. Dalam mode ini, penetapan harga adalah berdasarkan pada volume data yang diserap dan diambil bersama dengan biaya per jam untuk setiap aliran data di akun Anda. Terdapat biaya tambahan untuk fitur opsional: Retensi data yang diperpanjang (melebihi 24 jam pertama dan dalam tujuh hari pertama), Retensi data jangka panjang (lebih dari tujuh hari dan hingga satu tahun), dan Fan-Out yang Ditingkatkan. Untuk informasi selengkapnya tentang biaya Amazon Kinesis Data Streams, lihat Harga Amazon Kinesis Data Streams.

T: Bagaimana penetapan harga Amazon Kinesis Data Streams bekerja dalam mode yang disediakan?

Dengan mode kapasitas yang disediakan, Anda menentukan jumlah serpihan yang diperlukan untuk aplikasi berdasarkan kecepatan permintaan tulis dan bacanya. Serpihan adalah unit kapasitas yang menyediakan 1 MB/detik untuk menulis dan 2 MB/detik untuk membaca secara keseluruhan. Anda dikenai biaya untuk setiap serpihan dengan tarif per jam. Anda juga membayar untuk catatan yang ditulis ke dalam aliran data Kinesis Anda. Anda dikenakan biaya tambahan jika menggunakan fitur opsional seperti Retensi yang diperpanjang dan Fan-Out yang Ditingkatkan.

Berikut ini adalah dua dimensi inti dan tiga dimensi opsional pada mode yang disediakan Kinesis Data Streams:

  • Biaya Serpihan Per Jam ditentukan oleh banyaknya serpihan dalam aliran data Amazon Kinesis Anda.
  • Biaya Unit Muatan PUT ditentukan oleh jumlah unit muatan 25 KB yang ditambahkan oleh produsen data ke aliran data Anda.

Opsional:

  • Retensi data diperpanjang adalah biaya opsional yang ditentukan oleh jumlah jam shard yang dibebankan oleh data stream Anda. Ketika retensi data diperpanjang diaktifkan, Anda membayar tarif retensi yang diperpanjang untuk setiap shard dalam stream Anda.
  • Retensi data jangka panjang adalah biaya opsional dengan dua dimensi biaya: penyimpanan data jangka panjang dan pengambilan data jangka panjang. Penyimpanan data jangka panjang menunjukkan jumlah GB-bulan data yang disimpan untuk periode lebih dari tujuh hari dan hingga 365 hari. Pengambilan data jangka panjang menunjukkan jumlah GB data diambil yang telah disimpan selama lebih dari tujuh hari.
  • Fan-out yang ditingkatkan adalah biaya opsional dengan dua dimensi biaya: jam serpihan konsumen dan pengambilan data. Jam pelanggan-shard mencerminkan jumlah shard pada stream dikali jumlah pelanggan yang menggunakan fan-out yang ditingkatkan. Pengambilan data ditentukan oleh jumlah GB yang dikirim ke konsumen yang menggunakan fan-out yang ditingkatkan.

Untuk informasi selengkapnya tentang biaya Amazon Kinesis Data Streams, lihat Harga Amazon Kinesis Data Streams.

T: Bagaimana jam konsumen-serpihan dihitung untuk penggunaan Fan-Out yang Ditingkatkan pada mode yang disediakan?

Jam serpihan konsumen dihitung dengan mengalikan jumlah konsumen aliran yang terdaftar dengan jumlah serpihan dalam aliran. Ya, Anda hanya akan membayar untuk bagian jam yang dirata-ratakan dari konsumen yang didaftarkan untuk menggunakan fan-out yang ditingkatkan. Misalnya, jika biaya jam serpihan konsumen sebesar 0,015 USD, untuk 10 aliran data serpihan, konsumen yang menggunakan fan-out yang ditingkatkan ini akan dapat membaca dari 10 serpihan, dan karenanya biaya jam serpihan konsumen yang dikenakan sebesar 0,15 USD per jam (1 konsumen * 10 serpihan * 0,015 USD per jam serpihan konsumen). Jika terdapat dua konsumen yang terdaftar fan-out yang ditingkatkan secara bersamaan, biaya jam serpihan konsumen sebesar 0,30 USD per jam (2 konsumen * 10 serpihan * 0,015 USD).

Perbandingan dengan layanan AWS lainnya

T: Kapan saya harus menggunakan Kinesis Data Streams dan kapan saya harus menggunakan Amazon Managed Streaming for Apache Kafka (Amazon MSK)?

Kinesis Data Streams dan Amazon MSK adalah platform streaming data populer yang akan membantu Anda membangun beban kerja streaming Anda sendiri dan memproses data untuk kebutuhan khusus. Kedua layanan tersebut dapat diskalakan, aman, dan memiliki ketersediaan tinggi. Keduanya dapat digunakan untuk menjalankan kasus penggunaan streaming seperti analisis web dan log waktu nyata, mempersonalisasi pengalaman pelanggan, arsitektur yang didorong peristiwa, analitik IoT, dan deteksi fraud waktu nyata. Saat memilih di antara keduanya, penting untuk mempertimbangkan kasus penggunaan dan persyaratan khusus Anda. Berikut adalah beberapa faktor yang perlu dipertimbangkan:

Keterbiasaan

  •  Jika Anda baru mengenal teknologi streaming, gunakan Kinesis Data Streams.
  • Jika Anda memiliki aplikasi yang berjalan di Apache Kafka, gunakan MSK. MSK memiliki program migrasi Kafka (KMP) bawaan dan panduan migrasi untuk memudahkan pengalaman migrasi.

Preferensi untuk sumber terbuka

  • Jika Anda memiliki preferensi untuk menggunakan teknologi sumber terbuka, sebaiknya gunakan MSK. Baik MSK maupun MSK Connect sangat kompatibel dengan Apache Kafka dan Kafka Connect sumber terbuka.

T: Apa yang membuat Kinesis Data Streams berbeda dari Amazon SQS?

Kinesis Data Streams memungkinkan pemrosesan big data streaming secara waktu nyata. Layanan ini memberikan pengurutan catatan, serta kemampuan untuk membaca dan/atau mengulang catatan dengan urutan yang sama ke beberapa Amazon Kinesis Applications. Amazon Kinesis Client Library (KCL) mengirimkan semua catatan kunci partisi ke pemroses catatan yang sama sehingga memudahkan untuk membangun beberapa pembacaan aplikasi dari aliran data Kinesis yang sama (misalnya, untuk melakukan perhitungan, agregasi, dan pemfilteran). Amazon Simple Queue Service (Amazon SQS) menawarkan antrean yang andal dan host yang sangat mudah diskalakan untuk menyimpan pesan saat dikirimkan antara komputer satu dengan komputer lainnya. Amazon SQS memungkinkan Anda memindahkan data dengan mudah antara komponen-komponen aplikasi yang terdistribusi dan membantu Anda membangun aplikasi yang pesannya diproses secara independen (dengan semantik ack/fail tingkat pesan), seperti alur kerja terotomatisasi.

T: Kapan sebaiknya menggunakan Kinesis Data Streams, dan kapan sebaiknya menggunakan Amazon SQS?

Kami menyarankan Kinesis Data Streams untuk kasus penggunaan dengan kebutuhan yang serupa dengan yang dijabarkan di bawah ini:

  • Perutean catatan terkait ke pemroses catatan yang sama (seperti pada streaming MapReduce). Misalnya, penghitungan dan agregasi akan lebih sederhana apabila semua catatan kunci yang diberikan dirutekan ke pemroses catatan yang sama.
  • Pengurutan catatan. Misalnya, Anda ingin mentransfer data log dari host aplikasi ke host pemrosesan/pengarsipan saat mempertahankan urutan pernyataan log-nya.
  • Kemampuan berbagai aplikasi untuk memakai stream yang sama secara bersamaan. Misalnya, Anda memiliki satu aplikasi yang memperbarui dasbor secara langsung dan aplikasi lain yang mengarsip data ke Amazon Redshift. Anda ingin kedua aplikasi tersebut menggunakan data dari pengaliran yang sama secara bersamaan dan independen.
  • Kemampuan untuk memakai catatan dengan urutan yang sama beberapa jam kemudian. Misalnya, Anda memiliki sebuah aplikasi penagihan dan sebuah aplikasi audit yang berjalan beberapa jam di belakang aplikasi penagihan. Karena Amazon Kinesis Data Streams menyimpan data hingga 365 hari, Anda dapat menjalankan aplikasi audit hingga 365 hari di belakang aplikasi penagihan.

Kami merekomendasikan Amazon SQS untuk kasus penggunaan dengan persyaratan yang serupa dengan berikut ini:

  • Semantik perpesanan (seperti ack/fail tingkat pesan) dan waktu henti visibilitas. Misalnya, Anda memiliki antrean item kerja dan ingin melacak penyelesaian yang berhasil dari masing-masing item secara independen. Amazon SQS melacak ack/gagal, sehingga aplikasi tidak perlu mempertahankan titik pemeriksaan/kursor yang persisten. Amazon SQS akan menghapus pesan yang ack dan mengirimkan kembali pesan yang gagal setelah batas waktu visibilitas yang dikonfigurasi.
  • Penundaan pesan tunggal. Misalnya, Anda memiliki antrean tugas dan perlu menjadwalkan tugas tunggal dengan penundaan. Dengan Amazon SQS, Anda dapat mengonfigurasikan pesan tunggal agar memiliki penundaan hingga 15 menit.
  • Peningkatan konkurensi/throughput secara dinamis pada waktu baca. Misalnya, Anda memiliki antrean kerja dan ingin menambahkan lebih banyak pembaca sampai backlog terhapus. Dengan Amazon Kinesis Data Streams, Anda dapat menaikkan skala ke jumlah serpihan yang mencukupi (namun, perhatikan bahwa Anda perlu menyediakan serpihan yang cukup terlebih dahulu).
  • Menggunakan kemampuan Amazon SQS untuk menskalakan secara transparan. Misalnya, Anda melakukan buffer permintaan dan memuat perubahan karena lonjakan muatan yang kadang terjadi atau karena sifat pertumbuhan bisnis Anda. Karena setiap permintaan yang dilakukan buffer dapat diproses secara terpisah, Amazon SQS dapat menskalakan secara transparan untuk menangani muatan tanpa instruksi penyediaan apa pun dari Anda.

Pelajari selengkapnya tentang harga Kinesis Data Streams

Kunjungi halaman harga
Siap untuk memulai?
Daftar
Ada pertanyaan lagi?
Hubungi kami