Arsitektur teknis Lakehouse tanpa batas mendukung interoperabilitas antar-mesin dengan memusatkan pengelolaan metadata dan menangani kueri melalui jalur tertentu.
Arsitektur
Membangun Lakehouse Google Cloud terdiri dari komponen teknis berikut:
Penyimpanan: Cloud Storage dan penyimpanan BigQuery berfungsi sebagai lapisan penyimpanan, dengan Apache Iceberg sebagai format tabel terbuka yang direkomendasikan untuk penyimpanan berperforma tinggi dan interoperabel di Cloud Storage. Dengan Lakehouse tanpa batas, data Anda tidak perlu berada di Google Cloud. Dengan menyiapkan koneksi lintas cloud (Pratinjau) ke katalog jarak jauh yang didukung, Anda dapat menyimpan data di sistem penyimpanan cloud lain, seperti Amazon S3, dan membuat kueri tanpa memigrasikan file atau membangun pipeline ETL.
Katalog: Katalog runtime Lakehouse menyediakan satu sumber tepercaya untuk mengelola metadata. Metastore BigLake memusatkan penemuan metadata di beberapa mesin menggunakan berbagai opsi kompatibilitas, seperti endpoint katalog REST Apache Iceberg. Pendaftaran tabel ke dalam katalog akan otomatis mendaftarkan entri ke dalam katalog pengetahuan metadata bisnis.
Mesin kueri: BigQuery dan mesin open source—termasuk Apache Spark, Apache Flink, dan Trino—berinteroperasi dengan lancar dengan terhubung ke katalog runtime Lakehouse. Compute Engine seperti Managed Service untuk Apache Spark menggunakan Apache Spark open source dengan pengoptimalan eksekusi untuk membantu memastikan portabilitas beban kerja dan menghindari keterikatan pada vendor.
Tata kelola: Knowledge Catalog menyediakan kebijakan keamanan, silsilah, dan tata kelola terpusat di seluruh lakehouse Anda.
Alat penulisan dan analisis data: Mesin dan alat terintegrasi menyediakan beberapa jalur untuk penyerapan dan analisis data, sehingga membantu memastikan akses data yang konsisten bagi data scientist dan analis.
Hierarki resource
Lakehouse Google Cloud mengatur data menggunakan hierarki yang sesuai dengan standar Apache Iceberg dan konsep database standar. Struktur ini memungkinkan katalog runtime Lakehouse memetakan identitas logis ke jalur penyimpanan fisik. Untuk berinteraksi dengan hierarki resource ini dan menghubungkan mesin kueri Anda ke katalog, Anda menggunakan endpoint tertentu, seperti yang dijelaskan dalam daftar berikut.
- Katalog runtime Lakehouse: Resource layanan regional tingkat teratas di Google Cloud yang menghosting metadata Anda. Untuk menghubungkan mesin kueri ke layanan ini dan mengelola katalog yang mendasarinya, Anda mengonfigurasi aplikasi klien menggunakan endpoint katalog tertentu, seperti endpoint katalog REST Apache Iceberg.
- Katalog: Penampung logis dalam layanan katalog runtime. Dalam struktur penamaan Project/Catalog/Namespace/Table (P.C.N.T), ini mewakili instance katalog tertentu yang Anda kueri.
- Namespace: Pengelompokan logis tabel dalam katalog. Bagi pengguna yang sudah memahami BigQuery, namespace secara fungsional mirip dengan set data.
- Tabel: Entity spesifik yang mengarah ke data di Cloud Storage. Metadata tabel berisi skema, informasi
partisi, dan pointer ke status tabel saat ini melalui file
metadata.jsonApache Iceberg.
Endpoint yang didukung
Katalog runtime Lakehouse menyediakan beberapa endpoint untuk menghubungkan data Anda di seluruh Cloud Storage dan BigQuery.
Endpoint katalog REST Apache Iceberg: Menyediakan antarmuka REST standar untuk kompatibilitas yang luas dengan mesin open source seperti Apache Spark, Apache Flink, dan Trino. Ini adalah antarmuka yang direkomendasikan untuk workload baru dan menawarkan interoperabilitas baca dan tulis penuh.
Katalog Apache Iceberg kustom untuk endpoint BigQuery: Memungkinkan mesin beroperasi langsung dengan katalog BigQuery. Antarmuka ini digunakan terutama untuk tabel Apache Iceberg yang dikelola oleh BigQuery dan workload yang ada yang bertransisi ke arsitektur Lakehouse.
Endpoint katalog Apache Hive: Memberikan kompatibilitas untuk workload open source yang bergantung pada antarmuka Apache Hive metastore (HMS). Dengan begitu, Anda dapat menjalankan workload Apache Hive atau Spark terhadap layanan metastore yang terkelola sepenuhnya di Google Cloud.
Katalog runtime Lakehouse
Dalam hierarki resource, katalog runtime Lakehouse berfungsi sebagai layanan metadata regional tingkat atas di Google Cloud. Metastore ini bertindak sebagai container root yang menghosting instance katalog individual, sehingga memusatkan penemuan metadata di berbagai mesin kueri yang berbeda.
Layanan ini menerapkan API Katalog REST Apache Iceberg open source untuk mengelola namespace dan tabel, serta menyediakan ekstensi khusus untuk pengelolaan katalog.
Untuk mempelajari layanan metastore lebih mendalam, termasuk kemampuan utama, mesin yang didukung, konfigurasi endpoint, dan batasan, lihat Tentang katalog runtime Lakehouse.
Katalog
Katalog adalah container metastore logis yang didukung oleh lokasi warehouse Cloud Storage. Dalam struktur penamaan Project.Catalog.Namespace.Table (P.C.N.T), katalog mewakili instance metastore unik yang menghubungkan metadata tabel terbuka Anda dengan mesin kueri.
Karakteristik utama katalog meliputi:
- Asosiasi penyimpanan: Hubungan antara katalog dan penyimpanan dasarnya bergantung pada jenis katalog yang Anda konfigurasi.
- Replikasi regional: Region katalog otomatis cocok dengan region bucket yang mendasarinya.
- Delegasi akses: Administrator dapat mengaktifkan penyediaan kredensial di katalog untuk mendelegasikan akses, sehingga kredensial berjangka pendek dengan cakupan yang lebih kecil dapat dibuat secara otomatis, bukan memberikan izin bucket langsung kepada pengguna.
Namespace
Namespace adalah pengelompokan logis tabel dalam katalog, yang berfungsi mirip dengan database, skema, atau set data BigQuery. Fitur ini menyediakan struktur untuk mengatur dan mengelola kontrol akses untuk tabel.
Karakteristik utama namespace meliputi:
- Regionalitas: Saat Anda membuat namespace, namespace tersebut akan otomatis menggunakan region yang sama dengan katalog induknya.
- Fleksibilitas lokasi: Opsi untuk menentukan lokasi namespace kustom ditentukan oleh jenis warehouse katalog.
- Batasan bertingkat: Namespace bertingkat (sub-namespace) tidak didukung.
- Batas keamanan: Anda dapat memberikan peran IAM di level namespace untuk mengelola akses ke semua tabel yang ada di dalamnya.
Tabel
Saat membangun dengan Lakehouse Google Cloud, Anda dapat memilih dari jenis tabel berikut:
Didukung oleh katalog runtime Lakehouse
Direkomendasikan
Tabel Apache Iceberg: Tabel Apache Iceberg yang dibuat dari mesin open source dan disimpan di Cloud Storage. Endpoint ini menawarkan kompatibilitas dan pengelolaan terbuka melalui endpoint REST katalog runtime Lakehouse. Untuk memastikan tidak ada dua tabel yang menempati lokasi yang sama, jalur tabel kustom harus disusun bertingkat di bawah jalur namespace induk, dan lokasi tabel yang dihasilkan secara otomatis menerima akhiran string acak untuk mencegah konflik.
Format tabel yang didukung
Tabel Apache Iceberg V2 (GA) dan tabel V3 (Pratinjau) didukung. Tabel Iceberg V1 tidak didukung. Sebelum menggunakan tabel V1 yang ada dengan Lakehouse, Anda harus mengupgrade tabel tersebut ke versi yang didukung. Untuk mengetahui informasi selengkapnya, lihat Mengupgrade tabel Iceberg V1 ke V2.
Didukung oleh BigQuery
- Tabel Apache Iceberg: Tabel Apache Iceberg yang dibuat dan dikelola oleh BigQuery. Metadata untuk tabel ini disimpan di katalog BigQuery, sedangkan data tabel dan metadata fisik disimpan di Cloud Storage.
- Tabel native: Tabel yang terkelola sepenuhnya oleh BigQuery yang dapat dihubungkan ke katalog runtime Lakehouse agar Anda dapat berinteroperasi dengan mesin open source.
- Tabel eksternal: Tabel di luar katalog runtime Lakehouse tempat data dan metadata dikelola sendiri. Koneksi ini mendukung akses yang didelegasikan melalui koneksi untuk data yang disimpan di Cloud Storage, Amazon S3, atau Azure Blob Storage.
Untuk perbandingan mendetail tentang opsi ini, lihat Memahami jenis dan kemampuan tabel.
Urutan pemrosesan kueri
Saat Anda mengirimkan kueri ke tabel Apache Iceberg yang dikelola oleh Lakehouse, permintaan akan mengikuti jalur tertentu untuk menerapkan kebijakan dan mengambil metadata sebelum data diproses.
- Pengiriman: Anda mengirimkan kueri SQL ke mesin yang kompatibel seperti Apache Spark, Trino, atau BigQuery.
- Permintaan metadata: Mesin meminta metadata tabel dari katalog runtime Lakehouse untuk mengidentifikasi tabel dan lokasi metadatanya.
- Otorisasi: Jika didukung oleh endpoint yang Anda gunakan, katalog akan memvalidasi permintaan terhadap Identity and Access Management (IAM) dan kebijakan keamanan terperinci.
- Respons metadata: Katalog menampilkan metadata. Jika penjualan kredensial diaktifkan, layanan ini juga menyediakan token berumur pendek untuk membantu akses penyimpanan yang aman.
- Pengambilan data: Mesin menggunakan metadata dan token opsional untuk membaca file data langsung dari Cloud Storage.
- Eksekusi: Mesin memproses data dan menampilkan hasilnya.
Praktik terbaik
Saat merancang dan mengoperasikan data lakehouse di Google Cloud, pertimbangkan praktik terbaik berikut:
- Terapkan arsitektur medalion: Atur data warehouse Anda ke dalam lapisan logis progresif (bronze untuk penyerapan mentah, silver untuk data yang dibersihkan dan disesuaikan, dan gold untuk agregasi tingkat bisnis yang diseleksi). Gunakan BigQuery untuk lapisan konsumsi gold guna memaksimalkan performa dan konkurensi kueri.
- Gunakan template sesi untuk workload interaktif: Untuk analisis eksploratif dan penulisan notebook, gunakan template sesi untuk menstandardisasi konfigurasi lingkungan di seluruh tim pengembangan dan mengurangi penyiapan berulang.
- Menetapkan ID batch kustom: Saat mengirimkan workload batch Apache Spark serverless non-interaktif, tetapkan nama batch dan tugas kustom. Hal ini meningkatkan kemampuan observasi, yang membantu Anda memfilter dan melacak eksekusi tugas dalam Cloud Logging dan konsol Google Cloud .
- Aktifkan logging diagnostik: Untuk pipeline rekayasa data yang kompleks, aktifkan paket diagnostik dan bantu memastikan log driver dan eksekutor dipertahankan untuk membantu pemecahan masalah dan dukungan.
Langkah berikutnya
- Untuk pembahasan mendalam tentang layanan metastore, lihat Tentang katalog runtime Lakehouse.
- Gunakan katalog runtime Lakehouse dengan Apache Spark, BigQuery, dan endpoint katalog REST Apache Iceberg.