Apa itu Apache Iceberg?

Apache Iceberg adalah format tabel data yang terdistribusi, berbasis komunitas, berlisensi Apache 2.0, dan 100% sumber terbuka yang membantu menyederhanakan pemrosesan data pada set data besar yang disimpan di danau data. Rekayasawan data menggunakan Apache Iceberg karena cepat, efisien, serta dapat diandalkan dalam skala berapa pun dan menyimpan catatan tentang perubahan set data dari waktu ke waktu. Apache Iceberg menawarkan integrasi yang mudah dengan kerangka kerja pemrosesan data populer, seperti Apache Spark, Apache Flink, Apache Hive, Presto, dan masih banyak lagi.

Apa itu danau data transaksional?

Danau data adalah repositori terpusat yang memungkinkan Anda untuk menyimpan semua data terstruktur dan tidak terstruktur dalam skala apa pun. Transaksi data adalah serangkaian pertukaran data yang dilakukan dalam satu operasi. Misalnya, ketika seorang pelanggan menarik uang dari rekening, bank akan melakukan beberapa pertukaran data secara bersamaan dalam satu transaksi data, termasuk memverifikasi bahwa rekening memiliki saldo yang cukup, memverifikasi identitas, dan mendebit penarikan dari rekening. Danau data transaksional adalah tipe danau data yang tidak hanya menyimpan data dalam skala besar, tetapi juga mendukung operasi transaksional dan memastikan bahwa data sudah akurat, konsisten, dan memungkinkan Anda untuk melacak perubahan data serta struktur data dari waktu ke waktu. Properti ini secara kolektif dikenal sebagai Atomisitas, Konsistensi, Isolasi, dan Daya Tahan (Atomicity, Consistency, Isolation, and Durability atau ACID):

  • Atomisitas menjamin bahwa setiap transaksi adalah satu peristiwa tunggal yang berhasil atau gagal sepenuhnya; tidak ada status setengah jalan. 
  • Konsistensi memastikan bahwa semua data yang ditulis adalah valid sesuai dengan aturan danau data yang ditetapkan, yang memastikan bahwa data sudah akurat dan andal. 
  • Isolasi memastikan beberapa transaksi dapat berlangsung secara bersamaan tanpa saling mengganggu, yang memastikan bahwa setiap transaksi berjalan secara independen.
  • Daya Tahan berarti bahwa data tidak hilang atau rusak setelah transaksi dikirimkan. Data dapat dipulihkan jika terjadi kegagalan sistem, seperti pemadaman listrik.

Apa saja manfaat penggunaan Apache Iceberg?

Beberapa manfaat utama menggunakan Apache Iceberg untuk danau data transaksional meliputi:

  • SQL sudah dikenal: Bahasa kueri terstruktur (SQL) adalah bahasa kueri populer yang sering digunakan di semua tipe aplikasi. Para analis data dan developer belajar serta menggunakan SQL karena terintegrasi baik dengan bahasa pemrograman yang lain dan juga cukup mudah dipelajari karena menggunakan kata kunci bahasa Inggris yang umum dalam pernyataannya. Apache Iceberg mengizinkan siapa saja yang familier dengan bahasa kueri terstruktur (SQL) untuk membangun danau data serta melakukan sebagian besar operasi danau data tanpa harus mempelajari bahasa baru.
  • Konsistensi Data: Apache Iceberg memberikan konsistensi data untuk memastikan bahwa setiap pengguna yang membaca dan menulis pada data akan melihat data yang sama. 
  • Struktur data: Apache Iceberg memungkinkan perubahan yang mudah pada struktur data Anda, dikenal juga sebagai evolusi skema, yang berarti bahwa pengguna dapat menambahkan, mengganti nama, atau menghapus kolom dari tabel data tanpa mengganggu data dasarnya.
  • Versioning Data: Apache Iceberg memberikan dukungan untuk versioning data, yang memungkinkan pengguna untuk melacak perubahan data dari ke waktu. Hal ini memungkinkan fitur perjalanan waktu, sehingga pengguna dapat mengakses dan meminta versi historis data serta menganalisis perubahan data antara pembaruan dan penghapusan.
  • Dukungan lintas platform: Apache Iceberg mendukung berbagai sistem penyimpanan dan mesin kueri yang berbeda, termasuk Apache Spark, Apache Hive, dan Presto. Hal ini mempermudah penggunaan Iceberg dalam berbagai lingkungan pengolahan data yang berbeda.
  • Pemrosesan inkremental: Iceberg mendukung pemrosesan inkremental, yang memungkinkan pengguna untuk hanya memproses data yang telah berubah sejak proses terakhir, dikenal juga sebagai CDC (Pengambilan Data Perubahan). Proses ini dapat membantu meningkatkan efisiensi dan performa pemrosesan data.

Apa saja kasus penggunaan Apache Iceberg yang umum?

