Grundlegendes zu den Konzepten bei Lake-Datenbanken

Abgeschlossen

In einer herkömmlichen relationalen Datenbank besteht das Datenbankschema aus Tabellen, Sichten und anderen Objekten. Tabellen in einer relationalen Datenbank definieren die Entitäten, für die Daten gespeichert werden. Eine Einzelhandelsdatenbank kann beispielsweise Tabellen für Produkte, Kund*innen und Bestellungen enthalten. Jede Entität besteht aus einer Reihe von Attributen, die als Spalten in der Tabelle definiert sind, und jede Spalte hat einen Namen und einen Datentyp. Die Daten für die Tabellen werden in der Datenbank gespeichert und sind eng mit der Tabellendefinition verknüpft, die Datentypen, NULL-Zulässigkeit, Schlüsseleindeutigkeit und referentielle Integrität zwischen verwandten Schlüsseln erzwingt. Alle Abfragen und Datenänderungen müssen über das Datenbanksystem ausgeführt werden.

In einem Data Lake gibt es kein festes Schema. Die Daten werden in Dateien gespeichert, die strukturiert, teilweise strukturiert oder unstrukturiert sein können. Anwendungen und Datenanalyst*innen können mit den Tools ihrer Wahl direkt mit den Dateien im Data Lake arbeiten und sind damit frei von den Einschränkungen eines relationalen Datenbanksystems.

Eine Lake-Datenbank stellt eine relationale Metadatenschicht über einer oder mehreren Dateien in einem Data Lake bereit. Sie können eine Lake-Datenbank erstellen, die Definitionen für Tabellen, einschließlich Spaltennamen und Datentypen, sowie die Beziehungen zwischen Primär- und Fremdschlüsselspalten enthält. Die Tabellen verweisen auf Dateien im Data Lake, sodass Sie beim Arbeiten mit den Daten relationale Semantik verwenden und Abfragen mithilfe von SQL anwenden können. Die Speicherung der Datendateien ist jedoch vom Datenbankschema entkoppelt und bietet damit in der Regel mehr Flexibilität als ein relationales Datenbanksystem.

Abbildung: relationales Schema verknüpfter Tabellen, die Dateien in einem Dateispeicher überlagern

Schema von Lake-Datenbanken

Sie können eine Lake-Datenbank in Azure Synapse Analytics erstellen und die Tabellen definieren, die die Entitäten darstellen, für die Sie Daten speichern müssen. Sie können bewährte Datenmodellierungsprinzipien anwenden, um Beziehungen zwischen Tabellen zu erstellen, und dabei geeignete Benennungskonventionen für Tabellen, Spalten und andere Datenbankobjekte verwenden.

Azure Synapse Analytics enthält eine grafische Entwurfsoberfläche für Datenbanken, mit der Sie komplexe Datenbankschemas modellieren können, indem Sie viele der gleichen bewährten Methoden für den Datenbankentwurf verwenden, die Sie auch auf herkömmliche Datenbanken anwenden.

Speicher für Lake-Datenbanken

Die Daten für die Tabellen in Ihrer Lake-Datenbank werden im Data Lake als Parquet- oder CSV-Dateien gespeichert. Die Dateien können unabhängig von den Datenbanktabellen verwaltet werden, wodurch die Datenerfassung und -änderung mit einer Vielzahl von Datenverarbeitungstools und -technologien einfacher verwaltet werden kann.

Computing bei Lake-Datenbanken

Zum Abfragen und Bearbeiten der Daten über die von Ihnen definierten Tabellen können Sie einen serverlosen Azure Synapse-SQL-Pool verwenden, um SQL-Abfragen auszuführen, oder einen Azure Synapse-Apache Spark-Pool, um mithilfe der Spark SQL-API mit den Tabellen zu arbeiten.