Direct naar content

Old dogs, new tricks

Thomas Spoelstra, teamlead en senior Database Reliability Engineer, is wat je noemt een oude rot in het DBA-vak. Met meer dan 30 jaar ervaring loopt hij al heel wat jaren mee. Betekent dit dat hij vastgeroest is in oude technieken? Zeker niet! In deze blog reflecteert Thomas op de continue ontwikkelingen in de wereld van databases, van de tijd van flat files tot de huidige opkomst van cloud-native technologieën en de toekomst van quantumcomputing. In deze blog vertelt hij over de uitdagingen én de voldoening die het voortdurend leren en aanpassen met zich meebrengen.

Thomas Spoelstra

Teamlead en Senior Database Reliability Engineer
Thomas Spoelstra - Teamlead en Senior Database Reliability Engineer
Thomas op de PGConfEU in Athene

Vlieg hoog met tegnologie

Het is eind oktober, en ik zit in het vliegtuig naar Athene voor de Annual PostgreSQL Conference Europe. Toen ik net aan het inchecken was, sprak ik met een leeftijdsgenoot en mede-DBA. Ons gesprek inspireerde me zo, dat ik op 30.000 voet mijn laptop openklapte om deze blog te schrijven. Lang leve de technologie!

Van Suid-Afrika na ’n wêreld vol data

Ik loop al 30 jaar mee in de databasewereld. Als ik terugkijk lijkt er een cyclus te zijn die zich steeds herhaalt. Let me explain. Toen ik begon, werkte ik bij het toenmalige Iscor, een ijzer- en staalproducent, in mijn thuisland Suid-Afrika. Relationele databases? Daar had de wereld nog nooit van gehoord. Data sloegen we op in ‘flat files’, bestanden van een vaste lengte, met sleutels gebaseerd op tijd (uren, minuten, seconden, dag van de maand). De eerste vier karakters waren de sleutel, de volgende twaalf de tijd en datum. Eigenlijk niet zo anders dan tabellen met vaste datatypes, al was het opslaan en ophalen van data toen veel complexer. We werkten met Fortran 4.

Een van de taken van ons systeem was ervoor zorgen dat ijzer met de juiste samenstelling uit de hoogoven kwam. Verschillende grondstoffen gingen de oven in. De chemische samenstelling was bekend, het proces was bekend en we wisten wat het resultaat zou moeten zijn. Vervolgens was het een kwestie van modelleren met gegevens die opgeslagen waren in die flatfiles.

Van flat files tot relationele databasisse

Systemen werden ouder, technologieën ontwikkelden zich, en al snel deed de RDBMS (Relationele Database Management Systeem) z’n intrede. Ineens moesten we leren werken met echte tabellen, rijen en kolommen. Begrippen zoals primaire sleutels en de ‘derde normaalvorm’ waren toen magische termen voor ons. Maar uiteindelijk werd het onderdeel van ons dagelijks werk, we wenden eraan en het werd gewoon. Er was één kleine beperking: een schijf kon maximaal 2GB aan data opslaan. Nu niet meer voor te stellen, maar destijds geen enkel punt van discussie. We waren gewend aan een machine met een schijf van 147MB. Who on earth had 2GB aan data nodig?!

Klam hande en nuwe foute

Maar net als in elk vak ging het leren van al die nieuwe technieken met vallen en opstaan, fouten maken en zo nu en dan klamme handjes. Er zijn twee soorten DBA’s. Diegenen die al eens een update zonder ‘where clause’ hebben uitgevoerd, en diegenen die dat nog moeten ervaren. Ik hoor bij de eerste groep, en geloof me, dat vergeet je nooit. Eén druk op enter en je ziet een hele tabel voor je ogen verdwijnen… Dat moment dat je hart even stilstaat, is een moment dat je je de rest van je carrière blijft herinneren.

Van Terabytes tot kubernetes

Vandaag  kijken we niet meer op van databases van terabytes omvang of tabellen met miljarden rijen. Wat we jaren geleden nog niet eens konden dromen, is nu heel normaal geworden. Maar precies op het moment dat je denkt dat je alles onder de knie hebt, komen er weer nieuwe technieken om de hoek kijken. DBaaS (Database as a Service), SaaS en IaaS zijn ineens de nieuwe buzzwords. Containers, cloud en Kubernetes zijn de nieuwe hype. Net als toen zijn er opnieuw lessen te leren en fouten te maken. De wereld verandert waar ik bij sta. Ik heb nu meer rekenkracht in mijn broekzak dan de machine waarmee ik dertig jaar geleden voor het eerst een complex proces aanstuurde. Sterker nog, meer kracht en opslag dan de server waarop we onze eerste RDBMS draaiden.

Van Oracle na Postgres – verandering bly die konstante

Old dogs, new tricksMaar goed, even terug naar de collega die ik eerder vandaag sprak in de rij voor de incheckbalie. Hij is al jaren een Oracle DBA en kent het systeem van binnen en van buiten. Hij vertelde me dat zijn werkgever heeft besloten om over te stappen van het oude, monolithische Oracle naar meerdere kleine PostgreSQL-clusters die op Kubernetes gaan draaien. Ze gaan de CloudNative Operator voor PostgreSQL gebruiken. Volgens mij een slimme keuze, maar dat betekent wel dat hij ineens een hele reeks nieuwe technieken moet leren: helm charts, terraform, persistent volumes, affinity, taints en tolerations. Dat klinkt allemaal enorm overweldigend, maar als je het plat slaat, zijn het eigenlijk nieuwe namen voor dingen die we al jaren doen. Waar we vroeger werkten met traditionele diskvolumes en volumegroups, hebben we nu PVC’s (persistent volume claims). In de oude wereld zorgden we ervoor dat VM’s die een cluster verzorgden, niet op dezelfde hypervisor node terechtkwamen. In de nieuwe wereld wordt dat geregeld met taints en tolerations.

Voortdurende verandering – ook vir DBA’s

Als we iets zeker weten, is het dat de wereld steeds sneller verandert, en dat geldt zeker niet alleen voor DBA’s. Dat doet me denken aan andere mensen die ik tijdens mijn carrière ben tegengekomen. Ze waren heel tevreden in hun eigen wereldje en hadden weinig oog voor wat er om hen heen gebeurde. Het is triest om te zien hoe snel je dan achterop raakt. Natuurlijk ligt een deel van de verantwoordelijkheid bij de persoon zelf, maar de werkgever speelt hier ook een belangrijke rol. Als er weinig ruimte is om te leren, trainingen te volgen of te experimenteren, hoe kun je dan groeien?

Wat lê voor?

Of ik de volgende dertig jaar als DBA zal volmaken? Die kans is vrij klein. Maar als ik even vooruitkijk, kan ik me nauwelijks voorstellen waar de volgende generatie mee te maken zal krijgen. Quantum computing wellicht? Wat ik las in de ogen van mijn collega, en wat ik ook zelf heb ervaren, is dat vooruitgang altijd gepaard gaat met een leerproces. Soms lijkt dat lastig, maar vergeet niet: door te blijven leren, hou je je hersenen scherp en blijf je vitaal. Uiteindelijk hebben we er zelf belang bij om relevant te blijven. De uitdaging ligt er, dus pak ‘m aan. Carpe Diem.

Thomas Spoelstra, ’n ou rot in die vak

Meer weten?

Wil je meer weten over de nieuwste ontwikkelingen in databasebeheer en hoe je deze kunt implementeren in je organisatie? Behoefte aan een club die continu blijft leren en je bijstaat met toekomstbestendige oplossingen? Neem contact op en ontdek wat wij voor jouw organisatie kunnen betekenen.