Mengenal Pemrosesan Data Secara Streaming

Mengenal Pemrosesan Data Secara Streaming

  • 21 April 2021
  • Data Science
  • Ditulis oleh Timothy Orvin Edwardo
  • 1.8K Views

Pemrosesan data secara streaming adalah pemrosesan data yang dilakukan secara kontinu dan real-time (Hesse & Lorenz, 2016). Data baru yang masuk, saat itu juga akan dikumpulkan dan diproses untuk memenuhi kebutuhan organisasi. Kebutuhan akan kecepatan pemrosesan data dalam jumlah besar dan pengambilan keputusan dalam waktu mendekati real-time melatar-belakangi metode pemrosesan secara streaming (Ali & Abdullah, 2019).

Mengapa perlu pemrosesan data secara streaming?

Pada era big data, data sangat beragam yang terdiri dari berbagai tipe data, berbagai jenis (terstruktur, semi terstruktur, dan tidak terstruktur), dalam ukuran yang besar, serta bertambah dalam waktu yang cepat (Ali & Abdullah, 2019). Pada pemrosesan data secara tradisional (batch), data transaksi yang terkumpul pada suatu periode waktu akan ditarik, dimuat, dan diproses (integrasi, transformasi) untuk masuk ke penyimpanan analitika, seperti dimensional modeling, data mart, data warehouse. Jika dilakukan pada ukuran data yang besar, maka metode pemrosesan tradisional ini dapat memakan waktu yang lebih lambat. Untuk mengurangi waktu pemrosesan, pemrosesan data dapat dilakukan secara streaming atau real-time di mana ketika ada data baru datang, maka saat itu juga akan langsung diproses dan disimpan di penyimpanan analitika.

Pada kasus tertentu, analitika secara streaming juga diperlukan mempertimbangkan jika ada keterlambatan pengambilan keputusan, maka akan ada peluang yang tidak bisa kembali yang berpotensi menimbulkan kerugian bagi organisasi.

Pemrosesan batch vs streaming

Pemrosesan data secara streaming baik digunakan untuk data yang bertambah dalam waktu yang cepat, sehingga dapat mengurangi waktu pemrosesan dibandingkan dikumpulkan terlebih dahulu hingga periode waktu tertentu (Ali & Abdullah, 2019; Hesse & Lorenz, 2016). Selain itu, jika hasil analisis dibutuhkan dalam waktu yang cepat, mendekati real-time juga disarankan menggunakan pemrosesan streaming agar keputusan dapat diambil segera. Contoh kasus yang cocok menggunakan pemrosesan streaming adalah deteksi fraud, real-time alerting, analisis sosial media.

Pemrosesan data secara batch baik digunakan untuk data yang bertambah dalam waktu yang lebih lambat dan hasil analisis memungkinkan untuk dipresentasikan dalam periode waktu tertentu (harian, mingguan, bulanan, tahunan). Contoh kasus yang cocok menggunakan pemrosesan batch adalah prediksi penjualan untuk minggu yang akan datang, laporan penjualan harian, prediksi churn.

Masing-masing metode pemrosesan data, memiliki kelebihan dan kekurangan, untuk itu perlu melakukan justifikasi sesuai dengan kasus yang dihadapi dan memilih metode yang lebih sesuai. Untuk metode pemrosesan batch memiliki kelebihan di mana kelengkapan data dapat lebih dijamin, serta dapat melakukan analisis yang lebih kompleks. Namun metode pemrosesan batch memiliki kekurangan berupa waktu pemrosesan yang lebih lambat pada ukuran data yang besar dan bertambah dalam waktu yang cepat. Sementara itu, metode pemrosesan secara streaming memiliki kelebihan dalam mengurangi waktu pemrosesan pada data dengan ukuran besar dan pertumbuhan yang cepat, serta memungkinkan untuk memberi hasil analisis dalam waktu yang mendekati real-time. Kekurangan pada metode pemrosesan secara streaming adalah isu kelengkapan data, sehingga perlu mempertimbangkan risiko kelengkapan data, strategi failover.

Tools pada pemrosesan data secara streaming

Terdapat berbagai tools yang memiliki kemampuan untuk melakukan pemrosesan data secara streaming. Berikut adalah contoh tools yang sering digunakan, namun tidak terbatas pada (Ali & Abdullah, 2019; Hesse & Lorenz, 2016; Isah et al., 2019):

  1. Apache Storm
  2. Apache Kafka
  3. Apache Flink
  4. Apache Spark Streaming

 

Referensi

Ali, A. H., & Abdullah, M. Z. (2019). Recent trends in distributed online stream processing platform for big data: Survey. Proceedings - 2018 1st Annual International Conference on Information and Sciences, AiCIS 2018, Ml, 140–145. https://doi.org/10.1109/AiCIS.2018.00036

Hesse, G., & Lorenz, M. (2016). Conceptual survey on data stream processing systems. Proceedings of the International Conference on Parallel and Distributed Systems - ICPADS, 2016-January, 797–802. https://doi.org/10.1109/ICPADS.2015.106

Isah, H., Abughofa, T., Mahfuz, S., Ajerla, D., Zulkernine, F., & Khan, S. (2019). A survey of distributed data stream processing frameworks. IEEE Access, 7, 154300–154316. https://doi.org/10.1109/ACCESS.2019.2946884