Hvad er Delta Lake?
Stryg for at vise menuen
Delta Lake er et open source-lag til lagring, der tilfører pålidelighed til data lakes. Det tilbyder ACID-transaktioner, skalerbar metadatahåndtering og forener streaming- og batchdatabehandling. I Databricks er Delta standardformatet for alle tabeller.
Hvis traditionelle filer er problemet, er Delta Lake løsningen. Når du gemmer dine diamonds-data som en Delta-tabel på workspace.workshop.diamonds, er det ikke længere blot en fil på en disk — det bliver til en "intelligent" tabel.
Delta Lake fungerer ved at kombinere de standard datafiler (Parquet) med en skjult Transaction Log.
1. ACID-transaktioner
Dette er kernen i Deltas pålidelighed. ACID står for Atomicity, Consistency, Isolation og Durability.
Kort fortalt: Dine dataoperationer er "alt eller intet." Hvis du opdaterer 50.000 rækker i diamonds-tabellen, og klyngen fejler ved række 49.999, ruller Delta hele ændringen tilbage. Du vil aldrig stå tilbage med en halvskrevet, korrupt tabel.
2. Transaktionsloggen ("Hjernen")
Hver gang du tilføjer, sletter eller ændrer data i din diamonds-tabel, registrerer Delta denne handling i en central hovedbog kaldet Delta Log.
Når du kører en forespørgsel, scanner Databricks ikke bare alle filer i mappen — den tjekker først Loggen for at se, hvilke filer der er gyldige og relevante. Dette gør søgning gennem millioner af rækker utroligt hurtig.
3. Skemavalidering og -udvikling
Delta Lake fungerer som en portvagt — både streng og fleksibel, når det er nødvendigt.
- Validering: hvis du forsøger at indsætte en diamond-post, hvor "Price" er en tekststreng i stedet for et tal, vil Delta afvise skrivningen og give en fejl. Dette holder dine data rene;
- Udvikling: hvis du reelt har brug for at tilføje en ny kolonne (som "Store_Location"), tillader Delta dig at udvikle skemaet sikkert uden at skulle omskrive hele det historiske datasæt.
4. Versionsstyring og tidsrejse
Fordi hver ændring registreres i Transaktionsloggen, husker Delta Lake, hvordan din tabel så ud på ethvert tidspunkt i dens historie.
Dette kaldes Tidsrejse. Hvis du ved et uheld sletter data fra workspace.workshop.diamonds, kan du blot bede Databricks om at "se på tabellen, som den eksisterede for 10 minutter siden" og gendanne de manglende dele.
5. Åbne standarder
Selvom Databricks har skabt Delta Lake, er det et open-source format. Det betyder, at dine data ikke er "låst" til en bestemt leverandør — du får ydeevnen fra en avanceret database med fleksibiliteten fra open-source cloud-lagring.
1. Hvad gør "Transaktionsloggen" i Delta Lake?
2. Hvad sker der, hvis en "Write"-operation til en Delta-tabel fejler halvvejs?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat