Direct technisch advies?
035 369 0304
Home > Blog

De Noodzaak van Database onderhoud

Martijn Wallet 12-12-2016 16:01
Categorieën: BLOG

De Noodzaak van database onderhoud 

 

Het komt eigenlijk altijd aan het licht bij een Health Check, QuickScan of tuning die OptimaData uitvoert voor klanten. Achterstallig database onderhoud! Wanneer er achterstallig database onderhoud op het database systeem zal het huidige resource gebruik niet representatief zijn voor datgene waartoe de configuratie en hardware in staat zouden kunnen zijn. 

Hieronder het resultaat van een succesvolle implementatie van database onderhoud. De responstijden van de applicatie gingen van gemiddeld 2,8 seconden naar ca. 1,6 seconden.

Door het uitvoeren van insert-, update- en delete statements op tabellen zullen de indexen gefragmenteerd raken. Dit houdt in dat er ruimte is gereserveerd voor een index maar er staat geen bruikbare informatie meer op die plek. De database engine bepaalt onder andere aan de hand van de fragmentatie van een index welke actie er uiteindelijk wordt uitgevoerd om een handeling ui te voeren; een table scan of een index scan. Per platform wisselt het kantelpunt waarbij onderhoud noodzakelijk is. Bij SQL Server is het zo dat bij een fragmentatie onder de 30% een ‘reorganize index’ kan worden overwogen. 

Komt dit fenomeen alleen op bepaalde database platformen voor? Nee, op alle platformen. MySQL, MariaDB, Oracle, Sybase, SQL Server, PostgreSQL en zelfs NoSQL varianten zoals MongoDB. De methode om dit op te lossen varieert per platform. Meestal zijn er standaard voorzieningen aanwezig maar vaak zijn die ingrijpend en blokkerend voor de normale database processen, zoals het opslaan van nieuwe records. Bij de licensed platformen zoals SQL Server en Oracle komt het erop neer dat er meer betaald moet worden om deze blokkeringen te voorkomen. Er zijn echter manieren, met en zonder third-party tooling, om die ingrijpende acties te minimaliseren of zelfs te voorkomen.

Per systeem of database kan een onderhoudsplan worden geïmplementeerd. Er zijn verschillende opties instelbaar voor het onderhoud, ingrijpend of risico mijdend. Een index rebuild tijdens gebruik van de database zal een impact hebben op de performance, dus is het aan te raden het in een onderhouds venster in te plannen. Ook hiervoor zijn allerlei varianten mogelijk die afhankelijk zijn van de setup bij de klant en het type applicatie.

Het implementeren van een onderhoudsplan is een iteratief proces. Men dient het gekozen onderhoud en de mate van fragmentatie gedurende de werkweek of werkdag zorgvuldig in de gaten te houden en op elkaar af te stemmen.

Terug naar blogoverzicht

Reageer