📑 Table of Contents


Apache Flink
PengembangApache Software Foundation
Rilis awalMei 2011; 15 tahun lalu (2011-05)
Templat:Kotak info perangkat lunak/simple
Ditulis dalamJava and Scala
Sistem operasiCross-platform
Jenis
LisensiApache License 2.0
Situs webflink.apache.org Sunting ini di Wikidata
Repositori

Apache Flink adalah sistem pemrosesan data terdistribusi yang mendukung pemrosesan berkelompok (batch) maupun aliran data (streaming). Flink dirancang untuk menangani berbagai tantangan dalam pengolahan data terbatas dan tidak terbatas secara efisien.

Fitur

sunting

Beberapa fitur utama Flink meliputi:

  • Dukungan jendela waktu yang fleksibel, memungkinkan pengelompokan data berdasarkan periode tertentu.
  • Konsistensi status dengan jaminan pemrosesan tepat sekali (exactly-once), memastikan keakuratan data tanpa duplikasi atau kehilangan informasi.
  • Pemrosesan berbasis waktu kejadian (event-time semantics), mempertahankan urutan asli data sesuai waktu terjadinya.
  • Pemrosesan aliran data yang memiliki status (stateful stream processing), memungkinkan penyimpanan dan pengelolaan data selama pemrosesan.
  • Dukungan untuk pemrosesan kejadian kompleks (complex event processing) dan kueri berkelanjutan (continuous queries), memungkinkan analisis data secara langsung (real-time).

Sejarah

sunting

Apache Flink berasal dari proyek penelitian akademik. Pada tahun 2010, proyek Stratosphere dimulai oleh lima kelompok penelitian dari Technische Universität Berlin, Humboldt Universität zu Berlin, dan Hasso Plattner Institute Potsdam. Tujuan utama proyek ini adalah mengembangkan pendekatan baru untuk pemrosesan data terdistribusi dalam skala besar.

Sebagai bagian dari proyek ini, para peneliti mengembangkan prototipe sistem pemrosesan data untuk mengevaluasi pendekatan baru mereka. Perangkat lunak ini kemudian dirilis sebagai aplikasi terbuka (open-source) di bawah lisensi perangkat lunak Apache.

Pada tahun yang sama, proyek Apache Hadoop (dari sebuah implementasi aplikasi terbuka (open-source) dari Google MapReduce dan Google File System (GFS)) yang menjadi sangat populer di kalangan industri dan akademisi. Keunggulan utama Hadoop adalah kemampuannya untuk menskalakan tugas pemrosesan data ke banyak mesin dengan spesifikasi standar serta toleransi tinggi terhadap kegagalan perangkat keras dan perangkat lunak.

Namun, komunitas penelitian basis data menyadari bahwa MapReduce tidak cukup efisien atau mudah digunakan dalam mendefinisikan aplikasi analitik yang kompleks. Oleh karena itu, proyek Stratosphere bertujuan untuk menggabungkan keunggulan MapReduce dengan sistem basis data relasional.

Proyek ini menghasilkan sistem pemrosesan data terdistribusi yang terdiri dari:

  1. Model pemrograman PACT, yang menggeneralisasi model pemrograman MapReduce dengan menyediakan lebih banyak operator paralel.
  2. Mesin pemrosesan aliran data terdistribusi Nephele, yang menjalankan program PACT sebagai aliran data berbentuk graf asiklik terarah (DAG).
  3. Optimizer, yang menerjemahkan program PACT menjadi aliran data Nephele untuk meningkatkan efisiensi eksekusi.

Pendekatan ini membuat spesifikasi aplikasi analitik yang kompleks menjadi lebih mudah. Operator runtime yang digunakan untuk menjalankan program PACT diimplementasikan berdasarkan algoritma terkenal dalam sistem basis data, seperti:

  • External merge-sort
  • Block-nested loop join
  • Hybrid-hash join
  • Sort-merge join

Pendekatan ini memungkinkan sistem untuk menangani pemrosesan data dengan efisiensi yang lebih tinggi dibandingkan dengan MapReduce.

Referensi

sunting
  1. ^ "Release 2.2.1". 11 Mei 2026. Diakses tanggal 12 Mei 2026.
  2. ^ "All stable Flink releases". flink.apache.org. Apache Software Foundation. Diakses tanggal 2021-12-20.

📚 Artikel Terkait di Wikipedia

Apache Apex

mirip dengan cara kerja sistem pemrosesan data lainnya seperti Apache Spark dan Apache Flink. Alih-alih menentukan operator satu per satu, pengembang cukup

Apache Mahout

(plug-in) yang dapat diperluas, memungkinkan integrasi dengan Apache Spark, Apache Flink, dan sistem lainnya untuk pemrosesan data skala besar secara efisien