NLEN
Direct technisch advies?
Home > Blog

De grand prix van databases

Edco Wallet 19-10-2022 16:40
Catégories: BLOG, DBMS

Formule 1, nog nooit was het zo populair. Dat Max Verstappen niet onverdienstelijk zakendoet in de koningsklasse draagt daar zeker aan bij. Wie kan zich niet de spectaculaire finale herinneren van vorig jaar? Zijn riante voorsprong in het kampioenschap is, naast zijn talent, ook te danken aan de kwaliteiten van de auto. Zo’n formule 1-auto is één grote wirwar van techniek en het is de kunst om de juiste configuratie en setup te vinden om maximale prestaties te behalen. In deze blog maken we een vergelijking met de setup van databases.

Talloze mogelijkheden

Een formule 1-auto kan op vele manieren worden afgesteld. Als we ons tot de basis-setup beperken dan gaat het om het pure motorvermogen, downforce voor en achter, downforce bovenlangs, downforce onderlangs – ground-effect –, rembalans en bandenmanagement. Simpel gezegd, uitgaande van een vergelijkbaar motorvermogen ga je harder op de rechte stukken met een lage downforce (de auto wordt minder op de weg gedrukt) en met een hoge downforce kun je vliegen door de bochten maar verlies je snelheid op de rechte stukken. Meer downforce aan de voorzijde van de auto geeft overstuur (bij het insturen van een bocht wil de achterkant van de auto je inhalen) en een hogere downforce aan de achterzijde geeft onderstuur (de voorkant van de auto wil rechtdoor als je instuurt). En dan hebben we het nog niet eens over het stuur van de coureur die in de meeste gevallen minimaal 18 knoppen heeft om nog tijdens het rijden bepaalde zaken af te stellen of setups te kiezen.

Tegengesteld effect

Kort door de bocht zou je zeggen: honderd procent motorvermogen, maximale downforce en knallen met die bak. Maar door het hoge motorvermogen verbruik je meer brandstof, dat is nadelig voor het gewicht en de hoge downforce zorgt voor veel bandenslijtage waardoor je meer pitstops moet maken. Voor elke keuze is een oplossing, maar brengt vaak ook een nieuw probleem met zich mee.

Standaardinstellingen

De meeste formule 1-teams starten op de vrijdag tijdens de eerste vrije training met een soort standaardsetup. Alles een beetje standaard. Afhankelijk van het circuit wordt dat aangepast: iets meer of minder downforce in relatie tot de verhouding lange rechte stukken en bochten. Naarmate de vrije trainingen vorderen gaat men steeds meer finetunen tot de juiste en beste setup is gevonden. Feedback van de coureur is in dit spel cruciaal, hoe gedraagt de auto zich in de praktijk en hoe wil de coureur graag dat de auto zich gedraagt, iets meer onderstuur of overstuur. Dat soort zaken.

De vergelijking met databases

Een formule 1-auto met alleen standaardinstellingen zal geen races winnen. Zo is het ook met databases. Opensource- en cloud-databases zijn heel eenvoudig te downloaden en te installeren of te starten. Met een paar klikken – next, next, finish – heb je in luttele minuten een databasecluster staan, in standaardsetup. Maar reageert de database dan nog steeds zoals de bedoeling was, als je ‘m daadwerkelijk gaat belasten? Aan welke knoppen ga je dan draaien? Of krijg je te maken met tegengestelde effecten?

Tunen en balans

Ook databases (zelfs clouddatabases) kennen talloze instellingsmogelijkheden. Dat is per situatie weer anders. Zo gebruik je een andere setup als je veel opslag (hoge volumes) nodig hebt en ook weer als je juist heel veel lees- en schrijfacties (I/O) hebt. Welke versie gebruik je, hoeveel CPU zet je in, wat doe je met geheugen, clustering, automatische failover, cache en indexering? Of je moet zelfs terug naar de tekentafel omdat het aantal databases significant groeit en je gekozen model niet meer werkt met de groei die het doormaakt? Kun je beter met Kubernetes en pods te gaan werken in plaats van een enorm databasecluster?

Terug naar de basis

Veel databaseperformanceproblemen verhelp je niet blijvend door maar zwaardere hardware in te zetten. Ook niet de manier waarop DBaaS fully-managed-clouddatabases schalen met CPU of werkgeheugen. Uiteindelijk zul je toch eens beter naar je setup moeten kijken als je database zich niet meer gedraagt zoals je wil. Wat is je datamodel, hoe ga je om met datatypes, je wijze van indexeren, de staat van indexen, tempfiles, storage, specifieke databasesettings, en hoe is het met je queryplan?

Porpoising – voorbeeld van tegengesteld effect

Om ‘kort volgen’ en inhalen te bevorderen heeft de FIA vanaf dit seizoen het zogenaamde ‘ground-effect’ weer ingevoerd. Ground-effect is downforce dat wordt gecreëerd van onder de auto. Door een vernuftig systeem van tunnels in de vloer wordt op hoge snelheden de auto naar de grond gezogen waardoor er meer grip ontstaat. Daarnaast is er minder ‘vuile lucht’ achter de auto waardoor een andere formule 1-auto veel dichter achter een ander kan rijden. Een aantal teams hebben dit seizoen last gekregen van porpoising. Doordat de auto ‘te laag’ en te flexibel staat afgesteld wordt de auto naar het asfalt getrokken, raakt het asfalt en stuitert omhoog, tot het ground-effect weer werkt en de auto bonkt weer op het asfalt. Dit stuiteren noemt men porpoising. Door de auto hoger af te stellen, heb je hier geen last meer van, echter, verlies je dus ook veel snelheid op de rechte stukken. Sommige formule 1-teams moesten echt terug naar de basis.

Meten is weten

Voordat je begint met aan knoppen draaien, zet eerst goede monitoring in. Gebruik bijvoorbeeld PMM van Percona. Zo breng je gedetailleerd in kaart waar de pijnpunten werkelijk zitten. En, groot voordeel, de meeste database-experts die je vervolgens in huis haalt om je verder te helpen, zullen erg blij zijn dat je PMM al een paar weken op je omgeving hebt draaien. Dat geeft veel houvast en kan het echte werk vrijwel gelijk beginnen.

Toch eens een databases expert naar laten kijken?

Heb jij ook onverklaarbare performance problemen of wil je zeker weten dat je omgeving klaar, stabiel en veilig is voor de toekomst? Zodat ook jij races kunt gaan winnen? Neem eens vrijblijvend contact op, wij helpen je graag.

Terug naar blogoverzicht

Répondre