Delta Lake adalah solusi data lake dari Databricks yang mengelola seluruh siklus hidup data—mulai dari ingesti, organisasi, dan manajemen hingga kueri dan egress. Dikombinasikan dengan alat pihak ketiga di hulu dan hilir, Delta Lake membantu Anda membangun data lake yang cepat, mudah digunakan, dan aman.
Informasi latar belakang
Solusi data lake khas menyimpan berbagai jenis data pada sistem penyimpanan data besar seperti Alibaba Cloud Object Storage Service (OSS) atau Hadoop Distributed File System (HDFS) on-premises, serta terhubung ke mesin analitik seperti Spark atau Presto untuk mengurai data. Namun, pendekatan ini memiliki beberapa permasalahan:
-
Impor yang gagal menghasilkan data kotor yang sulit dibersihkan, dan pekerjaan yang gagal sulit dipulihkan.
-
Tidak tersedia proses ekstrak, transformasi, dan muat (ETL), sehingga pengawasan kualitas data tidak memadai.
-
Tidak ada dukungan transaksi untuk mengisolasi operasi baca dan tulis, sehingga mencegah operasi baca/tulis streaming dan batch berjalan secara independen.
Solusi Delta Lake bekerja sebagai berikut:
-
Menambahkan lapisan manajemen data di atas lapisan penyimpanan data besar, mirip dengan manajemen metadata dalam database. Metadata disimpan bersama data dan terlihat oleh pengguna, seperti yang ditunjukkan dalam Data warehouse dan data lake.
-
Delta Lake menghadirkan atomicity, consistency, isolation, dan durability (ACID) melalui manajemen metadata, yang menyelesaikan masalah data kotor akibat impor gagal dan kurangnya isolasi baca/tulis selama ingesti data.
-
Metadata menyimpan kolom tabel sumber, dan Delta Lake memvalidasi data selama impor untuk memastikan kualitas data.
-
Dukungan transaksi memungkinkan operasi baca/tulis batch dan streaming berjalan secara terisolasi.
ACID adalah akronim dari empat properti utama yang menjamin transaksi database yang andal: atomicity, consistency, isolation, dan durability.
Gambar 1. Data warehouse dan data lake
Tabel berikut membandingkan Data Warehouse, Data Lake, dan Delta Lake.
|
Kriteria perbandingan |
Data Warehouse |
Data Lake |
Delta Lake |
|
Arsitektur |
Komputasi dan penyimpanan terikat atau terpisah |
Komputasi dan penyimpanan terpisah |
Komputasi dan penyimpanan terpisah |
|
Manajemen penyimpanan |
Ketat, proprietary |
Format native |
Format umum, ringan |
|
Skenario |
Pelaporan, analitik |
Pelaporan, analitik, ilmu data |
Pelaporan, analitik, ilmu data |
|
Fleksibilitas |
Rendah |
Tinggi |
Tinggi |
|
Kualitas dan keandalan data |
Sangat tinggi |
Rendah |
Tinggi |
|
Transaksional |
Didukung |
Tidak didukung |
Dukungan |
|
Kinerja |
Tinggi |
Rendah |
Tinggi |
|
Ekstensibilitas |
Bergantung pada implementasi |
Tinggi |
Tinggi |
|
Pengguna |
Administrator |
Administrator, ilmuwan data |
Administrator, ilmuwan data |
|
Biaya |
Tinggi |
Rendah |
Rendah |
Skenario
Delta Lake cocok untuk manajemen data lake berbasis cloud dan mendukung skenario berikut:
-
Kueri real-time: Data mengalir dari sumber hulu ke Delta Lake secara real-time dan langsung tersedia untuk dikueri. Misalnya, dalam skenario Change Data Capture (CDC), Anda dapat menggunakan Spark Streaming untuk mengonsumsi binlog secara real-time. Fitur merge Delta Lake memperbarui data hulu ke dalam data lake, dan Anda kemudian dapat mengkuerinya dengan Hive, Spark, atau Presto. Karena ACID didukung, ingesti data dan kueri diisolasi, sehingga mencegah dirty read.
-
Hapus atau perbarui untuk General Data Protection Regulation (GDPR): Solusi data lake khas tidak mendukung penghapusan atau pembaruan. Untuk memodifikasi data dalam solusi tersebut, Anda harus menghapus data mentah dan menulis ulang ke penyimpanan. Delta Lake mendukung penghapusan dan pembaruan data secara langsung.
-
Sinkronisasi data real-time dengan CDC: Anda dapat menggunakan fitur merge Delta Lake untuk menjalankan pekerjaan streaming yang menggabungkan data hulu ke dalam data lake secara real-time.
-
Kontrol kualitas data: Anda dapat menggunakan validasi skema Delta Lake untuk menyaring data anomali selama impor atau memprosesnya lebih lanjut.
-
Evolusi skema: Skema data tidak tetap. Delta Lake memungkinkan Anda memodifikasi skema data melalui API.
-
Pembelajaran mesin real-time: Dalam skenario pembelajaran mesin, sebagian besar upaya difokuskan pada pemrosesan data—pembersihan, transformasi, dan ekstraksi fitur—yang biasanya memerlukan penanganan data historis dan real-time secara terpisah. Delta Lake menyederhanakan hal ini dengan menyatukan seluruh pipeline pemrosesan data menjadi satu aliran real-time yang andal. Operasi seperti pembersihan data, transformasi, dan rekayasa fitur menjadi aksi aliran, sehingga menghilangkan kebutuhan untuk memproses data historis dan real-time secara terpisah.
Perbandingan dengan Delta Lake open source
EMR Delta Lake memperluas Delta Lake open source dengan dukungan tambahan untuk SQL, Optimize, dan lainnya. Tabel berikut membandingkan fitur EMR Delta Lake dan Delta Lake open source (versi 0.6.1).
|
Fitur |
EMR Delta |
Open source Delta |
|
SQL |
|
|
|
API |
|
|
|
Hive connector |
Dukungan |
Dukungan |
|
Presto connector |
Dukungan |
Dukungan |
|
Parquet |
Didukung |
Didukung |
|
ORC |
Tidak didukung |
Tidak didukung |
|
Text format |
Tidak didukung |
Tidak didukung |
|
Data Skipping |
Dukungan |
Tidak didukung |
|
ZOrder |
Didukung |
Tidak didukung |
|
Native DeltaLog |
Dukungan |
Tidak didukung |