- Bidang manajemen data berubah dengan cepat, dan seiring meningkatnya kebutuhan akan cloud storage serta analitik real-time, konsep Data Lakehouse semakin menonjol
- Proyek seperti Apache Iceberg, Apache Hudi, dan Delta Lake telah menyediakan fitur inti untuk arsitektur Lakehouse, seperti evolusi skema, transaksi ACID, dan pembaruan yang efisien
- Sistem internal Google, Napa, menawarkan pendekatan yang selangkah lebih maju dibanding solusi Lakehouse saat ini
- Lebih jauh lagi, dengan menambahkan ide dari sistem lain seperti Apache Pinot, diajukan LakeDB sebagai bentuk next-generation dari Lakehouse
Lingkungan Lakehouse saat ini: Iceberg, Hudi, Delta Lake
- Apache Iceberg
- Mendukung evolusi skema, time travel, dan perencanaan kueri yang efisien melalui pengelolaan metadata yang canggih
- Memberikan jaminan konsistensi untuk kumpulan data analitik berskala besar
- Apache Hudi
- Memproses upsert, delete, dan CDC (change data capture) secara efisien dengan memanfaatkan storage berbasis log-structured dan indexing
- Menekankan mutasi data dan pemrosesan inkremental
- Delta Lake
- Menyediakan transaksi ACID untuk Spark dan workload big data
- Mendukung validasi skema, time travel, serta pemrosesan terintegrasi batch dan streaming
- Melalui Delta Live Tables, juga menyediakan sebagian dukungan untuk pipeline deklaratif dan materialized view
Napa dari Google: pendekatan makro
- Sebuah sistem manajemen data analitik yang lengkap, mendukung kueri berlatensi rendah dan pemuatan data berkelanjutan untuk data berskala besar
- Pemuatan berbasis LSM (Log-Structured Merge)-Tree
- Mengadopsi pendekatan LSM-tree untuk throughput tulis yang tinggi, dengan struktur yang menggabungkan data lama melalui compaction
- Pemanfaatan materialized view
- Secara otomatis memelihara dan memperbarui materialized view untuk mempercepat kueri
- Queryable Timestamp (QT)
- Menyediakan pengelolaan titik waktu yang konsisten di seluruh sistem
- Memungkinkan penyesuaian yang rinci atas keseimbangan antara kesegaran data dan performa kueri
- Integrasi F1 Query
- Memanfaatkan mesin F1 Query milik Google untuk memproses kueri analitik kompleks secara efisien
- Tingkat konfigurasi yang tinggi
- Dapat menyesuaikan kesegaran data, performa, biaya, dan lain-lain sesuai kebutuhan pengguna
Perbandingan Napa, Iceberg, Hudi, dan Delta Lake
- Napa adalah sistem manajemen data analitik menyeluruh yang mendukung kueri cepat melalui materialized view berbasis LSM, dan mengatur kesegaran data secara rinci dengan teknik bernama Queryable Timestamp (QT). Sistem ini berguna ketika ingin menganalisis dan melaporkan data skala besar dengan cepat, serta memungkinkan biaya, performa, dan kesegaran dikelola secara seimbang berkat fleksibilitas konfigurasi yang tinggi.
- Iceberg adalah proyek yang berfokus pada table format, mengelola file data berskala besar melalui metadata dan menyediakan fitur seperti atomic update. Umumnya digunakan di lingkungan data lake yang membutuhkan data warehousing, evolusi skema, atau fitur seperti time travel, dengan opsi konfigurasi yang terutama berfokus pada layout tabel dan metadata.
- Hudi adalah platform yang menggabungkan kemampuan mirip database ke dalam data lake, dan memproses operasi mutasi data seperti upsert atau delete secara efisien melalui storage berbasis log-structured dan teknik indexing. Sistem ini dirancang agar dapat merespons dengan baik kebutuhan seperti pemuatan real-time, change data capture (CDC), serta kepatuhan regulasi seperti GDPR, tetapi pada dasarnya tidak menyediakan fitur materialized view secara bawaan.
- Delta Lake adalah storage layer yang mendukung transaksi ACID, memproses pekerjaan batch dan streaming secara terpadu sekaligus menyediakan schema enforcement dan fitur time travel. Untuk meningkatkan performa kueri, sistem ini memanfaatkan data skipping dan caching melalui integrasi dengan Spark, serta juga mendukung konsep seperti materialized view melalui Delta Live Tables terpisah. Banyak digunakan ketika ingin menambahkan keandalan dan kemampuan transaksi pada berbagai lingkungan data lake.
Klaim tentang LakeDB: terinspirasi dari Napa, belajar dari tempat lain
- Dengan menggabungkan ide-ide inovatif dari Napa dan Apache Pinot, diajukan konsep LakeDB yang lebih terintegrasi dan fleksibel
- LakeDB mengarah pada solusi manajemen data di mana pengguna mengekspresikan kebutuhan mereka secara deklaratif (kesegaran, biaya, konsistensi, penggunaan indeks, dan sebagainya), lalu sistem akan mengoptimalkannya secara otomatis
1. Integrasi storage, ingestion, metadata, dan pemrosesan kueri
- Dalam satu sistem, storage, ingestion, metadata, dan pemrosesan kueri semuanya tercakup
- Pengguna cukup menentukan kesegaran dan konsistensi data, lalu pekerjaan yang diperlukan akan disesuaikan secara otomatis
- Iceberg, Hudi, dan Delta Lake memerlukan integrasi dengan alat terpisah pada bagian ini, sehingga kompleksitas meningkat
2. Optimisasi cerdas untuk materialized view dan layout data
- Secara otomatis beralih antara pendekatan CoW (Copy-on-Write) dan MoR (Merge-on-Read) sesuai workload
- Snapshot dan materialized view dibuat serta dikelola secara tepat berdasarkan kebutuhan performa dan biaya yang ditentukan pengguna
- Hudi, Delta Lake, dan Iceberg mengharuskan sebagian besar proses ini dikonfigurasi secara manual
3. Kontrol kesegaran data yang rinci
- Seperti QT pada Napa, ketika pengguna menentukan tingkat kesegaran yang diinginkan, sistem akan mencari titik kompromi antara performa dan biaya
- Pada sistem yang ada, sulit menjamin real-time karena bergantung pada snapshot berkala dan monitoring
4. Indexing dan partitioning tingkat lanjut yang terinspirasi dari Apache Pinot
- Mendukung metode indeks tingkat lanjut seperti Star-Tree, sehingga analitik dengan kardinalitas tinggi pun dapat ditangani
- Menargetkan peningkatan performa yang melampaui partitioning sederhana dan data skipping pada Iceberg maupun Delta Lake
5. Konfigurasi yang fleksibel
- Tabel yang sama dapat diatur agar memenuhi kebutuhan performa, biaya, dan kesegaran yang berbeda dari banyak konsumen
- Sistem yang ada memiliki cakupan konfigurasi terbatas, sehingga dibutuhkan banyak tuning manual untuk menangani workload yang beragam
6. Dukungan ACID dan evolusi skema
- Mewarisi dan memperluas fondasi ACID serta evolusi skema dari Iceberg dan Delta Lake
- Berupaya mengotomatisasi perubahan skema serentak dan jaminan konsistensi data di lingkungan terdistribusi
7. Keterbukaan dan skalabilitas
- Mendukung open standard dan integrasi dengan berbagai query engine, serta dapat diperluas sesuai kebutuhan
- Tidak terikat pada vendor atau platform tertentu, dan memungkinkan fitur diterapkan secara fleksibel sesuai kebutuhan pengguna
Mengapa LakeDB adalah evolusi generasi berikutnya
- Performa: Mendekati kecepatan setingkat OLAP melalui indeks tingkat lanjut, materialized view, dan optimisasi layout data yang dinamis
- Kesederhanaan: Menyediakan fungsi manajemen dalam satu sistem, sehingga cukup menetapkan kebutuhan pengguna seperti kesegaran data dan performa, lalu semuanya disesuaikan otomatis
- Efisiensi: Mengurangi pemanfaatan sumber daya dan beban operasional, sehingga juga berpotensi memberi keuntungan dari sisi biaya
- Fleksibilitas: Mampu menangani berbagai workload melalui kontrol kesegaran data yang rinci dan opsi konfigurasi yang kaya
- Analitik real-time: Mengadopsi teknik indexing dari Apache Pinot untuk sekaligus mengejar latensi rendah dan throughput tinggi
Kesimpulan
- Apache Iceberg, Apache Hudi, dan Delta Lake telah memainkan peran besar dalam memajukan konsep Lakehouse
- Dengan menggabungkan pendekatan Napa dari Google dan ide-ide dari Apache Pinot serta lainnya, dapat dibayangkan visi LakeDB yang lebih terintegrasi dan kuat
- LakeDB kemungkinan besar dapat menjadi arsitektur manajemen data generasi berikutnya sebagai sistem terintegrasi yang matang, mencakup storage, ingestion, metadata, dan pemrosesan kueri
Belum ada komentar.