Apa itu data streaming?

Data streaming adalah data yang dikeluarkan pada volume tinggi secara terus menerus dan bertahap dengan tujuan pemrosesan latensi rendah. Organisasi memiliki ribuan sumber data yang biasanya mengeluarkan pesan, catatan, atau data dalam berbagai ukuran mulai dari bita hingga megabita (MB) secara bersamaan. Data streaming mencakup data lokasi, peristiwa, dan sensor yang digunakan perusahaan untuk analitik real-time dan visibilitas ke banyak aspek dalam bisnis mereka. Misalnya, perusahaan dapat melacak perubahan sentimen publik terhadap merek dan produk mereka dengan menganalisis aliran klik dan posting pelanggan secara terus-menerus dari aliran media sosial, lalu merespons dengan segera sesuai kebutuhan.

Apa saja karakteristik data streaming?

Aliran data memiliki karakteristik khusus yang mendefinisikannya sebagai berikut.

Signifikan secara kronologis

Elemen individual dalam aliran data berisi stempel waktu. Aliran data itu sendiri mungkin sensitif terhadap waktu dengan berkurangnya signifikansi setelah interval waktu tertentu. Misalnya, aplikasi Anda memberikan rekomendasi restoran berdasarkan lokasi penggunanya saat ini. Anda harus bertindak sesuai dengan data geolokasi pengguna secara real-time atau data akan kehilangan signifikansi.

Mengalir secara berkelanjutan

Aliran data tidak memiliki awal dan akhir. Aliran data mengumpulkan data secara konstan dan berkelanjutan selama diperlukan. Misalnya, log aktivitas server diakumulasi selama server berjalan.

Unik

Karena sensitivitas waktu, transmisi berulang atas aliran data adalah hal yang menantang. Oleh karena itu, pemrosesan data real-time yang akurat merupakan hal yang penting. Sayangnya, ketentuan untuk transmisi ulang pada kebanyakan sumber data streaming sangatlah terbatas.

Tidak homogen

Beberapa sumber dapat mengalirkan data dalam beberapa format terstruktur seperti JSON, Avro, dan nilai yang dipisahkan koma (CSV) dengan tipe data yang mencakup string, angka, tanggal, dan tipe biner. Sistem pemrosesan aliran Anda harus memiliki kemampuan untuk menangani variasi data seperti itu.

Tidak sempurna

Kesalahan sementara pada sumber dapat membuat elemen pada data yang dialirkan menjadi rusak atau hilang. Menjamin konsistensi data dapat menjadi tantangan tersendiri karena sifat aliran yang berkelanjutan. Pemrosesan aliran dan sistem analitik biasanya mencakup logika untuk validasi data guna memitigasi atau meminimalkan kesalahan.

Mengapa data streaming itu penting?

Sistem pemrosesan data tradisional mengambil data di gudang data pusat dan memprosesnya dalam grup atau batch. Sistem ini dibangun untuk menyerap dan menstrukturkan data sebelum analitik. Namun, beberapa tahun belakangan ini, sifat data korporasi dan sistem pemrosesan data yang mendasarinya telah berubah secara signifikan.

Volume data tak terbatas

Volume data yang dihasilkan dari sumber aliran mungkin sangatlah besar, sehingga menyulitkan analitik real-time dalam mengatur integritas (validasi), struktur (evolusi), atau laju (throughput dan latensi) data streaming.

Sistem pemrosesan data tingkat lanjut

Pada saat bersamaan, infrastruktur cloud memperkenalkan fleksibilitas dalam skala tersebut dan penggunaan sumber daya komputasi. Anda cukup menggunakan yang Anda perlukan dan membayar yang Anda gunakan. Anda memiliki opsi pemfilteran atau agregasi real-time baik sebelum maupun setelah menyimpan data streaming. Arsitektur data streaming menggunakan teknologi cloud untuk memanfaatkan, memperkaya, menganalisis, dan secara permanen menyimpan data streaming jika diperlukan.

Apa saja kasus penggunaan data streaming?

