Workshop Postgres Performance Engineering
Antwerpen / Amsterdam / Anywhere


Tijdens deze workshop duiken we in de interne werking van Postgres, zodat je de performantie van je database optimaal kunt krijgen.

Je leert queries finetunen, configuraties optimaliseren en bottlenecks identificeren.

Alles om je database super-smooth te houden.

Welke topics worden er besproken?

Clusters, Databases, Bestanden, Processen en Geheugen

Wat wordt er bedoeld met een "Postgres cluster"? Hoe relateert de bestandsstructuur zich aan de databases? Hoe werkt de proces architectuur? Hoe zit Postgres' geheugenbeheer in mekaar?

Heap en tuples

We bespreken in detail hoe Postgres zijn data opslaat. Hoe worden de bestanden ingedeeld? Wat gebeurt er met velden met variabele lengte? Hoe wordt een rij ge-insert? Of geüpdatet en gedeletet ?

TransaCTIONS, ISOLATION, SNAPSHOTS en concurrency

Hoe werken transacties in Postgres? Hoe worden verschillende sessies uit mekaar gehouden? Hoe werkt een commit of een rollback, en wat zijn de effecten op tuples en bestanden?

VACUUM, FREEZE en HOT UPDATES

VACUUM is een zeer belangrijk process in Postgres. We bekijken in detail wat VACUUM en FREEZE doen, hoe ze werken, en hoe HOT updates een verschil kunnen maken.

BUFFERS, Buffer manager, WAL, REPLICATION

We weten al iets over hoe het geheugen in mekaar zit. Tijd om te bekijken hoe de data vanuit disk in het geheugen komt en vice-versa. Hoe wordt data naar disk geschreven, en hoe komt die op eventuele replica's terecht?

LOCKS TYPES, LOCK MODES en WAIT-QUEUES

Postgres heeft verschillende soorten locks en verschillende lock modes. Sommige locks hebben wait-queues, andere dan weer niet. Bovendien zijn de namen erg verwarrend. Tijd om dat te ontwarren.

PLANNER, STATISTICS, EXECUTION, INDEXES, ACCESS METHODS

Postgres heeft een geavanceerde query planner die zich baseert op  statistics. We zien hoe ze werken, en hoe zo een plan in mekaar zit.

NESTED LOOP, MERGING, HASHINg, SORTING

We gaan verder de details van enkele belangrijke plan nodes bekijken. Hoe worden joins echt gedaan? Hoe wordt de cost van deze nodes berekend, hoe zit het met parallelle uitvoering?

INDEX TYPES

We hebben indexen al kort besproken in een vorige stukje, maar nu gaan we de specialiteiten bekijken van de verschillende index types en hun bijhorende operator classes.

IN DE PRAKTIJK

Tot slot leggen we de hele puzzel bij mekaar. We werken aan wat oefeningen, uit het echte leven gegrepen. Je zal zien dat alle bovenstaande kennis nu echt van pas komt.

Wie is de trainer?

Hi, ik ben Mark Meeus. Ik ben reeds meer dan 25 professioneel actief als software engineer. Met minstens 15 jaar actieve ervaring met PostgreSQL.

Ik schreef ooit een in-process object-database, MarcelloDB https://marcellodb.org,

en werk momenteel aan een nieuwe visualisatie methode voor Postgres query plans. https://plansplainer.com.

Ik heb een beetje een fascinatie voor databases feitelijk, en die wil ik graag met jullie delen.

Prijs

De workshop kost 749 (excl BTW) per deelnemer.

Praktisch

Ik probeer de cursus elke maand in te plannen zodat ik een lokaal kan vastleggen. Afwisselend in Antwerpen en Amsterdam. Uw eigen locatie kan natuurlijk ook.

We starten om 9:00 en eindigen om 16:30u. Tijdens de middag worden broodjes voorzien. Koffie á volonté.

Er zijn maximum 10 cursisten per workshop. Zo kan ik voldoende aandacht geven aan iedere deelnemer.

Ik kan deze opleiding ook bij u in het bedrijf komen geven. Ik vraag dan wel minstens 3 deelnemers. Met een beamer en een whiteboard heb ik op zich genoeg.

Inschrijven? Meer info?

Wil je jezelf of je collega('s) inschrijven, of wil je eerst even bellen voor meer info? Stuur me een e-mail op mark.meeus@gmail.com of vul dit formulier in en ik neem contact met je op.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.