Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Tabelgeschiedenis Bekijken (Basisprincipes van Time Travel) | Kernbegrippen van Databricks
Databricks Fundamentals: Een Beginnersgids

Tabelgeschiedenis Bekijken (Basisprincipes van Time Travel)

Veeg om het menu te tonen

Note
Definitie

Time Travel is een Delta Lake-functie waarmee eerdere versies van een tabel kunnen worden geraadpleegd. Door gebruik te maken van het Transaction Log kan Databricks de staat van je data op elk moment in de vastgelegde geschiedenis reconstrueren.

Een van de krachtigste "veiligheidsnetten" in Databricks is de mogelijkheid om precies te zien wie een tabel heeft gewijzigd, wanneer deze wijziging heeft plaatsgevonden en hoe de data eruitzag vóór die wijziging.

Voor onze diamonds-tabel op workspace.workshop.diamonds wordt elke update of verwijdering automatisch bijgehouden.

1. Het DESCRIBE HISTORY-commando

Gebruik het DESCRIBE HISTORY-commando om de volledige tijdlijn van je data te bekijken — dit geeft een gedetailleerd overzicht van elke versie van de tabel.

DESCRIBE HISTORY workspace.workshop.diamonds

Wanneer je dit uitvoert, zie je een tabel met de volgende belangrijke kolommen:

  • version: een geheel getal beginnend bij 0 (het moment waarop de tabel is aangemaakt);
  • timestamp: de exacte datum en tijd waarop de wijziging heeft plaatsgevonden;
  • userName: de persoon die de actie heeft uitgevoerd;
  • operation: wat er is gebeurd (bijvoorbeeld WRITE, UPDATE, DELETE of MERGE);
  • operationParameters: technische details over de wijziging.

2. Een specifieke versie opvragen

Als een recente update de kolom "Price" heeft gewijzigd, kun je een oudere versie opvragen om de oorspronkelijke waarden te bekijken met behulp van de syntaxis VERSION AS OF.

-- Look at the diamonds table exactly as it was in Version 0
SELECT * FROM workspace.workshop.diamonds VERSION AS OF 0

3. Opvragen op basis van tijdstempel

Als je het versienummer niet weet, maar wel weet dat de gegevens op een bepaald moment correct waren, kun je "terugreizen" met TIMESTAMP AS OF.

-- Look at the data as it existed at a specific time
SELECT * FROM workspace.workshop.diamonds TIMESTAMP AS OF '2026-02-11 09:00:00'

4. Waarom dit belangrijk is

In traditionele databases moet je, als je per ongeluk een DELETE-opdracht zonder WHERE-clausule uitvoert, een databasebeheerder inschakelen om een back-up terug te zetten — een proces dat uren kan duren.

Met Delta Lake Time Travel kun je de fout zelf binnen enkele seconden herstellen door de gegevens uit een vorige versie te selecteren en de huidige beschadigde tabel te overschrijven met de gezonde historische data.

5. Geschiedenis beheren

Standaard bewaart Delta Lake 30 dagen aan geschiedenis. Hoewel dit erg handig is, vereist het opslaan van geschiedenis het bewaren van oudere databestanden, maar de onderliggende databestanden van verwijderde/overschreven versies worden slechts 7 dagen (delta.deletedFileRetentionDuration) bewaard voordat VACUUM ze kan opruimen.

In professionele omgevingen gebruiken data engineers het VACUUM-commando om zeer oude bestanden op te schonen en opslagkosten te verlagen. Voor deze cursus is je geschiedenis veilig en klaar om te verkennen.

VACUUM is een opschooncommando dat permanent oude databestanden verwijdert die Delta Lake niet langer nodig heeft — de bestanden die zijn achtergebleven na updates, verwijderingen of overschrijvingen.

VACUUM workspace.workshop.diamonds

Standaard bewaart Delta 30 dagen aan bestands­geschiedenis voor Time Travel. VACUUM verwijdert bestanden die ouder zijn dan deze drempel om opslagruimte te besparen.

Je kunt ook een aangepast retentie­venster instellen:

VACUUM workspace.workshop.diamonds RETAIN 7 HOURS

1. Met welk SQL-commando kun je de lijst van alle vorige versies en uitgevoerde bewerkingen op een tabel bekijken?

2. Je hebt per ongeluk de diamonds-tabel bijgewerkt en wilt de gegevens van 10 minuten geleden bekijken. Welke syntax moet je gebruiken?

question mark

Met welk SQL-commando kun je de lijst van alle vorige versies en uitgevoerde bewerkingen op een tabel bekijken?

Selecteer het correcte antwoord

question mark

Je hebt per ongeluk de diamonds-tabel bijgewerkt en wilt de gegevens van 10 minuten geleden bekijken. Welke syntax moet je gebruiken?

Selecteer het correcte antwoord

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 5. Hoofdstuk 3

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Sectie 5. Hoofdstuk 3
some-alt