
Op het grensgebied tussen de Database Administrator (DBA) en de applicatie of zijn ontwikkelaar.
Database Optimalisatie Specialist
Als Database Optimalisatie Specialist, richt ik mij op het optimaliseren van de gehele database en alles wat van invloed is op het gedrag er van, waaronder:
- Functioneel gebruik van de database
- Technisch gebruik van de database
- Applicaties die gebruik maken van de database
- Tabel structuur
- Datatype gebruik
- Relationele model
- Inrichting van het database cluster / instance
- Inrichting van de onderliggende componenten zoals besturingssysteem, opslag, geheugen en netwerk
Onderhoud
Een ander veel voorkomend probleem met databases is achterstallig onderhoud. Ooit klein begonnen met weinig data en een paar gebruikers. Vervolgens succesvol gegroeid zonder stil te staan bij de gevolgen voor de database. Bij een goed ingerichte database met de juiste vraagstelling hoeft groei in volume en/of gebruik weinig impact te hebben. Maar elke database heeft onderhoud nodig. Altijd, net als dat de beste auto ooit nog steeds regulier onderhoud nodig heeft.
Meten is weten
Een flink onderschat onderwerp rond Database Optimalisatie is de wereld van het meten, historie opbouwen meetwaarden en het visualiseren van deze gegevens. Vanwege mijn achtergrond als Business Intelligence Specialist, ken ik de kracht van meten en het analyseren van deze meetwaarden door de tijd. Ondanks dat de meeste database engines views hebben die heel nuttige meetgegevens bevatten, wordt door maar weinig organisaties werkelijk volwaardig benut. Zeker, sommige ontwikkelaars en database specialisten zijn bekend met deze informatie en gebruiken het als het echt nodig is, maar slechts heel weinig organisaties verzamelen deze informatie en slaan het op voor analyses door de tijd.
Zodra die stap wel genomen wordt, komt de werkelijke kracht naar boven. Zeker, het kost tijd om dit op te zetten, maar zodra er goede visualisaties zijn komen de èchte pijnpunten ook al snel naar boven. Zodra die weg zijn genomen, laten de volgende pijnpunten zich zien. Geleidelijk worden alle pijnpunten weg genomen, met als resultaat een systeem dat zo soepel en efficient loopt als mogelijk.
En weet je? Als het systeem soepel en efficient draait, verspilt het geen CPU kracht, IO of disk ruimte. Dat betekent flinke kostenbesparing omdat het systeem prima werkt op een kleinere, goedkopere server of omdat het niet nodig is om over te stappen naar een zwaardere server, terwijl het systeem wel groeit. En dat laatste is gelijk de reden waarom meetwaarden nog steeds verzameld moeten worden, zodat het systeem soepel blijft draaien. Ook op de lange termijn.
Ik heb meerdere van dit soort systemen opgezet. Gebruik makend van Open Source systemen, dus tegen lage kosten. Natuurlijk, het kost tijd om dit op te zetten. Maar op de langere termijn verdient het zich ruim terug.



