Apa itu Delta Lake?

Foto udara bendungan di danau

Penyusun

Matthew Kosinski

Staff Editor

IBM Think

Apa itu Delta Lake?

Delta Lake adalah format penyimpanan data sumber terbuka yang menggabungkan berkas data Apache Parquet dengan log metadata yang tangguh. Format Delta Lake menghadirkan fungsi manajemen data utama, seperti transaksi ACID dan pembuatan versi data, ke danau data, menjadikannya dasar bagi banyak data lakehouses

Pertama kali dikembangkan oleh Databricks pada tahun 2016, Delta Lake adalah format tabel terbuka, kerangka kerja sumber terbuka untuk data tabular yang membangun lapisan metadata di atas format file yang ada. Delta Lake secara khusus menggunakan tabel Parquet untuk penyimpanan data. Format tabel terbuka lainnya termasuk Apache Iceberg dan Apache Hudi.

Lapisan metadata memungkinkan Delta Lake dan tabel terbuka lainnya untuk mengoptimalkan kueri pencarian dan mendukung operasi data tingkat lanjut yang tidak dapat dilakukan oleh banyak format tabel standar. Organisasi sering menggunakan Delta Lake untuk membuat danau data mereka lebih andal dan intuitif.

Pembuatan Danau Delta merupakan langkah kritis dalam pengembangan arsitektur data lakehouse, yang menggabungkan penyimpanan danau data dengan kinerja gudang data.

Desain 3D bola yang menggelinding di lintasan

Berita + Insight AI terbaru 


Temukan insight dan berita yang dikurasi oleh para pakar tentang AI, cloud, dan lainnya di Buletin Think mingguan. 

Apa perbedaan antara Delta Lake dan danau data? 

Delta Lake dan danau data sering kali dibahas bersama, tetapi penting untuk diketahui bahwa teknologi ini berbeda satu sama lain.

Danau data adalah lingkungan penyimpanan data berbiaya rendah yang dirancang untuk menangani kumpulan data besar dari jenis dan format data apa pun. Sebagian besar danau data menggunakan cloud object storage seperti Amazon Simple Storage Service (S3), Microsoft Azure Blob Storage, atau IBM Cloud Object Storage.

Delta Lake adalah format penyimpanan data tabular yang dapat digunakan organisasi dalam danau data atau penyimpanan data lainnya.

Delta Lake bukanlah jenis danau data, juga bukan alternatif danau data. Sebaliknya, kita dapat menganggap danau data sebagai “di mana” dan Danau Delta sebagai “bagaimana”:

  • Di mana data disimpan? Di danau data.
  • Bagaimana data tersebut disimpan? Sebagai tabel Delta Lake.

Format Delta Lake dapat membantu membuat danau data lebih mudah dikelola dan efisien.

Danau data memiliki banyak manfaat, tetapi biasanya tidak memiliki kontrol kualitas data bawaan, dan secara langsung melakukan kueri pada danau data bisa sulit. Organisasi harus sering mengambil data dari danau, membersihkannya, dan memuatnya ke dalam gudang data dan pasar data yang terpisah sebelum dapat digunakan.

Dengan memperkenalkan lapisan metadata, Delta Lake memberi organisasi cara untuk menegakkan skema, melacak dan mengembalikan perubahan dan mendukung transaksi ACID.

Pengguna dapat menjalankan kueri bahasa kueri terstruktur (SQL), beban kerja analitik, dan aktivitas lainnya langsung di danau data, merampingkan intelijen bisnis (BI), kecerdasan data (DI), kecerdasan buatan (AI), dan machine learning (ML).

AI Academy

Apakah manajemen data merupakan rahasia AI generatif?

Jelajahi mengapa data berkualitas tinggi sangat penting untuk keberhasilan penggunaan AI generatif.

Cara Delta Lake bekerja

