Databricks Unity Catalog-tabeltypen

Unity Catalog ondersteunt drie primaire tabeltypen: beheerde, externe en refererende tabellen. Elk type verschilt in hoe gegevens worden opgeslagen, beheerd en gecontroleerd.

Beheerde tabellen

Beheerde tabellen zijn het standaard- en aanbevolen tabeltype. Unity Catalog beheert de levenscyclus van gegevens, opslaglocatie en optimalisaties. Wanneer u een beheerde tabel verwijdert, worden zowel de metagegevens als de onderliggende gegevensbestanden verwijderd.

Beheerde tabellen worden ondersteund door Delta Lake of Apache Iceberg en bieden:

  • Automatische optimalisatie voor lagere opslag- en rekenkosten
  • Snellere queryprestaties voor alle clienttypen
  • Automatisch tabelonderhoud
  • Beveiligde toegang voor niet-Databricks-clients via open API's
  • Automatische upgrades naar de nieuwste platformfuncties

Gegevensbestanden worden opgeslagen in het schema of de catalogus met de tabel. Zie Unity Catalog-beheerde tabellen in Azure Databricks voor Delta Lake en Apache Iceberg.

Externe tabellen

Externe tabellen verwijzen naar gegevens die zijn opgeslagen in cloudobjectopslag die u beheert. Unity Catalog beheert gegevenstoegang, maar beheert de levenscyclus, optimalisaties of opslagindeling van gegevens niet. Wanneer u een externe tabel verwijdert, worden alleen de metagegevens van de catalogus verwijderd en blijven de onderliggende gegevensbestanden behouden.

Externe tabellen van Unity Catalog ondersteunen de indelingen Delta Lake, CSV, JSON, AVRO, PARQUET, ORC en TEXT. Databricks raadt u aan om de Delta Lake-indeling te gebruiken, omdat deze transactionele garanties en prestatieoptimalisaties bevat die de andere indelingen niet hebben.

Gebruik externe tabellen wanneer u het volgende moet doen:

  • Bestaande gegevens registreren die niet compatibel zijn met beheerde tabellen in Unity Catalog
  • Directe gegevenstoegang bieden vanaf niet-Databricks-clients die geen ondersteuning bieden voor andere externe toegangspatronen

Zie Werken met externe tabellen.

Externe tabellen

Externe tabellen (ook wel gefedereerde tabellen genoemd) zijn alleen-lezen-tabellen die worden beheerd door een externe catalogus die is geregistreerd in Unity Catalog. Externe systemen beheren de gegevens en metagegevens, terwijl Unity Catalog gegevensbeheer toevoegt voor het uitvoeren van query's.

Azure Databricks ondersteunt twee methoden om vreemde tabellen te registreren.

  • Queryfederatie: maakt gebruik van beveiligde JDBC-verbindingen met externe gegevenssystemen zoals PostgreSQL en MySQL
  • Catalogusfederatie: externe catalogi verbinden om rechtstreeks query's uit te voeren op gegevens in bestandsopslag

Buitenlandse tabellen die de Delta Lake-indeling gebruiken, ontbreken veel optimalisaties die beschikbaar zijn in beheerde tabellen in Unity Catalog. Voor productieworkloads of vaak opgevraagde gegevenssets migreert u naar beheerde tabellen in Unity Catalog voor betere prestaties. Zie Werken met buitenlandse tabellen.

Vergelijking van tabeltypen

In de volgende tabel worden de drie tabeltypen vergeleken:

Feature Beheerde tabellen Externe tabellen Externe tabellen
Levenscyclusbeheer van gegevens Unity Catalog beheert U beheert Extern systeem beheert
Opslaglocatie Unity Catalog beheert U specificeert Extern systeem beheert
Automatische optimalisaties Ja Limited No
Ondersteunde indelingen Delta Lake, Apache Iceberg Delta Lake (aanbevolen), CSV, JSON, AVRO, PARQUET, ORC, TEKST Afhankelijk van extern systeem
Gegevens verwijderd op DROP TABLE Ja No No
Ideaal voor Productieworkloads, regelmatig opgevraagde gegevens Verouderde integraties, bestaande gegevens Migratie van externe systemen, tijdelijke toegang

Andere tabeltypen

Azure Databricks ondersteunt ook gespecialiseerde tabeltypen voor specifieke gebruiksvoorbeelden:

  • Streamingtabellen: Lakeflow Spark Declarative Pipelines-gegevensverzamelingen met ondersteuning van Delta Lake met incrementele verwerkingslogica
  • Gerealiseerde weergaven: Gegevenssets met declaratieve pijplijnen van Lakeflow Spark die worden ondersteund door Delta Lake die queryresultaten materialiseren met behulp van beheerde stroomlogica

Verouderde tabeltypen

De volgende verouderde tabeltypen worden ondersteund voor compatibiliteit met eerdere versies, maar worden niet aanbevolen voor nieuwe ontwikkeling.

Hive-tabellen

Hive-tabellen worden beheerd door de verouderde Hive-metastore en gebruiken verouderde patronen, waaronder Hive SerDe-codecs en Hive SQL-syntaxis. Tabellen die zijn geregistreerd met behulp van de verouderde Hive-metastoreopslaggegevens, worden standaard opgeslagen in de verouderde DBFS-hoofdmap.

Databricks raadt u aan alle tabellen van de verouderde HMS naar Unity Catalog te migreren. Zie Databaseobjecten in de verouderde Hive-metastore.

U kunt desgewenst een Hive-metastore koppelen aan Unity Catalog en de tabellen openen als externe tabellen in Unity Catalog. Zie De Hive-metastore-federatie: schakel Unity Catalog in om tabellen te beheren die zijn geregistreerd in een Hive-metastore.

Apache Spark ondersteunt het registreren en opvragen van Hive-tabellen, maar Hive SerDe-codecs zijn niet geoptimaliseerd voor Azure Databricks. Registreer Hive-tabellen alleen als u query's wilt ondersteunen op gegevens die zijn geschreven door externe systemen. Zie hive-tabel (verouderd).

Livetabellen

De term livetabellen verwijst naar een eerdere implementatie van functionaliteit die nu beschikbaar is als gerealiseerde weergaven. Verouderde code bijwerken die verwijst naar livetabellen om de gerealiseerde weergavesyntaxis te gebruiken. Zie declaratieve pijplijnen en gerealiseerde weergaven van Lakeflow Spark.