Datenbankobjekte in Azure Databricks
Azure Databricks verwendet zwei primäre sicherungsfähige Objekte zum Speichern von Daten und Zugreifen auf Daten.
- Tabellen steuern den Zugriff auf tabellarische Daten.
- Volumes steuern den Zugriff auf nicht tabellarische Daten.
In diesem Artikel wird beschrieben, wie diese Datenbankobjekte mit Katalogen, Schemas, Ansichten und anderen Datenbankobjekten in Azure Databricks zusammenhängen. Dieser Artikel enthält auch eine allgemeine Einführung in die Funktionsweise von Datenbankobjekten im Kontext der allgemeinen Plattformarchitektur.
Was sind Datenbankobjekte in Azure Databricks?
Datenbankobjekte sind Entitäten, die Ihnen beim Organisieren und Steuern von Daten sowie beim Zugriff auf Daten helfen. Azure Databricks verwendet eine dreistufige Hierarchie zum Organisieren von Datenbankobjekten:
- Katalog: Der Container der obersten Ebene, der Schemas enthält. Weitere Informationen finden Sie unter Was sind Kataloge in Azure Databricks?.
- Schema oder Datenbank: Enthält Datenobjekte. Weitere Informationen finden Sie unter Was sind Schemas in Azure Databricks?.
- Datenobjekte, die in einem Schema enthalten sein können:
- Volume: Ein logisches Volume nicht tabellarischer Daten in Cloudobjektspeicher. Weitere Informationen finden Sie unter Was sind Unity Catalog-Volumes?.
- Tabelle: Eine in Zeilen und Spalten organisierte Sammlung von Daten. Siehe Was sind Tabellen und Ansichten?.
- Ansicht: Eine gespeicherte Abfrage für eine oder mehrere Tabellen. Weitere Informationen finden Sie unter Was ist eine Sicht?.
- Funktion: gespeicherte Logik, die einen Skalarwert oder eine Gruppe von Zeilen zurückgibt. Weitere Informationen finden Sie unter User-defined functions (UDFs) in Unity Catalog (Benutzerdefinierte Funktionen (UDFs) in Unity Catalog).
- Modell: Ein mit MLflow gepacktes Machine Learning-Modell. Weitere Informationen dazu finden Sie unter Verwalten des Lebenszyklus von Modellen in Unity Catalog.
Kataloge werden in einem Metastore registriert, der auf der Kontoebene verwaltet wird. Nur Administratoren interagieren direkt mit dem Metastore. Weitere Informationen finden Sie unter Metastores.
Azure Databricks bietet zusätzliche Ressourcen für die Arbeit mit Daten, die alle mit Zugriffssteuerungen auf Arbeitsbereichsebene oder Unity Catalog, der Datengovernancelösung von Databricks, gesteuert werden können:
- Datenressourcen auf Arbeitsbereichsebene wie Notebooks, Aufträge und Abfragen
- Sicherungsfähige Unity Catalog-Objekte wie Speicheranmeldeinformationen und Delta Sharing-Freigaben, die in erster Linie den Zugriff auf Speicher oder sichere Freigaben steuern
Weitere Informationen finden Sie unter Datenbankobjekte im Vergleich zu sicherungsfähigen Datenressourcen im Arbeitsbereich und Sicherungsfähige Unity Catalog-Anmeldeinformationen und Infrastruktur.
Verwalten des Zugriffs auf Datenbankobjekte mit Unity Catalog
Sie können auf jeder Ebene der Hierarchie Zugriff auf Datenbankobjekte gewähren und widerrufen. Das gilt auch für den Metastore selbst. Durch Zugriff auf ein Objekt wird implizit der gleiche Zugriff auf alle untergeordneten Elemente dieses Objekts gewährt, es sei denn, der Zugriff wird widerrufen.
Sie können typische ANSI SQL-Befehle verwenden, um Zugriff auf Objekte in Unity Catalog zu gewähren und zu widerrufen. Sie können auch den Katalog-Explorer verwenden, um Datenobjektberechtigungen über die Benutzeroberfläche zu verwalten.
Weitere Informationen zum Sichern von Objekten in Unity Catalog finden Sie unter Sicherungsfähige Objekte in Unity Catalog.
Standardobjektberechtigungen in Unity Catalog
Je nachdem, wie Ihr Arbeitsbereich für Unity-Katalog erstellt und aktiviert wurde, verfügen Ihre Benutzer möglicherweise über Standardberechtigungen für automatisch bereitgestellte Kataloge, einschließlich des main
-Katalogs oder des Arbeitsbereichkatalogs (<workspace-name>
). Weitere Informationen finden Sie unter Standardbenutzerberechtigungen.
Wenn Ihr Arbeitsbereich manuell für den Unity Catalog aktiviert wurde, enthält er ein Standardschema mit dem Namen default
im main
-Katalog, das für alle Benutzer*innen in Ihrem Arbeitsbereich zugänglich ist. Wenn Ihr Arbeitsbereich für Unity-Katalog automatisch aktiviert wurde, enthält Ihr Arbeitsbereich ein Schema mit dem Namen default
im <workspace-name>
-Katalog, das für alle Benutzer*innen in Ihrem Arbeitsbereich zugänglich ist.
Datenbankobjekte im Vergleich zu sicherungsfähigen Datenressourcen im Arbeitsbereich
Mit Azure Databricks können Sie mehrere Datentechnik-, Analyse-, Machine Learning- und KI (künstliche Intelligenz)-Ressourcen zusammen mit Ihren Datenbankobjekten verwalten. Sie registrieren diese Datenressourcen nicht in Unity Catalog. Stattdessen werden diese Ressourcen auf Arbeitsbereichsebene mithilfe von Steuerungslisten verwaltet, um die Berechtigungen zu steuern. Zu diesen Datenressourcen zählt Folgendes:
- Notebooks
- Dashboards
- Aufträge
- Pipelines
- Arbeitsbereichsdateien
- SQL-Abfragen
- Experimente
Die meisten Datenressourcen enthalten Logik, die mit Datenbankobjekten interagiert, um Daten abzufragen, Funktionen zu verwenden, Modelle zu registrieren oder andere allgemeine Aufgaben auszuführen. Weitere Informationen zum Sichern der Datenressourcen in Arbeitsbereichen finden Sie unter Zugriffssteuerungslisten.
Hinweis
Der Zugriff auf Computeressourcen wird über Zugriffssteuerungslisten gesteuert. Sie konfigurieren eine Computeressource mit einem Zugriffsmodus und können zusätzliche Cloudberechtigungen hinzufügen, die bestimmen, wie Benutzer auf Daten zugreifen können. Databricks empfiehlt die Verwendung von Computerichtlinien und das Einschränken von Clustererstellungsberechtigungen als bewährte Methode für die Datengovernance. Weitere Informationen finden Sie unter Zugriffsmodi.
Sicherungsfähige Unity Catalog-Anmeldeinformationen und Infrastruktur
Unity Catalog verwaltet den Zugriff auf Cloudobjektspeicher, die Datenfreigabe und den Abfrageverbund mithilfe sicherungsfähiger Objekte, die auf Metastore-Ebene registriert werden. Im Folgenden finden Sie eine kurze Beschreibung dieser sicherungsfähigen Objekte, bei denen es sich nicht um Datenobjekte handelt.
Verbinden von Unity Catalog mit Cloudobjektspeicher
Sie müssen Speicheranmeldeinformationen und externe Speicherorte definieren, um einen neuen verwalteten Speicherort zu erstellen oder externe Tabellen oder externe Volumes zu registrieren. Die folgenden sicherungsfähigen Objekte werden in Unity Catalog registriert:
- Speicheranmeldeinformationen: Langfristige Cloudanmeldeinformationen, die Zugriff auf Cloudspeicher bieten
- Externer Speicherort: Ein Verweis auf einen Cloudobjekt-Speicherpfad, auf den mithilfe der gekoppelten Speicheranmeldeinformationen zugegriffen werden kann
Weitere Informationen finden Sie unter Herstellen einer Verbindung mit Cloudobjektspeichern mithilfe von Unity Catalog.
Delta Sharing
Azure Databricks registriert die folgenden sicherungsfähigen Delta Sharing-Objekte in Unity Catalog:
- Freigabe: Eine schreibgeschützte Sammlung von Tabellen, Volumes und anderen Datenressourcen.
- Anbieter: Die Organisation oder Entität, die Daten freigibt. Im Databricks-zu-Databricks-Freigabemodell wird der Anbieter im Unity Catalog-Metastore des Empfängers als eindeutige Entität registriert, die anhand ihrer Metastore-ID identifiziert wird.
- Empfänger: Die Entität, die Freigaben von einem Anbieter empfängt. Im Databricks-zu-Databricks-Freigabemodell wird der Empfänger anhand seiner eindeutigen Metastore-ID gegenüber dem Anbieter identifiziert.
Weitere Informationen finden Sie unter Was ist Delta Sharing?.
Lakehouse-Verbund
Lakehouse Federation ermöglicht es Ihnen, Fremdkataloge zu erstellen, um den schreibgeschützten Zugriff auf Daten in anderen Systemen wie PostgreSQL, MySQL und Snowflake zu ermöglichen. Zum Erstellen von Fremdkatalogen müssen Sie eine Verbindung mit dem externen System definieren.
Verbindung: Ein sicherungsfähiges Unity Catalog-Objekt gibt einen Pfad und Anmeldeinformationen für den Zugriff auf ein externes Datenbanksystem in einem Lakehouse Federation-Szenario an.
Weitere Informationen finden Sie unter Was ist Lakehouse Federation?.
Verwaltete Speicherorte für verwaltete Volumes und Tabellen
Wenn Sie Tabellen und Volumes in Azure Databricks erstellen, können Sie diese als verwaltet oder extern einrichten. Unity Catalog verwaltet den Zugriff auf externe Tabellen und Volumes über Azure Databricks. Die zugrunde liegenden Dateien werden jedoch nicht gesteuert, und der Speicherort dieser Dateien wird nicht vollständig verwaltet. Verwaltete Tabellen und Volumes werden dagegen vollständig von Unity Catalog verwaltet und an einem verwalteten Speicherort gespeichert, der dem entsprechenden Schema zugeordnet ist. Weitere Informationen finden Sie unter Angeben eines verwalteten Speicherorts in Unity Catalog.
Databricks empfiehlt die Verwendung von verwalteten Volumes und verwalteten Tabellen für die meisten Workloads, da sie die Konfiguration, Optimierung und Governance vereinfachen.
Unity Catalog im Vergleich zum Legacy-Hive-Metastore
Databricks empfiehlt die Verwendung von Unity Catalog zum Registrieren und Steuern aller Datenbankobjekte, bietet aber auch Legacyunterstützung für den Hive-Metastore zum Verwalten von Schemas, Tabellen, Ansichten und Funktionen.
Wenn Sie mit Datenbankobjekten interagieren, die mit dem Hive-Metastore registriert wurden, lesen Sie Datenbankobjekte im Legacy-Hive-Metastore.