Delta Lake memiliki 2 komponen inti: file data yang berisi data dan log transaksi yang menyimpan metadata tentang file data tersebut.

  • File data di Delta Lake disebut "Tabel Delta Lake" atau "Tabel Delta" dan menggunakan format file Parquet berbentuk kolom.

  • Log transaksi menyimpan aktivitas terbaru dalam file log JSON dan mengarsipkan metadata yang lebih lama dalam file Parquet. Log disimpan di danau data di samping file data.

Log transaksi mencatat informasi tentang file data (seperti nama kolom dan nilai minimum dan maksimum) dan perubahan yang dilakukan pada file (apa yang diubah, kapan, bagaimana, dan oleh siapa).

Log inilah yang membuat Delta Lake berbeda dari file Parquet standar. Log transaksi pada dasarnya bertindak sebagai lapisan manajemen dan serangkaian instruksi untuk semua aktivitas di danau data, yang memungkinkan fitur-fitur seperti transaksi ACID, perjalanan waktu, dan evolusi skema.

File Parquet biasa tidak dapat diubah, artinya file tersebut tidak dapat diubah setelah dibuat; file tersebut hanya dapat ditulis ulang. Log transaksi Delta Lake membuat file Parquet secara fungsional, jika tidak secara harfiah, dapat diubah dengan memisahkan tindakan fisik (tindakan yang dilakukan langsung pada data) dari tindakan logis (tindakan yang dilakukan pada metadata).

Misalnya, pengguna tidak dapat menghapus satu kolom dari tabel Parquet tanpa menulis ulang seluruh berkas. Di Delta Lake, pengguna dapat menghapus kolom tersebut secara efektif dengan mengubah metadata tabel untuk menandai kolom tersebut sebagai dihapus. Kolom tersebut tetap ada di dalam berkas, tetapi semua kueri, pembaruan, dan penulisan selanjutnya melihat metadata dan memperlakukan kolom tersebut sebagai tidak ada.  

Fitur utama Delta Lake

Transaksi ACID

"ACID" adalah singkatan dari "atomisitas, konsistensi, isolasi, dan daya tahan"—sifat utama dari transaksi data yang andal.

  • Atomisitas berarti bahwa semua perubahan pada data dilakukan seolah-olah merupakan satu operasi.

  • Konsistensi berarti bahwa data berada dalam keadaan konsisten ketika transaksi dimulai dan ketika berakhir.

  • Isolasi berarti bahwa status perantara transaksi tidak terlihat oleh transaksi lain.

  • Daya tahan berarti bahwa perubahan yang dibuat pada data akan bertahan dan tidak dibatalkan.

Danau data Standard tidak dapat mendukung transaksi ACID. Tanpa jaminan ACID, danau data rentan terhadap transaksi yang gagal, penulisan parsial, dan masalah lain yang dapat merusak data. 

Log transaksi Delta Lake dapat merekam informasi transaksi sesuai dengan prinsip ACID, membuat danau data lebih dapat diandalkan untuk streaming saluran data, intelijen bisnis, analitik, dan contoh penggunaan lainnya. 

Penegakan skema dan evolusi skema

Administrator dapat menetapkan persyaratan skema dalam log transaksi, dan persyaratan ini berlaku untuk semua data setelah dimasukkan. Data yang tidak memenuhi persyaratan skema ditolak.

Admin juga dapat menggunakan log transaksi untuk mengubah skema file yang sudah ada, seperti menambahkan kolom baru atau mengubah jenis kolom. Proses ini disebut “evolusi skema.”

Pengoptimalan kueri

Meskipun bukan indeks tradisional, log transaksi dapat membantu kueri mengambil data lebih cepat dan lebih efisien.

Misalnya, katakanlah bahwa pengguna sedang mencari nilai tertentu dalam kolom. Dengan menggunakan metadata dalam log transaksi, kueri pengguna dapat melewatkan file apa pun yang nilai targetnya tidak mungkin ada. Jika nilai minimum lebih tinggi atau nilai maksimum lebih rendah dari nilai target, kueri dapat melewati file.

