WAL-Shipping

Intern project

Innovatie en ontwikkeling. Twee aspecten die Doop non-stop bezig houden.

Geschreven door

Bas Dalenoord web

Bas Dalenoord

Full-stack Software Engineer

WAL Shipping Header 2x

WAL-Shipping

Innovatie en ontwikkeling. Twee aspecten die ons non-stop bezig houden Want Doop streeft altijd naar ontwikkeling en innovatie om werkprocessen beter te laten verlopen. Bij onze developers ontstond de behoefte om onderzoek te doen naar verbeterde backup-strategieën voor de databases. Een strategie waarmee fouten in de databases makkelijker te herstellen zijn met een zo’n minimaal mogelijke impact. Puur bedoeld om risico’s uit te sluiten en kennis te verbreden, want Doop zorgt er natuurlijk voor dat fouten worden voorkomen in plaats van hersteld. Een interessant onderwerp en dus de moeite waard om dit eens nader te onderzoeken...

Schematische Tekening WAL Shipping 2x

Point-in-time-recovery

De ervaring van onze developer Bas Dalenoord, bracht ons bij point-in-time recovery. Dit is een backup-strategie waarbij je de mogelijkheid hebt om de database tot op de milliseconde terug te zetten. Mocht er zich dus een fout voordoen, is deze makkelijk te herleiden en vervolgens op te lossen. Maar dit is wel heel kort door de bocht voor de techneuten onder ons. Tijd voor wat verdieping! Een van de databases die deze point-in-time recovery mogelijk maakt heet ‘PostgreSQL’ en beschikt over een zogeheten WAL: Write-Ahead-Log. Dit betekent dat iedere query (opdracht) die wordt uitgevoerd, automatisch naar de log wordt geschreven voordat PostgreSQL deze uitvoert. Van deze log is ook een backup te maken en dat noemen we ‘WAL-shippen’. Deze WAL is een essentieel onderdeel van het point-in-time recovery proces. Het proces werkt namelijk als volgt: wanneer er zich een fout voordoet kun je de backup terugzetten naar tot zo kort mogelijk voor het incident. Vanaf dit moment dienen WAL-statements uitgevoerd te worden tot het gewenste moment waarop je de backup weer verder wilt laten lopen. De situatie is dan weer exact hetzelfde zoals deze was voor het incident.

Beter voorkomen dan genezen

Door gebruik te maken van point-in-time recovery, minimaliseer je eventueel dataverlies bij het oplossen van een fout. Natuurlijk is het voorkomen van deze fouten nog beter en daarom gaat Doop altijd zo gedetailleerd en precies mogelijk te werk. We gaan er dus ook vanuit dat we deze point-in-time-recovery nooit nodig zullen hebben, maar bij Doop vinden we het belangrijk om vooruit te denken en mogelijke gevaren bij voorbaat uit de weg te gaan. Zo komen klanten nooit voor vervelende verrassingen te staan en gaan wij zelfverzekerd, en weer met wat extra kennis op zak, te werk.

Helaas, wij ondersteunen geen Internet Explorer.

Je gebruikt een verouderde browser, namelijk Internet Explorer versie 11. Helaas ondersteunen wij die niet meer. We raden je aan om een moderne browser te downloaden zoals Google Chrome of Mozilla Firefox voor een optimale beleving van onze diensten.

Geschikte browsers

Cookiemelding cookie

We gebruiken cookies om u de beste ervaring te bieden op onze website. Onder 'instellingen wijzigingen' leest u meer over welke cookies wij gebruiken. Wilt u weten hoe Doop in haar dienstverlening omgaat met persoonsgegevens van werknemers en werkgevers, lees dan ons Privacy Statement.

Noodzakelijke & functionele cookies

Wij plaatsen noodzakelijke cookies om te zorgen dat basisfuncties van onze website goed werken. Functionele cookies zorgen ervoor dat u de website op de juiste manier kan bekijken en gebruiken. Ze onthouden bijvoorbeeld welk product u wilt bestellen en uw voorkeursinstellingen zoals taal. Deze cookies hebben zeer weinig invloed op uw privacy en plaatsen wij daarom altijd.

Ingeschakeld Uitgeschakeld

Analytische cookies

Analytische cookies zoals Google Analytics en Google Tag Manager meten het website bezoek en helpen ons om de website te verbeteren. Deze gegevens worden anoniem verzameld en hebben weinig invloed op uw privacy.

Ingeschakeld Uitgeschakeld

Marketing cookies

Marketing cookies (zoals LinkedIn, Twitter, Facebook en Pardot) worden gebruikt om te zien hoe u onze website gebruikt en op basis daarvan relevante of gepersonaliseerde advertenties te tonen op onder andere social media. Ze zorgen er ook voor dat u een advertentie niet te vaak te zien krijgt. Ook gebruiken we deze cookies om voorkeuren te onthouden als u bijvoorbeeld eerder een formulier ingevuld hebt en later terugkomt op onze website.

Ingeschakeld Uitgeschakeld