Pemrosesan data streaming memberikan manfaat dalam sebagian besar skenario ketika data dinamis baru dihasilkan secara berkelanjutan. Hal ini berlaku pada sebagian besar segmen industri dan kasus penggunaan big data.

Pada umumnya, perusahaan akan memulai dengan aplikasi sederhana, seperti log sistem pengumpulan dan pemrosesan dasar seperti komputasi min-maks yang bergulir. Kemudian, aplikasi tersebut berkembang menjadi pemrosesan yang canggih dan mendekati real-time.

Berikut ini adalah beberapa contoh data streaming.

Analisis data

Aplikasi dapat memproses aliran data untuk menghasilkan laporan dan menjalankan tindakan sederhana sebagai respons, seperti menyalakan alarm ketika pengukuran utama telah melebihi batasan tertentu. Aplikasi pemrosesan aliran yang lebih canggih mengekstraksi wawasan yang lebih mendalam dengan menerapkan algoritme machine learning pada data aktivitas bisnis dan pelanggan.

Aplikasi IoT

Perangkat Internet untuk Segala (IoT) adalah kasus penggunaan lainnya untuk data streaming. Sensor pada kendaraan, peralatan industri, dan mesin pertanian mengirimkan data ke aplikasi streaming. Aplikasi akan memantau performa, mendeteksi potensi kerusakan di awal, dan melakukan pemesanan suku cadang secara otomatis, sehingga dapat mencegah waktu henti perlengkapan.

Analisis keuangan

Lembaga keuangan menggunakan data aliran untuk melacak perubahan dalam pasar saham secara real-time, menghitung nilai risiko, dan secara otomatis menyeimbangkan kembali portofolio berdasarkan pergerakan harga saham. Kasus penggunaan keuangan lainnya antara lain adalah deteksi penipuan transaksi kartu kredit menggunakan inferensi terhadap data transaksi streaming real-time.

Rekomendasi real-time

Aplikasi real estat melacak data geolokasi dari perangkat seluler konsumen dan membuat rekomendasi real-time mengenai properti yang dapat didatangi. Demikian pula, aplikasi periklanan, makanan, retail, dan konsumen dapat mengintegrasikan rekomendasi real-time untuk memberikan nilai tambah bagi pelanggan.

Garansi layanan

Anda dapat mengimplementasikan pemrosesan aliran data untuk melacak dan memelihara tingkat layanan dalam aplikasi dan perlengkapan. Misalnya, perusahaan tenaga surya harus mengelola throughput daya bagi pelanggannya, atau harus membayar penalti. Mereka mengimplementasikan aplikasi data streaming yang memantau semua panel di lapangan dan menjadwalkan layanan secara real-time. Dengan begitu, mereka dapat meminimalkan periode throughput rendah dari tiap-tiap panel dan pembayaran penalti terkait.

Media dan gaming

Penerbit media mengalirkan miliaran catatan clickstream dari properti online mereka, mengagregasi dan memperkaya data dengan informasi demografis pengguna, serta mengoptimalkan penempatan konten. Ini membantu penerbit menghadirkan pengalaman yang lebih baik dan relevan bagi audiensnya. Demikian juga dengan perusahaan gaming online yang menggunakan pemrosesan aliran peristiwa untuk menganalisis interaksi antara pemain dan game, serta menawarkan pengalaman yang dinamis untuk menarik para pemain.

Kontrol risiko

Platform streaming langsung dan platform sosial menangkap data perilaku pengguna secara real-time untuk kontrol risiko atas aktivitas keuangan pengguna, seperti isi ulang, pengembalian dana, dan hadiah. Platform-platform ini menampilkan dasbor real-time untuk menyesuaikan strategi risiko secara fleksibel.

Apa perbedaan antara data batch dan data streaming?

Pemrosesan batch adalah metode yang digunakan komputer untuk menyelesaikan tugas data berulang dengan volume tinggi secara berkala. Anda dapat menggunakannya untuk mengomputasi kueri arbitrer pada beragam set data. Pemrosesan ini biasanya mengomputasi hasil yang diambil dari semua data yang dicakup, dan memungkinkan analisis set big data yang mendalam. Sistem yang berbasis MapReduce, seperti Amazon EMR, adalah contoh platform yang mendukung tugas batch.