Log transaksi juga menyimpan jalur file. Alih-alih memindai seluruh danau data, kueri dapat menggunakan jalur file ini untuk menuju langsung ke file yang relevan.

Delta Lake dapat menggunakan teknik seperti pengurutan Z untuk menyimpan data yang serupa secara berdekatan pada disk, yang membuatnya lebih mudah untuk melewatkan file yang tidak relevan dan menemukan file yang relevan. 

Operasi data

File Parquet normal tidak dapat diubah, tetapi pengguna dapat memanipulasi tabel Delta melalui lapisan metadata. Delta Lake mendukung semua jenis operasi data, termasuk menambah atau mengurangi kolom, memperbarui entri, dan menggabungkan file.

Versi data

Karena log transaksi mencatat semua yang terjadi di tabel Delta, log ini secara efektif memelihara riwayat versi untuk setiap tabel. Pengguna dapat menanyakan versi sebelumnya dan bahkan melakukan perjalanan waktu, yaitu mengembalikan perubahan untuk memulihkan versi tabel sebelumnya.

Konektor

Danau Delta memiliki ekosistem konektor yang kuat. Format ini dapat digunakan dengan berbagai mesin komputasi, seperti Apache Spark, Apache Hive, Apache Flink, atau Trino. Delta Lake juga memiliki antarmuka pemrograman aplikasi (API) untuk Python, Java, Scala dan bahasa lainnya, memungkinkan pengembang untuk mengelola dan menanyakan tabel Delta secara terprogram.

Kontrol akses dan tata kelola

Meskipun Delta Lake tidak menerapkan kontrol keamanan secara asli, Delta Lake dapat berintegrasi dengan alat keamanan data dan tata kelola data. Alat ini kemudian dapat menggunakan metadata dari log transaksi untuk mengaudit aktivitas, melacak perubahan, dan menerapkan kebijakan kontrol akses berbasis peran (RBAC).

Dukungan untuk data batch dan streaming

Delta Lake dapat menerima data streaming dan batch, dan data dapat dikirim dari tabel Delta ke layanan yang terhubung sebagai aliran atau dalam batch.

Perkembangan terkini

Delta Lake 4.0, rilis besar terjadwal berikutnya untuk Delta Lake, berencana untuk menambahkan lebih banyak fitur, seperti:

  • Commi terkoordinasi untuk merampingkan proses penulisan ke beberapa tabel dan dari beberapa mesin sekaligus.

  • Varian "baru" tipe data untuk menyimpan data semiterstruktur, yang secara tradisional sulit disimpan dalam format tabel.

  • Pelebaran tipe, yang memungkinkan pengguna untuk mengubah tipe data kolom. 

Danau Delta vs. format tabel terbuka lainnya

Danau Delta vs. Apache Iceberg

Apache Iceberg adalah format sumber terbuka dengan kinerja tinggi untuk tabel analitik besar. Seperti Delta Lake, Iceberg membangun lapisan metadata di atas format tabel yang ada untuk mendukung transaksi ACID dan operasi lain dalam danau data.

Iceberg dapat menyimpan data dalam file Parquet, ORC atau Avro, sedangkan Delta Lake menggunakan Parquet secara eksklusif. Iceberg juga menggunakan lapisan metadata tiga tingkat alih-alih log transaksi tunggal seperti Delta Lake.

Iceberg terintegrasi secara native dengan banyak mesin kueri yang berbeda, dan merupakan pilihan umum untuk analisis berbasis SQL di danau data. 

Delta Lake vs. Apache Hudi

Seperti Delta Lake dan Iceberg, Hudi mempertahankan lapisan metadata di atas lapisan data. Hudi dapat menggunakan format file Parquet, HFile dan ORC, dan lapisan metadatanya berbentuk "garis waktu" yang mencatat semua yang terjadi di lapisan data.

