Delta Lake adalah solusi danau data yang dikembangkan oleh Databricks. Delta Lake menyediakan fitur untuk menulis, mengelola, menanyakan, dan membaca data dari danau data. Anda dapat membangun danau data yang aman dan mudah digunakan dengan Delta Lake serta alat hulu-hilir pihak ketiga.
Informasi latar belakang
Solusi danau data tradisional memungkinkan Anda menggunakan mesin penyimpanan data besar seperti Alibaba Cloud Object Storage Service (OSS) atau Hadoop Distributed File System (HDFS) untuk membangun danau data dan menyimpan berbagai jenis data di dalamnya. Anda dapat menghubungkan danau data ke mesin analitik seperti Spark atau Presto untuk menganalisis data yang tersimpan. Namun, solusi ini memiliki beberapa kekurangan:
Ingesti data dapat gagal, sehingga memerlukan pembersihan data kotor dan pemulihan pekerjaan.
Tidak ada kontrol kualitas data karena kurangnya operasi ekstraksi, transformasi, dan pemuatan (ETL).
Tidak ada transaksi yang dapat mengisolasi pembacaan dan penulisan dalam pemrosesan aliran dan batch.
Berikut adalah deskripsi solusi Delta Lake:
Solusi ini menyediakan lapisan manajemen data di atas lapisan penyimpanan data besar. Lapisan ini berfungsi mirip dengan modul manajemen metadata untuk database. Metadata Delta Lake disimpan bersama dengan data dan terlihat oleh pengguna. Gudang Data dan Danau Data menunjukkan sebuah contoh.
Delta Lake menyediakan transaksi ACID (atomicity, consistency, isolation, durability) berdasarkan manajemen metadata untuk mencegah ingesti data yang salah bentuk dan mengisolasi pembacaan serta penulisan selama ingesti data. Ini juga memastikan tidak adanya data kotor.
Informasi bidang disimpan dalam metadata. Delta Lake memverifikasi data selama ingesti untuk memastikan kualitas data.
Fitur transaksi mengisolasi pembacaan dari penulisan dalam pemrosesan aliran dan batch.
ACID mengacu pada empat properti dasar transaksi database: atomicity, consistency, isolation, dan durability.
Gambar 1. Gudang Data dan Danau Data
Tabel berikut membandingkan gudang data, danau data tradisional, dan Delta Lake.
Item | Gudang data | Danau data | Delta Lake |
Arsitektur | Terintegrasi atau komputasi dan penyimpanan terpisah | Komputasi dan penyimpanan terpisah | Komputasi dan penyimpanan terpisah |
Manajemen penyimpanan | Format ketat dan non-generik | Format asli | Format generik dan ringan |
Skenario | Laporan dan analitik | Laporan, analitik, dan ilmu data | Laporan, analitik, dan ilmu data |
Fleksibilitas | Rendah | Tinggi | Sedang |
Kualitas dan keandalan data | Tinggi | Rendah | Sedang |
Transaksi | Didukung | Tidak didukung | Didukung |
Kinerja | Tinggi | Rendah | Sedang |
Skalabilitas | Berdasarkan skenario tertentu | Tinggi | Tinggi |
Pengguna tipikal | Staf manajerial | Staf manajerial dan ilmuwan data | Staf manajerial dan ilmuwan data |
Biaya | Tinggi | Rendah | Rendah |
Skenario
Delta Lake adalah solusi ideal untuk mengelola danau data berbasis cloud. Berikut adalah beberapa skenario penggunaannya:
Kueri waktu nyata: Data hulu di-ingest ke Delta Lake secara real-time untuk mendukung kueri waktu nyata. Sebagai contoh, dalam skenario Change Data Capture (CDC), Anda dapat menggunakan pekerjaan Spark Streaming untuk mengonsumsi log biner secara real-time dan menggunakan fitur merge Delta Lake untuk menggabungkan pembaruan data hulu secara real-time. Hive, Spark, atau Presto dapat digunakan untuk menanyakan data secara real-time. Transaksi ACID mengisolasi penulisan data dari kueri untuk menghindari pembacaan kotor.
Penghapusan dan pembaruan data sesuai permintaan General Data Protection Regulation (GDPR): Danau data tradisional tidak mendukung penghapusan atau pembaruan data. Delta Lake mendukung kedua operasi tersebut.
Sinkronisasi data waktu nyata berdasarkan CDC: Anda dapat menjalankan pekerjaan aliran untuk menggabungkan pembaruan data hulu ke Delta Lake secara real-time menggunakan fitur merge Delta Lake.
Kontrol kualitas data: Delta Lake menyediakan fitur verifikasi skema untuk menghapus atau memproses data abnormal selama ingesti data.
Evolusi data: Delta Lake menyediakan API untuk mengubah skema data sesuai kebutuhan.
Pembelajaran mesin waktu nyata: Delta Lake menyederhanakan alur kerja pembelajaran mesin dengan menyediakan aliran waktu nyata yang andal untuk membersihkan, mengonversi, dan mencirikan data historis maupun waktu nyata.
Perbandingan dengan Delta Lake sumber terbuka
EMR Delta Lake memiliki kinerja lebih tinggi dibandingkan Delta Lake sumber terbuka. Misalnya, EMR Delta Lake mendukung lebih banyak Pernyataan SQL dan menyediakan fitur Optimize. Tabel berikut mencantumkan fitur dasar Delta Lake serta perbandingan antara EMR Delta Lake dan Delta Lake sumber terbuka versi 0.6.1.
Fitur | EMR Delta Lake | Delta Lake Sumber Terbuka |
SQL |
|
|
API |
|
|
Hive connector | Didukung | Didukung |
Presto connector | Didukung | Didukung |
Parquet | Didukung | Didukung |
ORC | Tidak didukung | Tidak didukung |
Format teks | Tidak didukung | Tidak didukung |
Pengabaian data | Didukung | Tidak didukung |
Z-order | Didukung | Tidak didukung |
DeltaLog Asli | Didukung | Tidak didukung |