Cara kerja Iceberg - Amazon EMR

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Cara kerja Iceberg

Gunung es melacak file data individual dalam tabel, bukan di direktori. Hal ini memungkinkan penulis untuk membuat file data di tempat (file tidak dipindahkan atau dipindahkan atau diubah) dan hanya menambahkan file ke tabel dalam komit eksplisit. Status tabel dipertahankan dalam file metadata. Semua perubahan pada status tabel membuat file metadata baru yang secara atomik menggantikan metadata lama. File metadata tabel melacak skema tabel, konfigurasi partisi, dan properti lainnya.

Ini juga termasuk snapshot dari isi tabel. Setiap snapshot adalah satu set lengkap file data dalam tabel pada suatu titik waktu. Snapshot tercantum dalam file metadata, tetapi file dalam snapshot disimpan dalam file manifes terpisah. Transisi atom dari satu file metadata tabel ke file berikutnya memberikan isolasi snapshot. Pembaca menggunakan snapshot yang saat ini ketika mereka memuat metadata tabel dan tidak terpengaruh oleh perubahan sampai mereka menyegarkan dan mengambil lokasi metadata baru. File data dalam snapshot disimpan dalam satu atau beberapa file manifes yang berisi baris untuk setiap file data dalam tabel, data partisi, dan metriknya. Snapshot adalah penyatuan semua file dalam manifestasinya. File manifes juga dapat dibagikan di antara snapshot untuk menghindari penulisan ulang metadata yang jarang berubah.

Diagram snapshot gunung es


                Diagram dua snapshot. Setiap snapshot memiliki daftar manifes sendiri, yang menyimpan metadata tentang beberapa manifes yang dapat digunakan kembali. Setiap manifes mengacu pada satu atau beberapa file data.

Iceberg menawarkan fitur berikut:

  • Mendukung transaksi ACID dan perjalanan waktu di data danau Amazon S3.

  • Komit percobaan ulang manfaat dari keuntungan kinerja konkurensi optimis.

  • Resolusi konflik tingkat file menghasilkan konkurensi tinggi.

  • Statistik min-max per kolom dalam metadata memungkinkan melewatkan file, secara signifikan meningkatkan kinerja kueri yang sangat selektif.

  • Anda dapat mengatur tabel menjadi tata letak partisi yang fleksibel dengan evolusi partisi yang memungkinkan pembaruan skema partisi saat kueri dan volume data berubah tanpa bergantung pada direktori fisik.

  • Evolusi skema dan penegakan hukum.

  • Tabel gunung es bertindak sebagai wastafel idempoten dan sumber replayable. Ini memungkinkan streaming dan dukungan batch dengan saluran pipa yang tepat sekali. Sink idempoten melacak operasi tulis yang telah berhasil di masa lalu, sehingga wastafel dapat meminta ulang data jika terjadi kegagalan dan menjatuhkan data jika telah dikirim beberapa kali.

  • Sejarah dan garis keturunan yang dapat dilihat: evolusi tabel, riwayat operasi, dan statistik untuk setiap komit.

  • Kemampuan untuk bermigrasi dari dataset yang ada dengan pilihan format data (Parket, ORC, Avro) dan mesin analisis (Spark, Trino, PrestoDB, Flink, Hive).