Disusun oleh:
L200200001
TAHUN 2022/2023
Tools :
1. Apache Kafka
2. Apache NiFi
3. Apache Flume
4. Amazon Kinesis
5. Apache Storm
6. Apache Sqoop
7. Apache Gobblin
8. Google Cloud Data Fusion
Tasks :
Jawaban :
1. Apache Kafka
Apache Kafka memiliki arsitektur yang membutuhkan apache zookeeper untuk
mengatur cluster dari kafka, jadi saat menjalankan kafka kita juga perlu menjalankan
zookeeper.
Producers = Yang mengirim data pada message broker (Kafka Cluster).
Consumers = Yang menerima data dari message broker (Kafka Cluster).
kafka Cluster = Kumpulan dari aplikasi2 kafka.
Connectors = Integrasi sebuah aplikasi external, contohnya database dmn
database tersebut akan menyimpan datanya di kafka.
Stream Processors = Mengolah data yang mengalir terus.
Cara kerja apache kafka sama seperti konsep microservices, alih-alih membangun
satu aplikasi besar, kita dapat membagi aplikasi menjadi beberapa bagian dan setiap
bagian memiliki tanggung jawab yang sangat spesifik. Dengan cara ini, bagian-bagian
yang berbeda dapat ditulis dalam bahasa pemrograman yang sepenuhnya independen
juga! Kafka memiliki sistem partisi, replikasi, dan toleransi kesalahan bawaan yang
membuatnya bagus sebagai sistem perantara pesan berskala besar.
Implementasi apache kafka yaitu pada platform streaming terdistribusi dengan
sumber terbuka yang dapat digunakan untuk membangun alur dan aplikasi data streaming
real time. Kafka juga menyediakan fungsi broker pesan yang mirip dengan antrean pesan,
di mana Anda dapat menerbitkan dan berlangganan aliran data yang disebut.
Lightstreamer adalah salah satu contoh Streaming Engine, yang telah
dioptimalisasi untuk mendistribusikan Data Text secara Real time lewat koneksi HTTP
yang berbasis pada paradigma Publish dan subcribe.
2. Apache NiFi
Arsitektur apache NiFi dijalankan dalam Java Virtual Machine (JVM) pada sistem
operasi host. Komponen utama dalam arsitektur NiFi adalah sebagai berikut :
Web Server. Digunakan untuk mengatur perintah dan kontrol API berbasis HTTP
NiFi.
Flow Controller. Pengontrol aliran adalah otak dari operasi. Segala pengaturan
aliran data diatur di sini.
Extension. Salah satu tipe dalam Nifi yang dapat dijalankan dalam lingkungan
kerja JVM.
FlowFile Repository. Media Nifi untuk melacak state dari FlowFile.
Content Repository. Isi konten dari FlowFile.
Provenance Repository. Lokasi data acara diindeks dan dicari.
3. Apache Flume
Apache Flume memiliki arsitektur berbasis agen, yaitu kode yang ditulis dalam
flume dikenal sebagai agen yang bertanggung jawab untuk mengambil data.
Cara kerja Flume membantu mengumpulkan data dari berbagai sumber, seperti
log, jms, Direktori dll. Beberapa agen flume dapat dikonfigurasi untuk mengumpulkan
volume data yang tinggi. Ini bersisik secara horizontal. Flume bekerja dengan berbagai
jenis sumber data. Flume berfungsi dengan baik dalam streaming sumber data yang
dihasilkan terus menerus dalam lingkungan hadoop seperti file log dari beberapa server.
4. Amazon Kinesis
Amazon Kinesis memudahkan pengumpulan, pemrosesan, dan penganalisisan
data real-time, yang mengalir sehingga kita dapat mendapatkan pengetahuan tepat waktu
dan bereaksi cepat pada informasi baru. Amazon Kinesis menawarkan kemampuan kunci
untuk secara efektif-biaya memproses data yang mengalir dalam segala skala, bersama
dengan fleksibilitas untuk memilih alat yang paling sesuai dengan keperluan aplikasi.
Dengan Amazon Kinesis, kita dapat mendapatkan data real-time semacam video, audio,
log aplikasi, informasi pemakaian (clickstream) situs web, dan data telemetri IoT untuk
machine learning, analisis, dan aplikasi lain. Amazon Kinesis memungkinkan kita
memproses dan menganalisis data ketika datang dan merespons secara instan alih-alih
menunggu sampai semua data dikumpulkan sebelum proses dapat memulai.
Diagram berikut menggambarkan arsitektur tingkat tinggi Kinesis Data Streams.
Parameterprodusenterus mendorong data ke Kinesis Data Streams,
dankonsumenmemproses data secara waktu nyata. Konsumen (seperti aplikasi kustom
yang berjalan di Amazon EC2 atau aliran pengiriman Amazon Kinesis Data Firehose)
dapat menyimpan hasilnya menggunakanAWSlayanan seperti Amazon DynamoDB,
Amazon Redshift, atau Amazon S3.
Aplikasi Amazon Kinesis Data Streams adalah konsumen dari stream yang
biasanya berjalan pada armada instans EC2. Output dari aplikasi Kinesis Data Streams
dapat masukan untuk aliran lain, memungkinkan Anda untuk membuat topologi
kompleks yang memproses data secara real time. Aplikasi juga dapat mengirim data ke
berbagai lainnyaAWSlayanan.
5. Apache Storm
Arsitektur pada apache storm melibatkan penerimaan dan pemrosesan aliran data
yang tidak terstruktur dan terus diperbarui menggunakan pengontrol kompleks yang
sewenang-wenang dengan kemungkinan membagi di antara berbagai tahapan kalkulasi.
Dalam praktiknya, Storm digunakan di BackType untuk menganalisis refleksi
peristiwa di mikroblog, dengan membandingkan tweet baru dengan cepat dan link yang
digunakan di dalamnya (misalnya, dievaluasi sebagai link eksternal atau iklan Twitter
yang disiarkan oleh peserta lain). Fungsionalitas badai dibandingkan dengan platform
Hadoop, dan perbedaan utamanya adalah bahwa data tidak dimasukkan ke dalam
repositori, tetapi diterima dari luar dan diproses secara real time.
Di Storm, tidak ada lapisan penyimpanan bawaan dan kueri analitik mulai
diterapkan ke data yang masuk hingga dibatalkan (jika Hadoop menggunakan pekerjaan
MapReduce yang membutuhkan waktu terbatas, maka Storm menggunakan gagasan
untuk menjalankan " topologi "terus menerus. Eksekusi penangan dapat didistribusikan
ke beberapa server: Storm secara otomatis memparalelkan pekerjaan dengan thread di
node cluster yang berbeda.
Dalam implementasinya, storm dapat digunakan untuk menganalisis aliran data
secara real time, untuk melakukan tugas pembelajaran mesin, mengatur penghitungan
berkelanjutan, mengimplementasikan RPC, ETL, dll. Sistem mendukung
pengelompokan, lUntuk membuat konfigurasi yang toleran terhadap kesalahan, mode
pemrosesan data yang dijamin, dan memiliki throughput yang cukup tinggi untuk
memproses lebih dari satu juta permintaan per detik pada node cluster.
6. Apache Sqoop
Apache Sqoop memilikik arsitektur yang didasarkan pada konektor. Konektor di
Sqoop tahu cara terhubung dengan berbagai sumber data dan mengambil data yang
sesuai.
Apache Sqoop bekerja dengan cara mentransfer data secara efisien dari aplikasi
penyimpanan non Hadoop seperti database ke-dalam bentuk Hadoop. Sqoop
mempermudah import dan export data dari berbagai macam struktur data seperti Data
relasional, Data Werehouse, Data enterprise dan sistem noSQL, dengan menggunakan
apache sqoop kita dapat mengubah data dari system eksternal kedalam bentuk HDFS,
sqoop juga bekerja sama dengan apache oozie untuk mempermudah penjadwalan sistem
dalam menangani proses sqoop dalam import dan eksport data.
Dalam implementasinya apache aqoop terutama digunakan untuk transfer data
paralel, untuk impor data karena menyalin data dengan cepat di mana Apache Flume
digunakan untuk mengumpulkan dan mengumpulkan data karena sifatnya yang
terdistribusi, dapat diandalkan, dan cadangan yang sangat tersedia.
7. Apache Gobblin
Apache Gobblin adalah kerangka kerja penyerapan data terpadu untuk
mengekstraksi, mengubah, dan memuat sejumlah besar data dari berbagai sumber data.
Itu dapat menyerap data dari sumber data yang berbeda dalam kerangka eksekusi yang
sama dan mengelola metadata dari sumber yang berbeda di tempat.
Gobblin menyediakan enam antarmuka komponen yang berbeda, sehingga mudah
untuk menskalakan dan menyesuaikan pengembangan. Komponennya yaitu :
Sumber
Alat pengambilan sari
Konverter
Pemeriksa kualitas
Penulis
Penerbit
Cara kerja gobblin yaitu dengan menangani tugas rutin umum yang diperlukan
untuk semua ETL penyerapan data, termasuk penjadwalan tugas/tugas, pembagian tugas,
penanganan kesalahan, manajemen status, pemeriksaan kualitas data, penerbitan data, dll.
Gobblin menyerap data dari sumber data yang berbeda dalam kerangka kerja eksekusi
yang sama dan mengelola metadata dari berbagai sumber data di satu tempat. Fitur goblin
yang membuat Gobblin menjadi kerangka kerja penyerapan data yang mudah digunakan,
melayani diri sendiri, dan efisien.
Gobblin menyediakan adaptor siap pakai untuk semua sumber data yang umum
diakses seperti S3, Kafka, Google Analytics, MySQL, dan Salesforce. Gobblin
mendukung platform mandiri dan skalabel, termasuk Yarn dan Hadoop. Benang
Memberikan kemampuan untuk menjalankan konsumsi terus menerus selain batch
terjadwal. Swalayan adalah mode dukungan mandiri sehingga penyerapan data dan alur
transformasi dapat disusun secara swalayan, menguji secara lokal menggunakan mode
mandiri, dan menerapkan alur dalam produksi menggunakan mode scale-out tanpa
perubahan kode.