Apa itu katalog di Azure Databricks?
Katalog adalah unit utama organisasi data dalam model tata kelola data Azure Databricks Unity Catalog. Artikel ini memberikan gambaran umum katalog di Katalog Unity dan cara terbaik untuk menggunakannya.
Katalog adalah lapisan pertama di namespace tiga tingkat Katalog Unity (catalog.schema.table-etc
). Mereka berisi skema, yang pada gilirannya dapat berisi tabel, tampilan, volume, model, dan fungsi. Katalog terdaftar di metastore Unity Catalog di akun Azure Databricks Anda.
Bagaimana cara mengatur data saya ke dalam katalog?
Saat merancang model tata kelola data, Anda harus memikirkan dengan cermat katalog yang Anda buat. Sebagai tingkat tertinggi dalam model tata kelola data organisasi Anda, setiap katalog harus mewakili unit logis isolasi data dan kategori logis akses data, memungkinkan hierarki hierarki hibah yang efisien mengalir ke skema dan objek data yang dikandungnya. Oleh karena itu, katalog sering mencerminkan unit organisasi atau cakupan siklus hidup pengembangan perangkat lunak. Anda dapat memilih, misalnya, untuk memiliki katalog untuk data produksi dan katalog untuk data pengembangan, atau katalog untuk data non-pelanggan dan satu untuk data pelanggan sensitif.
Isolasi data menggunakan katalog
Setiap katalog biasanya memiliki lokasi penyimpanan terkelolanya sendiri untuk menyimpan tabel dan volume terkelola, menyediakan isolasi data fisik di tingkat katalog. Anda juga dapat memilih untuk menyimpan data di tingkat metastore, menyediakan lokasi penyimpanan default untuk katalog yang tidak memiliki lokasi penyimpanan terkelola sendiri. Anda dapat menambahkan penyimpanan di tingkat skema untuk isolasi data yang lebih terperinci.
Karena akun Azure Databricks Anda memiliki satu metastore per wilayah, katalog secara inheren diisolasi menurut wilayah.
Untuk informasi selengkapnya, lihat Apa itu objek database di Azure Databricks? dan Data dipisahkan secara fisik dalam penyimpanan.
Hak istimewa tingkat katalog
Karena pemberian pada objek Katalog Unity apa pun diwariskan oleh anak-anak objek itu, memiliki katalog atau memiliki hak istimewa luas pada katalog sangat kuat. Misalnya, pemilik katalog memiliki semua hak istimewa pada katalog dan objek dalam katalog, dan mereka dapat memberikan akses ke objek apa pun di katalog. Pengguna dengan SELECT
pada katalog dapat membaca tabel apa pun di katalog. Pengguna dengan CREATE TABLE
pada katalog dapat membuat tabel dalam skema apa pun di katalog.
Untuk menegakkan prinsip hak istimewa paling sedikit, di mana pengguna memiliki akses minimum yang mereka butuhkan untuk melakukan tugas yang diperlukan, biasanya Anda memberikan akses hanya ke objek atau tingkat tertentu dalam hierarki yang diperlukan pengguna. Tetapi hak istimewa tingkat katalog memungkinkan pemilik katalog mengelola apa yang dapat diberikan oleh pemilik objek tingkat bawah. Bahkan jika pengguna diberikan akses ke objek data tingkat rendah seperti tabel, misalnya, pengguna tersebut tidak dapat mengakses tabel tersebut USE CATALOG
kecuali mereka juga memiliki hak istimewa pada katalog yang berisi tabel.
Untuk informasi selengkapnya, lihat Mengelola kepemilikan objek Katalog Unity, jenis hak istimewa Katalog Unity Umum, dan Tata kelola data dan blok penyusun isolasi data.
Jenis katalog
Saat membuat katalog, Anda diberi dua opsi:
- Katalog standar: katalog umum, digunakan sebagai unit utama untuk mengatur objek data Anda di Unity Catalog. Ini adalah jenis katalog yang dibahas dalam artikel ini.
- Katalog asing: objek Katalog Unity yang hanya digunakan dalam skenario Federasi Lakehouse. Katalog asing mencerminkan database dalam sistem data eksternal, memungkinkan Anda melakukan kueri baca-saja pada sistem data tersebut di ruang kerja Azure Databricks Anda. Lihat Apa itu Federasi Lakehouse?.
Selain kedua jenis katalog tersebut, Azure Databricks menyediakan katalog berikut secara otomatis saat Anda membuat ruang kerja baru:
hive_metastore
katalog: Ini adalah repositori semua data yang dikelola oleh metastore Apache Hive warisan di ruang kerja Azure Databricks. Ketika ruang kerja Katalog non-Unity yang ada dikonversi ke Katalog Unity, semua objek yang terdaftar di metastore Apache Hive warisan muncul di Katalog Unity dihive_metastore
katalog. Untuk informasi tentang bekerja dengan metastore Apache Hive bersama Katalog Unity, lihat Bekerja dengan Katalog Unity dan metastore Apache Hive warisan. Metastore Apache Hive tidak digunakan lagi, dan semua ruang kerja Azure Databricks harus bermigrasi ke Unity Catalog.- Katalog ruang kerja: Di semua ruang kerja baru, katalog ini dibuat untuk Anda secara default. Biasanya, ini berbagi namanya dengan nama ruang kerja Anda. Jika katalog ini ada, semua pengguna di ruang kerja Anda (dan hanya ruang kerja Anda) yang memiliki akses ke katalog secara default, yang menjadikannya tempat yang nyaman bagi pengguna untuk mencoba proses pembuatan dan akses objek data di Unity Catalog. Lihat Langkah 1: Konfirmasikan bahwa ruang kerja Anda diaktifkan untuk Katalog Unity.
Katalog default
Katalog default dikonfigurasi untuk setiap ruang kerja yang diaktifkan untuk Katalog Unity. Katalog default memungkinkan Anda melakukan operasi data tanpa menentukan katalog. Jika Anda menghilangkan nama katalog tingkat atas saat Anda melakukan operasi data, katalog default diasumsikan.
Jika ruang kerja Anda diaktifkan untuk Katalog Unity secara otomatis, katalog ruang kerja yang telah disediakan sebelumnya ditentukan sebagai katalog default. Admin ruang kerja dapat mengubah katalog default sesuai kebutuhan.
Untuk detailnya, lihat Mengelola katalog default.
Pengikatan katalog ruang kerja
Jika Anda menggunakan ruang kerja untuk mengisolasi akses data pengguna, Anda mungkin ingin menggunakan pengikatan katalog ruang kerja. Pengikatan katalog ruang kerja memungkinkan Anda membatasi akses katalog berdasarkan batas ruang kerja. Misalnya, Anda dapat memastikan bahwa admin dan pengguna ruang kerja hanya dapat mengakses data prod_catalog
produksi dari lingkungan ruang kerja produksi, prod_workspace
. Katalog dibagikan dengan semua ruang kerja yang dilampirkan ke metastore saat ini kecuali Anda menentukan pengikatan. Lihat Mengatur data Anda dan Membatasi akses katalog ke ruang kerja tertentu.
Jika ruang kerja Anda diaktifkan untuk Katalog Unity secara otomatis, katalog ruang kerja yang telah disediakan sebelumnya terikat ke ruang kerja Anda secara default.