Hudi dirancang untuk pemrosesan data tambahan, di mana kumpulan kecil data sering diproses. Fokus pada pemrosesan inkremental ini membuat Hudi menjadi pilihan umum untuk analitik waktu nyata dan pengambilan data perubahan (CDC). 

Peran Delta Lake dalam data lakehouse

Pengembangan format Delta Lake membantu membuka jalan bagi pembuatan data lakehouse.

Untuk waktu yang lama, organisasi terutama mengelola data mereka di gudang data. Meskipun berguna untuk analitik dan BI, gudang memerlukan skema yang ketat. Mereka tidak bekerja dengan baik dengan data yang tidak terstruktur atau semistruktur, yang telah menjadi lebih umum dan lebih penting karena organisasi meningkatkan investasi mereka dalam AI dan ML.

Munculnya danau data di awal tahun 2010-an memberikan organisasi cara untuk mengumpulkan semua jenis data dari semua jenis sumber data di satu lokasi.

Namun, danau data memiliki masalah tersendiri. Mereka sering kekurangan kontrol kualitas. Mereka tidak mendukung transaksi ACID, dan tidak mudah untuk melakukan kueri pada mereka secara langsung.

Agar data dapat digunakan, organisasi sering kali perlu membangun pipeline data ekstrak, transformasi, muat (ETL) yang terpisah untuk memindahkan data dari danau data ke gudang data.  

Delta Lake muncul pada tahun 2016, menambahkan transaksi ACID, penegakan skema, dan perjalanan waktu ke danau data, menjadikannya lebih dapat diandalkan untuk kueri langsung dan analitik.

Dijadikan sumber terbuka pada tahun 2019, Delta Lake memainkan peran kunci dalam membentuk arsitektur data lakehouse, yang menggabungkan fleksibilitas danau data dengan kinerja gudang data.

Banyak organisasi membuat data lakehouse dengan membangun lapisan penyimpanan Delta Lake di atas danau data yang sudah ada dan mengintegrasikannya dengan mesin pengolah data seperti Spark atau Hive.

Data lakehouse membantu mendukung integrasi data dan merampingkan arsitektur data dengan menghilangkan kebutuhan untuk memelihara danau data dan gudang data secara terpisah, yang dapat menyebabkan silo data.

Pada gilirannya, arsitektur yang disederhanakan ini membantu memastikan bahwa ilmuwan data, insinyur data, dan pengguna lain dapat mengakses data yang mereka butuhkan saat mereka membutuhkannya. Beban kerja AI dan ML adalah contoh penggunaan umum untuk rumah danau data yang didukung Delta Lake.

Danau data sendiri, dengan sendirinya, sudah berguna untuk beban kerja ini karena dapat menampung sejumlah besar data terstruktur, tidak terstruktur, dan semiterstruktur.

Dengan menambahkan fitur-fitur seperti transaksi ACID dan penegakan skema, Delta Lake membantu memastikan kualitas dan keandalan data pelatihan dengan cara yang tidak dapat dilakukan oleh danau data standar.  

Solusi terkait
IBM watsonx.data

Manfaatkan data Anda, di mana pun data tersebut berada, dengan data lakehouse terbuka hybrid untuk AI dan analitik.

Temukan watsonx.data
Solusi Data Lake

Atasi tantangan data saat ini dengan arsitektur lakehouse. Terhubung ke data dalam hitungan menit, dengan cepat mendapatkan insight tepercaya dan mengurangi biaya gudang data Anda.

Jelajahi solusi data lake IBM
Layanan konsultasi data dan analitik

Dapatkan nilai data perusahaan dengan IBM Consulting, membangun organisasi berbasis insight yang memberikan keuntungan bisnis.

Temukan layanan analitik
Ambil langkah selanjutnya

Rancang strategi data yang menghilangkan silo data, mengurangi kompleksitas, dan meningkatkan kualitas data untuk pengalaman pelanggan dan karyawan yang luar biasa.

Jelajahi solusi manajemen data Temukan watsonx.data