Sebaliknya, pemrosesan aliran memerlukan penyerapan urutan data, dan secara bertahap memperbarui statistik metrik, laporan, dan ringkasan sebagai respons atas setiap catatan data yang tiba. Pemrosesan ini lebih cocok untuk analitik waktu nyata dan fungsi respons.

  Pemrosesan batch

Pemrosesan aliran

Cakupan data

Kueri atau pemrosesan di semua atau sebagian besar data di set data.

Kueri atau pemrosesan data dalam jangka waktu yang bergulir atau hanya pada catatan data terbaru.

Ukuran data


Batch data besar.

Catatan individu atau batch mikro yang terdiri dari beberapa catatan.

Performa

  Latensi dalam hitungan menit hingga jam.

Memerlukan latensi dalam urutan detik atau milidetik.

Analisis

Analitik kompleks. Fungsi respons sederhana, agregat, dan metrik bergulir.

Banyak organisasi yang membangun model hibrida dengan mengombinasikan dua pendekatan untuk mempertahankan lapisan waktu nyata lapisan batch. Misalnya, pertama, Anda dapat memproses data di platform data streaming seperti Amazon Kinesis untuk mengekstraksi wawasan secara real-time. Kemudian, Anda dapat mempertahankan data ke penyimpanan seperti Amazon Simple Storage Service (Amazon S3). Di sana, data dapat ditansformasikan dan dimuat untuk berbagai kasus penggunaan pemrosesan batch.

Penyerapan Streaming Amazon Redshift memungkinkan pengguna untuk menyerap data secara langsung dari Amazon Kinesis Data Streams tanpa perlu menempatkannya di Amazon S3. Layanan tersebut juga dapat menyerap data dari Amazon Managed Streaming for Apache Kafka (Amazon MSK) ke Amazon Redshift.

Bagaimana cara Anda memproses data streaming?

Arsitektur data streaming berisi dua tipe komponan utama.

Produsen aliran

Produsen aliran adalah komponen perangkat lunak dalam aplikasi dan sistem IoT yang akan mengumpulkan data. Produsen akan mengirimkan catatan ke prosesor aliran yang berisi nama aliran, nilai data, dan nomor urutan. Prosesor menyimpan dalam buffer atau mengelompokkan sementara catatan data berdasarkan nama aliran. Prosesor menggunakan nomor urutan untuk melacak posisi unik dari setiap catatan dan memproses data secara kronologis.

Konsumen aliran

Konsumen aliran adalah komponen perangkat lunak yang memproses dan menganalisis aliran data yang disimpan dalam buffer pada prosesor. Setiap konsumen memiliki kemampuan analitik, seperti korelasi, agregasi, pemfilteran, pengambilan sampel, atau machine learning. Setiap aliran dapat memiliki beberapa konsumen, dan setiap konsumen dapat memproses berbagai aliran. Konsumen juga dapat mengirimkan kembali data yang diubah ke prosesor guna membuat aliran baru untuk konsumen lain.

Implementasi arsitektur

Untuk mengimplementasikan arsitektur data streaming, Anda memerlukan lapisan penyimpanan dan pemrosesan. Lapisan penyimpanan harus mendukung pemesanan catatan dan konsistensi yang kuat untuk mengaktifkan aliran data baca dan tulis bervolume besar yang cepat, murah, dan dapat diputar kembali. Lapisan pemrosesan bertanggung jawab untuk menggunakan data dari lapisan penyimpanan, menjalankan komputasi pada data tersebut, lalu memberi tahu lapisan penyimpanan untuk menghapus data yang tidak lagi diperlukan.

Apa saja tantangan yang ada dalam menggunakan data streaming?

Arsitektur data streaming memerlukan pertimbangan khusus karena sifat dan volume data.

Ketersediaan

Aplikasi data streaming membutuhkan konsistensi, latensi rendah, dan ketersediaan tinggi. Konsumen secara terus-menerus mengambil data baru dari aliran untuk memprosesnya. Keterlambatan dari produsen dapat membuat sistem tertahan dan menyebabkan kesalahan.

