Objek database di Azure Databricks
Azure Databricks menggunakan dua objek utama yang dapat diamankan untuk menyimpan dan mengakses data.
- Tabel mengatur akses ke data tabular.
- Volume mengatur akses ke data non-tabular.
Artikel ini menjelaskan bagaimana objek database ini berhubungan dengan katalog, skema, tampilan, dan objek database lainnya di Azure Databricks. Artikel ini juga menyediakan pengenalan tingkat tinggi tentang cara kerja objek database dalam konteks arsitektur platform secara keseluruhan.
Apa itu objek database di Azure Databricks?
Objek database adalah entitas yang membantu Anda mengatur, mengakses, dan mengatur data. Azure Databricks menggunakan hierarki tiga tingkat untuk menata objek database:
- Katalog: Kontainer tingkat atas, berisi skema. Lihat Apa itu katalog di Azure Databricks?.
- Skema atau database: Berisi objek data. Lihat Apa itu skema di Azure Databricks?.
- Objek data yang dapat dimuat dalam skema:
- Volume: volume logis data non-tabular di penyimpanan objek cloud. Lihat Apa itu volume Katalog Unity?.
- Tabel: kumpulan data yang diatur menurut baris dan kolom. Lihat Apa itu tabel dan tampilan?.
- Tampilan: kueri tersimpan terhadap satu atau beberapa tabel. Lihat Apa itu tampilan?.
- Fungsi: logika tersimpan yang mengembalikan nilai skalar atau sekumpulan baris. Lihat Fungsi yang ditentukan pengguna (UDF) di Unity Catalog.
- Model: model pembelajaran mesin yang dibungkus dengan MLflow. Lihat Mengelola siklus hidup model di Unity Catalog.
Katalog terdaftar di metastore yang dikelola di tingkat akun. Hanya admin yang berinteraksi langsung dengan metastore. Lihat Metastores.
Azure Databricks menyediakan aset tambahan untuk bekerja dengan data, yang semuanya dapat diatur menggunakan kontrol akses tingkat ruang kerja atau Unity Catalog, solusi tata kelola data Databricks:
- Aset data tingkat ruang kerja, seperti notebook, pekerjaan, dan kueri.
- Objek yang dapat diamankan Unity Catalog seperti kredensial penyimpanan dan berbagi Berbagi Delta, yang terutama mengontrol akses ke penyimpanan atau berbagi yang aman.
Untuk informasi selengkapnya, lihat Objek database vs. aset data yang dapat diamankan ruang kerja dan kredensial dan infrastruktur yang dapat diamankan Katalog Unity.
Mengelola akses ke objek database menggunakan Katalog Unity
Anda dapat memberikan dan mencabut akses ke objek database di tingkat apa pun dalam hierarki, termasuk metastore itu sendiri. Akses ke objek secara implisit memberikan akses yang sama ke semua turunan objek tersebut, kecuali akses dicabut.
Anda dapat menggunakan perintah ANSI SQL umum untuk memberikan dan mencabut akses ke objek di Katalog Unity. Anda juga dapat menggunakan Catalog Explorer untuk manajemen hak istimewa objek data berbasis UI.
Untuk informasi selengkapnya tentang mengamankan objek di Katalog Unity, lihat Objek yang dapat diamankan di Katalog Unity.
Izin objek default di Katalog Unity
Bergantung pada bagaimana ruang kerja Anda dibuat dan diaktifkan untuk Unity Catalog, pengguna Anda mungkin memiliki izin default pada katalog yang disediakan secara otomatis, termasuk main
katalog atau katalog ruang kerja (<workspace-name>
). Untuk informasi selengkapnya, lihat Hak istimewa pengguna default.
Jika ruang kerja Anda diaktifkan untuk Katalog Unity secara manual, ruang kerja tersebut menyertakan skema default bernama default
dalam main
katalog yang dapat diakses oleh semua pengguna di ruang kerja Anda. Jika ruang kerja Anda diaktifkan untuk Katalog Unity secara otomatis dan menyertakan <workspace-name>
katalog, katalog tersebut berisi skema bernama default
yang dapat diakses oleh semua pengguna di ruang kerja Anda.
Objek database vs. aset data yang dapat diamankan ruang kerja
Azure Databricks memungkinkan Anda mengelola beberapa rekayasa data, analitik, ML, dan aset AI bersama objek database Anda. Anda tidak mendaftarkan aset data ini di Unity Catalog. Sebagai gantinya, aset ini dikelola di tingkat ruang kerja, menggunakan daftar kontrol untuk mengatur izin. Aset data ini mencakup yang berikut ini:
- Notebook
- Dashboard
- Pekerjaan
- Pipelines
- File ruang kerja
- Kueri SQL
- Percobaan
Sebagian besar aset data berisi logika yang berinteraksi dengan objek database untuk mengkueri data, menggunakan fungsi, mendaftarkan model, atau tugas umum lainnya. Untuk mempelajari selengkapnya tentang mengamankan aset data ruang kerja, lihat Daftar kontrol akses.
Catatan
Akses ke komputasi diatur oleh daftar kontrol akses. Anda mengonfigurasi komputasi dengan mode akses dan dapat menambahkan izin cloud tambahan, yang mengontrol bagaimana pengguna dapat mengakses data. Databricks merekomendasikan penggunaan kebijakan komputasi dan membatasi hak istimewa pembuatan kluster sebagai praktik terbaik tata kelola data. Lihat Mode akses.
Kredensial dan infrastruktur yang dapat diamankan Katalog Unity
Katalog Unity mengelola akses ke penyimpanan objek cloud, berbagi data, dan federasi kueri menggunakan objek yang dapat diamankan yang terdaftar di tingkat metastore. Berikut ini adalah deskripsi singkat tentang objek yang tidak dapat diamankan data ini.
Menyambungkan Katalog Unity ke penyimpanan objek cloud
Anda harus menentukan kredensial penyimpanan dan lokasi eksternal untuk membuat lokasi penyimpanan terkelola baru atau mendaftarkan tabel eksternal atau volume eksternal. Objek yang dapat diamankan ini terdaftar di Unity Catalog:
- Kredensial penyimpanan: Kredensial cloud jangka panjang yang menyediakan akses ke penyimpanan cloud.
- Lokasi eksternal: Referensi ke jalur penyimpanan objek cloud yang dapat diakses menggunakan kredensial penyimpanan yang dipasangkan.
Lihat Menyambungkan ke penyimpanan objek cloud menggunakan Katalog Unity.
Berbagi Delta
Azure Databricks mendaftarkan objek yang dapat diamankan Berbagi Delta berikut di Unity Catalog:
- Berbagi: Kumpulan tabel, volume, dan aset data baca-saja.
- Penyedia: Organisasi atau entitas yang berbagi data. Dalam model berbagi Databricks-to-Databricks, penyedia terdaftar dalam metastore Unity Catalog penerima sebagai entitas unik yang diidentifikasi oleh ID metastore-nya.
- Penerima: Entitas yang menerima berbagi dari penyedia. Dalam model berbagi Databricks-to-Databricks, penerima diidentifikasi ke penyedia dengan ID metastore unik mereka.
Lihat Apa itu Berbagi Delta?.
Federasi Lakehouse
Federasi Lakehouse memungkinkan Anda membuat katalog asing untuk menyediakan akses baca-saja ke data yang berada di sistem lain seperti PostgreSQL, MySQL, dan Snowflake. Anda harus menentukan koneksi ke sistem eksternal untuk membuat katalog asing.
Koneksi: Objek yang dapat diamankan Katalog Unity menentukan jalur dan kredensial untuk mengakses sistem database eksternal dalam skenario Federasi Lakehouse.
Lihat Apa itu Federasi Lakehouse?.
Lokasi penyimpanan terkelola untuk volume dan tabel terkelola
Saat Anda membuat tabel dan volume Azure Databricks, Anda memiliki pilihan untuk membuatnya dikelola atau eksternal. Unity Catalog mengelola akses ke tabel dan volume eksternal dari Azure Databricks tetapi tidak mengontrol file yang mendasar atau sepenuhnya mengelola lokasi penyimpanan file tersebut. Tabel dan volume terkelola, di sisi lain, dikelola sepenuhnya oleh Katalog Unity dan disimpan di lokasi penyimpanan terkelola yang terkait dengan skema yang berisi. Lihat Menentukan lokasi penyimpanan terkelola di Katalog Unity.
Databricks merekomendasikan volume terkelola dan tabel terkelola untuk sebagian besar beban kerja, karena menyederhanakan konfigurasi, pengoptimalan, dan tata kelola.
Katalog Unity vs. metastore Apache Hive warisan
Databricks merekomendasikan penggunaan Unity Catalog untuk mendaftarkan dan mengatur semua objek database, tetapi juga menyediakan dukungan warisan untuk metastore Apache Hive untuk mengelola skema, tabel, tampilan, dan fungsi.
Jika Anda berinteraksi dengan objek database yang terdaftar menggunakan metastore Apache Hive, lihat Objek database di metastore Apache Hive warisan.