Macam-macam Application Services : Mengenal AWS Kinesis
AWS Kinesis adalah layanan terkelola oleh Amazon Web Services (AWS) yang dirancang untuk mengumpulkan, memproses, dan menganalisis data streaming dalam waktu nyata.
Sebelum mengetahui tentang kinesis, kita harus mengetahui terlebih dahulu tentang streaming data
Apa itu Streaming Data?
Streaming data adalah data yang dihasilkan secara terus menerus dari ribuan sumber data, dan sumber-sumber data ini dapat mengirimkan catatan data secara bersamaan dan dalam ukuran yang kecil.
Contoh :
- Purchases from online stores : Orang-orang membeli barang di amazon.com dan menghasilkan data streaming dan data streaming tersebut dapat berupa transaksi, produk, dll.
- Stock prices : Harga saham juga merupakan contoh data streaming.
- Game Data : Misalkan pengguna memainkan game angry bird dan aplikasi menghasilkan data streaming kembali ke server pusat. Data streaming ini dapat berupa “apa yang dilakukan pengguna”, “berapa skornya”.
- Social Network Data : Data jaringan sosial juga merupakan contoh lain dari data streaming. Misalkan Anda mengunjungi Facebook, memperbarui status Anda, dan memasang postingan di dinding teman Anda. Semua data ini kemudian akan dialirkan.
- Geospatial Data : Ketika Anda menggunakan uber, dan perangkat Anda terhubung ke internet. Aplikasi Uber secara konstan mengatakan bahwa di mana pengemudi uber berada, di mana Anda berada, dan menginterogasi peta untuk memberi Anda rute terbaik ke tempat tujuan Anda. Ini juga merupakan contoh yang baik untuk streaming data.
- IoT Sensor Data : Sensor ini mendeteksi suhu di seluruh dunia.
Apa itu Kinesis?
Kinesis adalah sebuah platform di AWS yang mengirimkan data streaming. Ini memudahkan untuk menganalisis data streaming yang dimuat dan juga memberikan kemampuan bagi pengguna untuk membangun aplikasi khusus berdasarkan kebutuhan bisnis.
Layanan inti Kinesis :
Kinesis Streams :
- Aliran Kinesis terdiri dari pecahan-pecahan.
- Pecahan menyediakan 5 transaksi per detik untuk pembacaan, hingga laju pembacaan data total maksimum 2MB per detik dan hingga 1.000 rekaman per detik untuk penulisan hingga laju penulisan data total maksimum 1MB per detik.
- Kapasitas data stream merupakan fungsi dari jumlah pecahan yang ditentukan untuk stream data. Kapasitas total aliran Kinesis adalah jumlah kapasitas semua pecahan.
Arsitektur Kinesis streams :
Misalkan kita memiliki EC2, ponsel, Laptop, IOT yang menghasilkan data. Mereka dikenal sebagai produsen karena menghasilkan data. Data dipindahkan ke aliran Kinesis dan disimpan dalam pecahan. Secara default, data disimpan dalam pecahan selama 24 jam. Anda dapat menambah waktu penyimpanan hingga 7 hari. Setelah data disimpan dalam shard, maka Anda memiliki instance EC2 yang dikenal sebagai konsumen. Mereka mengambil data dari pecahan dan mengubahnya menjadi data yang berguna. Setelah konsumen melakukan perhitungan, data yang berguna dipindahkan ke salah satu layanan AWS, yaitu DynamoDB, S3, EMR, Redshift.
Kinesis Firehouse 1:
- ChatGPT
- Kinesis Firehose adalah layanan yang digunakan untuk mengirimkan data streaming ke tujuan seperti Amazon S3, Amazon Redshift, Amazon Elasticsearch. Dengan Kinesis Firehose, tidak perlu mengelola sumber daya.
Arsitektur Kinesis Firehouse
Misalkan Anda memiliki EC2, ponsel, Laptop, IOT yang menghasilkan data. Mereka juga dikenal sebagai produsen. Produsen mengirim data ke Kinesis Firehose. Kinesis Firehose tidak perlu mengelola sumber daya seperti pecahan, tidak perlu khawatir tentang aliran, tidak perlu khawatir tentang pengeditan pecahan secara manual untuk mengikuti data, dll. Ini sepenuhnya otomatis. Tidak perlu khawatir tentang konsumen. Data dapat dianalisis dengan menggunakan fungsi Lambda. Setelah data dianalisis, data dikirim langsung ke S3. Analisis data bersifat opsional. Satu hal penting tentang Kinesis Firehose adalah bahwa tidak ada jendela retensi otomatis, tetapi aliran Kinesis memiliki jendela retensi otomatis yang waktu defaultnya adalah 24 jam dan dapat diperpanjang hingga 7 hari. Kinesis Firehose tidak bekerja seperti ini. Pada dasarnya, Kinesis Firehose menganalisis atau mengirimkan data secara langsung ke S3 atau lokasi lain.
Kinesis Analytics
Kami memiliki Kinesis Firehose dan Kinesis Stream. Kinesis Analytics memungkinkan untuk menjalankan kueri SQL dari data yang ada di dalam Kinesis Firehose. Dapat menggunakan SQL Query untuk menyimpan data di S3, Redshift, atau cluster Elasticsearch. Pada dasarnya, data dianalisis di dalam Kinesis menggunakan bahasa kueri SQL.
Perbedaan antara Kinesis Streams & Kinesis Firehose
- Kinesis stream dikelola secara manual sedangkan Kinesis Firehose dikelola secara otomatis.
- Kinesis stream mengirimkan data ke banyak layanan sementara Kinesis Firehose mengirimkan data hanya ke S3 atau Redshift.
- Kinesis stream terdiri dari jendela retensi otomatis yang waktu defaultnya adalah 24 jam dan dapat diperpanjang hingga 7 hari sedangkan Kinesis Firehose tidak memiliki jendela retensi otomatis.
- Kinesis stream mengirimkan data ke konsumen untuk dianalisis dan diproses sementara kinesis firehose tidak perlu khawatir dengan konsumen karena kinesis firehose sendiri menganalisis data dengan menggunakan fungsi lambda.