Direct naar content

Help! MySQL groeit uit mijn jasje

De laatste tijd ontvangen wij regelmatig consultancyverzoeken over MySQL- of MariaDB-omgevingen. De branches waar de problemen zich voordoen variëren en het type en de omvang van de organisatie zijn heel divers. Van grote betaalplatformen, vergelijkingssites, boekingsplatformen, sportevenementen tot crowdcontrol- en e-commerce- of SaaS-omgevingen. Het thema is echter in veel gevallen hetzelfde: performanceproblemen door groei.

Edco Wallet

Co-Founder & eigenaar
Edco Wallet - Co-Founder & eigenaar

Deze blog is een twee luik versie. Lees hieronder de volgende blogpost.


Deel 2

 

Laagdrempelig

MySQL is mede door de LAMP-stack zeer laagdrempelig in te zetten en om verschillende redenen (lees ook eens deze blog van Kinsta) buitengewoon goed in het ondersteunen van websites en webapplicaties. Het is relatief eenvoudig een MySQL- of MariaDB-database op te zetten en te implementeren. Alles instellen op default, zowel je serverconfiguratie als je database-settings en… knallen maar.

Oei, ik groei

Waar echter in veel gevallen bij de bouw onvoldoende over wordt nagedacht – is onze ervaring – en wat uiteindelijk tot problemen leidt, zijn de consequenties van groei in gebruik en aantal transacties in het geval van succes. Door de groei ontstaan allerlei performance-issues, trage query’s, latency, verbroken connecties, et cetera. Lang verhaal kort: de boel wordt traag en ga dan maar eens uitvinden waardoor.

In veel gevallen heeft een developer of een DBA al aan wat knoppen gedraaid en parameters gewijzigd, met in evenveel gevallen geen of zelfs een nog slechter resultaat. En het wordt al helemaal complex als je ook clusters, High Availability, Failover, master-slave-configuraties hebt ingericht.

Wat nu?

Deze problemen zorgen ervoor dat de productieomgeving er last van heeft en dat zelfs de bedrijfsvoering slachtoffer begint te worden van het eigen succes. Doordat zeer belangrijke zaken bij aanvang van het project of de bouw van de website of applicatie zijn nagelaten, gaat het nu serieus tijd, energie en geld kosten om de zaak alsnog te redden.

Reversed engineering, herziening of zelfs überhaupt een – nieuw –datamodel inrichten, inclusief een juiste tabellenstructuur, een goed indexeringsplan, uiteraard basic performance-tuning tot, in sommige extreme situaties, een migratie naar een compleet van scratch nieuw opgebouwde database.

Denk goed na wat je gaat doen

Wij zijn van mening dat je op voorhand al zaken kunt doen om deze ellende te voorkomen door je omgeving op te bouwen en in te richten op basis van je (meest ideale en positieve) verwachtingen. Beter te groot, te wijd en te breed, dan te krap en door zuinigheid of gebrek aan kennis later een veelvoud aan kosten te moeten maken om te herstellen.

Een consultancyorganisatie zoals OptimaData betrekken bij je plannen en advies inwinnen, laten meekijken, een second opinion laten uitvoeren tijdens de ontwikkeling van je project kan serieus veel kopzorgen voorkomen. Daarnaast is beheer belangrijk. Zorg ervoor dat je regelmatig – maandelijks – checkt of je database nog steeds de beste database is voor jouw applicatie, website of toepassing.

Zo kun je anticiperen en je de database laten meegroeien met het gebruik. Wij kunnen bijvoorbeeld met een maandelijkse HealthCheck hierbij assisteren.

Weleens gedacht aan een trusted advisor?

Uiteraard mag je altijd bellen als de problemen te groot worden. We helpen graag en werken samen met je als een trusted advisor die je maandelijks adviezen geeft en meegroeit met je omgeving zodat je niet onverhoopt ad hoc een brand moet blussen met alle gevolgen van dien. Bel of mail ons eens om kennis te maken.

In de volgende blog zullen we wat dieper ingaan op settings, operating-system-tuning en geven we je concrete tips. Stay tuned!