Skalabilitas

Aliran data mentah dapat melonjak secara cepat dan tidak terduga. Misalnya, posting media sosial melonjak selama acara olahraga besar. Oleh karena itu, sistem harus memprioritaskan pengurutan, ketersediaan, dan konsistensi data yang tepat, bahkan selama beban puncak.

Ketahanan

Karena sensitivitas waktu data, sistem pemrosesan aliran harus memiliki toleransi terhadap kesalahan. Sebaliknya, data akan hilang selamanya jika terjadi pemadaman atau kegagalan.

Bagaimana cara AWS mendukung kebutuhan data streaming Anda?

AWS menyediakan beberapa opsi untuk menggunakan data streaming

Amazon Kinesis

Kinesis merupakan platform untuk data streaming di AWS. Platform ini menawarkan layanan yang kuat untuk memudahkan dalam memuat dan menganalisis data streaming, sekaligus memungkinkan Anda membangun aplikasi data streaming kustom untuk kebutuhan khusus.

Kinesis menyediakan tiga layanan: Amazon Kinesis Data Firehose, Amazon Kinesis Data Streams, dan Amazon Managed Streaming for Apache Kafka (Amazon MSK).

Kinesis Data Firehose

Kinesis Data Firehose dapat menangkap dan secara otomatis memuat data streaming ke dalam Amazon Simple Storage Service (Amazon S3) dan Amazon Redshift. Proses ini memungkinkan Anda menjalankan analitik real-time dengan alat dan dasbor kecerdasan bisnis yang sudah Anda gunakan saat ini.

Kinesis Data Streams

Kinesis Data Streams dapat menangkap dan menyimpan data berukuran terabita (TB) per jam secara berkelanjutan dari ratusan ribu sumber. Amazon Kinesis Streams mendukung kerangka kerja pemrosesan aliran pilihan Anda, termasuk Amazon Kinesis Client Library (KCL), Apache Storm, dan Apache Spark Streaming.

Amazon MSK

Amazon MSK adalah layanan terkelola penuh yang memudahkan Anda membangun dam menjalankan aplikasi menggunakan Apache Kafka untuk memproses data streaming. Apache Kafka adalah platform sumber terbuka untuk membangun pipeline dan aplikasi data streaming real-time

Amazon Redshift

Amazon Redshift Streaming Ingestion memungkinkan pengguna untuk menyerap data streaming ke dalam gudang data mereka untuk analitik secara real-time dari beberapa aliran data Kinesis. Anda dapat menjalankan analitik yang kaya menggunakan SQL yang familier, dan membuat serta mengelola pipeline ELT dengan mudah. Amazon Redshift Streaming Ingestion juga memungkinkan Anda memproses data streaming bervolume besar dengan latensi rendah dan throughput tinggi untuk menghasilkan analitik dalam hitungan detik.

Solusi streaming lainnya di Amazon EC2

Anda dapat menginstal platform data streaming pilihan Anda di Amazon Elastic Compute Cloud (Amazon EC2) dan Amazon EMR serta membangun lapisan penyimpanan dan pemrosesan aliran kustom. Dengan begitu, Anda dapat terhindar dari friksi penyediaan infrastrukur, sekaligus mendapat akses ke berbagai kerangka kerja penyimpanan dan pemrosesan aliran. Opsi untuk lapisan penyimpanan data mencakup Amazon MSK dan Apache Flume. Opsi untuk lapisan pemrosesan aliran mencakup Apache Spark Streaming dan Apache Storm.

Mulai gunakan data streaming di AWS dengan membuat akun AWS secara gratis sekarang!

Langkah berikutnya Data Streaming AWS

Lihat sumber daya terkait produk tambahan
Lihat penawaran gratis untuk layanan Analitik di cloud 
Daftar untuk akun gratis

Dapatkan akses secara instan ke AWS Tingkat Gratis. 

Daftar 
Mulai membangun di konsol

Mulai membangun di Konsol Manajemen AWS.

Masuk