Apache Iceberg cocok untuk banyak kasus penggunaan danau data, termasuk:

  • Tabel data di danau data yang harus sering dihapus, seperti saat menerapkan undang-undang privasi data.
  • Tabel data di danau data yang memerlukan pembaruan tingkat catatan. Tabel ini sangat membantu ketika set data Anda harus sering diperbarui setelah data dimasukkan, misalnya, data penjualan yang mungkin berubah karena peristiwa setelahnya seperti pengembalian pelanggan. Iceberg menyediakan kemampuan untuk memperbarui catatan individu tanpa perlu memublikasikan ulang seluruh set data.
  • Tabel data dalam danau data yang perubahannya tidak dapat diprediksi, seperti tabel Slowly Changing Dimension (SCD). Contoh SCD adalah tabel catatan pelanggan yang mencakup nama, lokasi, dan informasi kontak yang dapat berubah seiring waktu pada interval yang tidak diketahui.
  • Ketika transaksi dengan danau data membutuhkan jaminan validitas data, daya tahan, dan keandalan, format tabel Apache Iceberg dapat di-deploy untuk memastikan unsur ACID dalam transaksi.
  • Jika perlu kembali ke masa lalu untuk meminta versi historis data guna melakukan analisis tren, analisis perubahan data selama periode waktu tertentu, atau kembalikan atau jalankan kembali versi sebelumnya untuk memperbaiki masalah.

Siapa yang sebaiknya menggunakan Apache Iceberg?

Rekayasawan data, administrator data, analis data, dan ilmuwan data adalah beberapa peran yang menggunakan Apache Iceberg.  Rekayasawan dan administrator data dapat menggunakan Apache Iceberg untuk mendesain dan membangun sistem penyimpanan data yang dapat diskalakan.  Analis data dan ilmuwan data dapat menggunakan Apache Iceberg untuk menganalisis set data besar secara efisien. 

Mengapa Anda harus memilih Apache Iceberg?

Apache Iceberg menawarkan cara yang cepat dan efisien untuk memproses set data besar dalam skala besar. Layanan tersebut memberikan manfaat sebagai berikut:

  1. Sumber terbuka: Apache Iceberg adalah proyek sumber terbuka, yang berarti gratis untuk digunakan dan dapat dibuat kustom untuk memenuhi kebutuhan khusus Anda. Apache Iceberg juga memiliki komunitas developer aktif yang terus meningkatkan dan menambahkan fitur baru ke proyek. 
  2. Skalabilitas:  Apache Iceberg didesain untuk menangani set data besar secara efisien. Apache Iceberg dapat membagi dan mengatur data di beberapa simpul, sehingga membantu mendistribusikan beban kerja serta mempercepat pemrosesan data. 
  3. Performa: Apache Iceberg memiliki berbagai fitur untuk mengoptimalkan kinerja kueri, termasuk penyimpanan kolom dan teknik kompresi seperti predicate push down dan evolusi skema. 
  4. Fleksibilitas:  Apache Iceberg memungkinkan Anda untuk mengubah cara pengaturan data sehingga dapat berkembang dari waktu ke waktu tanpa mengharuskan Anda untuk menulis ulang kueri atau membangun kembali struktur data. Apache Iceberg juga mendukung beberapa format data dan sumber data, yang membuatnya mudah untuk diintegrasikan dengan sistem yang ada. 
  5. Keandalan:  Apache Iceberg memastikan konsistensi data dan keandalannya melalui dukungan untuk transaksi. Anda dapat melacak perubahan data dari waktu ke waktu dan kembali ke versi historis untuk membantu memperbaiki masalah.

Layanan AWS apa yang mendukung Iceberg?

Apache Iceberg mendukung kerangka kerja pemrosesan data yang populer seperti Apache Spark, Apache Flink, Apache Hive, dan Presto. Layanan AWS seperti Amazon AthenaAmazon EMR, dan AWS Glue, menyertakan dukungan native untuk kerangka kerja danau data transaksional, termasuk Apache Iceberg. Apache Iceberg bersama dengan layanan AWS yang didukung memungkinkan danau data transaksional, seringkali berdasarkan pada penyimpanan di S3.

  • Amazon Athena adalah layanan analitik nirserver dan interaktif yang dibangun pada kerangka kerja sumber terbuka, sehingga mendukung format file serta tabel terbuka. Athena memberikan cara sederhana dan fleksibel untuk menganalisis petabita data di tempat data berada. Athena menyediakan dukungan native untuk kueri baca, perjalanan waktu, tulis, dan DDL bagi tabel Apache Iceberg yang menggunakan format Apache Parquet untuk data serta katalog AWS Glue untuk metastore-nya. 
  • Amazon EMR merupakan solusi big data untuk pemrosesan data berskala petabita, analitik interaktif, dan machine learning yang menggunakan kerangka kerja sumber terbuka, seperti Apache Spark, Hadoop, Presto, dan Hive. Dimulai dengan Amazon EMR 6.5.0, Anda dapat menggunakan Apache Spark 3 di klaster Amazon EMR dengan format tabel Iceberg. Kerangka kerja EMR termasuk Spark, Trino, Flink dan Hive mendukung Apache Iceberg.
  • AWS Glue adalah layanan integrasi data nirserver yang memudahkan untuk menemukan, menyiapkan, memindahkan, dan mengintegrasikan data dari beberapa sumber untuk analitik, machine learning (ML), serta pengembangan aplikasi.  AWS Glue 3.0 dan yang lebih baru mendukung kerangka kerja Apache Iceberg untuk danau data. Anda dapat menggunakan AWS Glue untuk melakukan operasi baca dan tulis pada tabel Iceberg di Amazon S3, atau bekerja dengan tabel Iceberg menggunakan Katalog Data AWS Glue. Operasi tambahan mencakup penyisipan, pembaruan, dan semua kueri Spark serta operasi tulis Spark juga didukung. 

Langkah Berikutnya di AWS

Lihat sumber daya terkait produk tambahan
Lihat Layanan Analitik  
Daftar untuk akun gratis

Dapatkan akses secara instan ke AWS Tingkat Gratis.

Daftar 
Mulai membangun di konsol

Mulai membangun di Konsol Manajemen AWS.

Masuk