Apache Druid adalah sistem analitik real-time berbasis memori terdistribusi yang menyediakan kueri dan analisis cepat serta interaktif untuk set data berskala besar.
Fitur dasar
Apache Druid memiliki fitur-fitur berikut:
Kueri interaktif dalam waktu kurang dari satu detik, seperti pemfilteran multi-dimensi, pengelompokan ad hoc berdasarkan properti, dan agregasi data cepat.
Konsumsi data real-time.
Kueri online konkuren dari multiple tenant.
Pemrosesan data dalam skala petabyte dan ratusan miliar event, serta dukungan terhadap ribuan kueri konkuren per detik.
Ketersediaan tinggi (HA) dan peningkatan bergilir (rolling upgrades).
Skenario
Analitik data real-time merupakan skenario paling umum untuk Apache Druid. Skenario ini mencakup berbagai aplikasi, seperti:
Pemantauan metrik real-time
Model rekomendasi
Platform periklanan
Model pencarian
Arsitektur Apache Druid
Apache Druid memiliki arsitektur yang dirancang dengan baik. Beberapa komponen bekerja sama untuk menangani seluruh alur data, mulai dari ingestion hingga indexing, penyimpanan, dan kueri.
Lapisan kerja Druid, yang menangani indexing data dan kueri, mencakup komponen-komponen berikut:
Komponen Realtime melakukan ingestion data secara real-time.
Komponen Broker mendistribusikan tugas kueri, mengagregasi hasilnya, dan mengembalikannya kepada pengguna.
Komponen Historical menyimpan data historis yang telah diindeks di deep storage. Deep storage dapat berupa disk lokal atau sistem file terdistribusi, seperti Hadoop Distributed File System (HDFS).
Layanan Indexing mencakup dua komponen berikut:
Komponen Overlord mengelola dan mendistribusikan tugas indexing.
Komponen MiddleManager menjalankan tugas indexing tersebut.
Lapisan manajemen segmen Druid (manifes Druid) mencakup komponen-komponen berikut:
ZooKeeper: Menyimpan status kluster dan berperan sebagai komponen penemuan layanan. Misalnya, ZooKeeper mengelola informasi topologi kluster, pemilihan leader Overlord, dan tugas indexing.
Coordinator: Mengelola segmen. Misalnya, Coordinator menangani unduhan segmen, penghapusan, serta load balancing antar node Historical.
Metastore: Menyimpan metadata segmen dan mengelola berbagai data persisten atau temporary untuk kluster, seperti konfigurasi dan informasi audit.
Druid versi E-MapReduce
E-MapReduce Druid adalah layanan siap pakai dan sepenuhnya dikelola berbasis Apache Druid. Layanan ini mencakup banyak peningkatan, seperti integrasi dengan E-MapReduce dan layanan Alibaba Cloud lainnya, fitur pemantauan dan O&M yang praktis, serta antarmuka produk yang mudah digunakan.
Saat ini, E-MapReduce Druid mendukung fitur-fitur berikut:
Menggunakan Object Storage Service (OSS) sebagai deep storage.
Menggunakan file di OSS sebagai sumber data untuk indexing batch.
Menyalurkan dan mengindeks data dari Simple Log Service, yang mirip dengan Kafka. Fitur ini menyediakan keandalan tinggi dan semantik tepat-sekali (exactly-once semantics).
Menyimpan metadata di ApsaraDB RDS.
Mengintegrasikan tool Superset.
Mendukung skala keluar dan skala-masuk yang mudah, dengan skala-masuk hanya berlaku untuk node Task.
Menyediakan metrik pemantauan lengkap dan aturan alert.
Failover.
Menyediakan keamanan tingkat tinggi.
Mendukung HA (High Availability).