Was ist Delta Lake?
Swipe um das Menü anzuzeigen
Delta Lake ist eine Open-Source-Speicherschicht, die Zuverlässigkeit in Data Lakes bringt. Sie bietet ACID-Transaktionen, skalierbare Metadatenverwaltung und vereint Streaming- sowie Batch-Datenverarbeitung. In Databricks ist Delta das Standardformat für alle Tabellen.
Wenn herkömmliche Dateien das Problem sind, ist Delta Lake die Lösung. Wenn Sie Ihre Diamantdaten als Delta-Tabelle unter workspace.workshop.diamonds speichern, ist dies nicht mehr nur eine Datei auf einer Festplatte – sie wird zu einer "intelligenten" Tabelle.
Delta Lake funktioniert, indem es die Standarddaten-Dateien (Parquet) mit einem versteckten Transaktionsprotokoll kombiniert.
1. ACID-Transaktionen
Dies ist das Kernstück der Zuverlässigkeit von Delta. ACID steht für Atomicity, Consistency, Isolation und Durability.
Einfach ausgedrückt: Ihre Datenoperationen sind "alles oder nichts". Wenn Sie 50.000 Zeilen in der diamonds-Tabelle aktualisieren und der Cluster bei Zeile 49.999 ausfällt, macht Delta die gesamte Änderung rückgängig. Sie werden niemals mit einer halb geschriebenen, beschädigten Tabelle zurückgelassen.
2. Das Transaktionsprotokoll (Das "Gehirn")
Jedes Mal, wenn Daten in der diamonds-Tabelle hinzugefügt, gelöscht oder geändert werden, zeichnet Delta diese Aktion in einem zentralen Hauptbuch auf, dem Delta Log.
Beim Ausführen einer Abfrage durchsucht Databricks nicht einfach jede Datei im Ordner – es prüft zuerst das Log, um festzustellen, welche Dateien gültig und relevant sind. Dadurch wird das Durchsuchen von Millionen von Zeilen extrem schnell.
3. Schemaüberprüfung und -entwicklung
Delta Lake fungiert als Wächter – sowohl streng als auch flexibel, wenn nötig.
- Überprüfung: Wenn versucht wird, einen Diamant-Datensatz einzufügen, bei dem "Price" ein String statt einer Zahl ist, lehnt Delta das Schreiben ab und gibt einen Fehler aus. Dies hält die Daten sauber;
- Entwicklung: Wenn tatsächlich eine neue Spalte (wie "Store_Location") hinzugefügt werden muss, ermöglicht Delta eine sichere Weiterentwicklung des Schemas, ohne den gesamten historischen Datenbestand neu schreiben zu müssen.
4. Versionierung und Zeitreisen
Da jede Änderung im Transaktionsprotokoll aufgezeichnet wird, merkt sich Delta Lake, wie die Tabelle zu jedem Zeitpunkt in ihrer Historie aussah.
Dies wird als Zeitreisen bezeichnet. Wenn versehentlich Daten aus workspace.workshop.diamonds gelöscht werden, kann Databricks einfach angewiesen werden, "die Tabelle so anzuzeigen, wie sie vor 10 Minuten existierte" und die fehlenden Teile wiederherzustellen.
5. Offene Standards
Obwohl Databricks Delta Lake entwickelt hat, handelt es sich um ein Open-Source-Format. Das bedeutet, dass Ihre Daten nicht an einen bestimmten Anbieter gebunden sind – Sie erhalten die Leistung einer hochwertigen Datenbank mit der Flexibilität von Open-Source-Cloud-Speicher.
1. Was macht das "Transaktionsprotokoll" in Delta Lake?
2. Was passiert, wenn ein "Write"-Vorgang auf eine Delta-Tabelle mitten im Prozess fehlschlägt?
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen