Skip to Content

Wat is MySQL High Availability?

MySQL High Availability is een optie die u kunt selecteren waarmee uw MySQL-database beschikbaar blijft in geval van een storing of onderbreking. Met deze functie kunt u hogere uptime-eisen en tolerantie voor dataverlies instellen. In dit artikel bekijken we wat het algemene concept van hoge beschikbaarheid inhoudt, en hoe de optie Hoge beschikbaarheid voor MySQL werkt. 

Wat is hoge beschikbaarheid?

Hoge beschikbaarheid is het vermogen van een systeem of dienst om te blijven functioneren en beschikbaar te blijven wanneer zich een storing of uitval voordoet. Een systeem met hoge beschikbaarheid zorgt ervoor dat de bedrijfskritische systemen en toepassingen van een organisatie altijd operationeel zijn. Het is vooral belangrijk voor organisaties in sectoren als gezondheidszorg, financiën en luchtvaart, waar het uitvallen van een bedrijfskritisch systeem ernstige gevolgen kan hebben.

Hoge beschikbaarheid wordt meestal uitgedrukt als een percentage van de uptime, gedefinieerd door service level agreements (SLA's), waarbij een score van 100 staat voor een systeem dat nooit faalt. Omdat dit vrijwel onhaalbaar is, streven de meeste organisaties naar "vijf negens" of 99,999% beschikbaarheid.

Hoe MySQL hoge beschikbaarheid bereikt

Een systeem met hoge beschikbaarheid moet onmiddellijk kunnen herstellen als zich een fout voordoet. Een architectuur met hoge beschikbaarheid vereist ten minste drie basiselementen die samenwerken om herstelbaarheid en hoge beschikbaarheid te garanderen:

Foutdetectie

MySQL heeft een High Availability-optie waarmee applicaties kunnen voldoen aan eisen voor een hogere uptime (en geen tolerantie voor dataverlies). Als de optie High Availability is ingeschakeld, creëert het MySQL-systeem drie instances in verschillende foutdomeinen of beschikbaarheidszones.

Data worden gerepliceerd tussen de drie instances met behulp van MySQL Group Replication, en de applicatie maakt verbinding met de primaire instance voor het lezen en schrijven van data van en naar de database. Bij een storing schakelt het systeem binnen enkele minuten automatisch over op een secundaire instance.

Failover

Het failover-mechanisme zet diensten over naar een gerepliceerde instance. Als er meer dan één back-up-instance beschikbaar is, kiest het failover-mechanisme de beste om naar de primaire node te verplaatsen. 

Een omleidingsmechanisme

Zodra failover naar een secundaire instance plaatsvindt, leidt de High Availability-functie alle applicatie- en gebruikersverbindingen om naar wat nu de nieuwe primaire node is. Ook worden alle zoekopdrachten van de oude primaire node omgeleid naar de nieuwe primaire database. 

MySQL High Availability: Uptime

Uptime is de tijd dat een systeem beschikbaar is en correct functioneert en wordt uitgedrukt als een percentage van de totale tijd dat het systeem naar verwachting operationeel is. Een hoge uptime betekent dat het systeem meestal beschikbaar is en functioneert zoals verwacht. 

De uptime die u kunt verwachten met verschillende niveaus van MySQL High Availability hangt af van de specifieke oplossing voor hoge beschikbaarheid (HA) die u implementeert.

MySQL Replication

Met MySQL Replication kunt u meerdere servers inrichten om redundantie en failover te bieden, zodat een hogere uptime wordt ondersteund dan met een MySQL-server zonder HA-mogelijkheid. Een master-slaveconfiguratie gebruikt een enkele masterserver die leest en schrijft en een of meer alleen-lezen slaveservers. Data van de masterserver worden asynchroon gerepliceerd naar de slaveservers.

Om failover te implementeren, moet u een of meer slaveservers instellen als stand-byservers die kunnen worden gepromoveerd tot master in geval van een storing. Failover is over het algemeen een handmatig proces waarbij u de slave node moet promoveren tot master node door de status van de gepromoveerde slave te veranderen in lees-schrijfmodus zodat deze verzoeken kan accepteren.

Omdat de failover handmatig wordt uitgevoerd, duurt het langer en kan er een menselijke fout plaatsvinden, waardoor de storing langer duurt. MySQL Replication gebruikt ook asynchrone replicatie, wat betekent dat als de master faalt, transacties die op de master zijn vastgelegd mogelijk nog niet zijn gerepliceerd naar de slaveservers. Als er bedrijfskritische data verloren gaan, moeten de data worden hersteld, waardoor het systeem langer buiten gebruik is.

MySQL Group Replication

Met MySQL Group Replication kunt u hogere uptimes bereiken dan met MySQL Replication. Met MySQL Group Replication zet u meerdere MySQL-servers in een groep, waarbij één server wordt aangewezen als de primaire server en de andere servers als secundaire servers. Elke server in de groep onderhoudt een kopie van de data en gebruikt replicatie om ervoor te zorgen dat de kopieën synchroon blijven. 

Als de primaire server uitvalt, detecteren de secundaire servers in de groep de storing automatisch en begint het failoverproces. Een van de secundaire servers wordt automatisch gepromoveerd tot de nieuwe primaire server en begint verzoeken van cliënten te behandelen. De andere secundaire leden in de groep ontvangen nu updates van de nieuwe primaire server en gaan door met het verwerken van client-leesverzoeken.

Als de uitgevallen server weer online komt, voegt hij zich automatisch weer bij de groep als secundaire server.

Omdat foutdetectie en failover automatisch plaatsvinden met MySQL Group Replication, is de downtime minimaal en weten gebruikers en applicaties meestal niet dat er een storing is opgetreden. 

MySQL Cluster

Een MySQL Cluster HA-oplossing biedt het hoogste niveau van uptime. Dit uiterst beschikbare, gedistribueerde databasesysteem, samen met automatische failover en load balancing, biedt hoge mate van beschikbaarheid, prestaties en schaalbaarheid en is ontworpen om vrijwel geen downtime te hebben. 

MySQL Cluster gebruikt drie soorten nodes die samenwerken om data op te slaan en te beheren:

  • Data nodes: Slaan data op en behandelen lees- en schrijfverzoeken.
  • MySQL server nodes: Ontvangen verzoeken van de cliënttoepassingen, verwerken deze op de data nodes, en sturen het resultaat terug naar de cliënten.
  • Management nodes: Beheren de werking van het cluster en zorgen voor failover en herstel bij een storing.

Als een of meer nodes in een cluster uitvallen, detecteert het cluster het probleem automatisch en start het failoverproces. Het hele proces gebeurt doorgaans binnen één seconde na een storing, zonder dat de service aan cliënttoepassingen wordt onderbroken. Het cluster blijft normaal functioneren, met vrijwel geen downtime.

FlashArray testen

Ervaar hoe Pure Storage block en file drastisch vereenvoudigt in een zelfbedieningsomgeving.

Nu proberen

MySQL High Availability: Hersteltijd 

Hersteltijd is de tijd die een MySQL-systeem nodig heeft om te herstellen van uitval. Een langere hersteltijd leidt tot een verminderde beschikbaarheid en kan het vermogen van het bedrijf om inkomsten te genereren, de productiviteit van de medewerkers en de klanttevredenheid direct beïnvloeden.

In MySQL is de hersteltijd afhankelijk van het replicatietype dat u gebruikt:

  • De hersteltijden van MySQL Replication voor master-slavereplicatie worden beïnvloed door het handmatige failoverproces. Nadat u de slaveserver naar de nieuwe primaire node hebt gepromoveerd, moet u hem opnieuw opstarten zodat hij kan beginnen data te repliceren naar de resterende slaveservers. Vervolgens moet u rekening houden met ontbrekende transacties en eventuele conflicten oplossen.
  • Group Replication gebruikt een automatische foutdetectie en automatisch failoverproces dat resulteert in lagere hersteltijden dan master-slavereplicatie. Mechanismen voor conflictdetectie en -oplossing zorgen ervoor dat de data op elke server altijd synchroon loopt met alle servers in de groep. Group Replication gebruikt ook conflictvrije gerepliceerde datatypes (conflict-free replicated data types - CRDT's) om data automatisch met elkaar in overeenstemming te brengen wanneer zich een conflict voordoet. Met Group Replication kan het systeem herstellen van een storing met zeer weinig downtime.
  • MySQL Cluster maakt gebruik van een "shared nothing"-benadering, waarbij elke node in het cluster zijn eigen geheugen en schijfopslag krijgt toegewezen en met andere nodes communiceert via een snelle verbinding. MySQL Cluster blijft werken, zelfs als één of meer nodes falen. Het cluster detecteert het probleem automatisch en activeert het failoverproces om te herstellen zonder enige downtime.

Hoe bepaalt u uw MySQL HA-behoeften?

Om uw MySQL High Availability-vereisten te bepalen, zult u verschillende factoren moeten overwegen, waaronder:

  • Uw huidige systeemarchitectuur: Welke componenten bevat uw huidige systeem en hoe zijn ze geconfigureerd? Kunnen ze MySQL High Availability ondersteunen?
  • Budget: Hoeveel moet u investeren in resources zoals hardware, software en personeel? Houd ook rekening met de kosten voor training en lopend onderhoud.
  • Bedrijfsbehoeften: Denk aan uw hersteltijddoelstellingen (recovery time objectives - RTO) en herstelpuntdoelstellingen (recovery point objectives - RPO). Wat is uw ideale hersteltijd? Hoe snel moet u herstellen van een storing? Ga na of uw organisatie onderworpen is aan specifieke regelgeving of nalevingseisen die een hoge beschikbaarheid vereisen.
  • Datakriticiteit: Hoe belangrijk zijn uw bedrijfsdata? Hoe belangrijk is het om up-to-date te zijn? Hoeveel dataverlies kunt u zich veroorloven?

Wanneer gebruikt u MySQL High Availability?

Laten we eens kijken naar een paar gebruikssituaties die MySQL High Availability-oplossingen vereisen:

Websites met veel verkeer

Websites met veel verkeer verwerken duizenden zoekopdrachten en transacties per seconde, om nog maar te zwijgen van duizenden gelijktijdige gebruikers. Maatregelen voor hoge beschikbaarheid zoals serverredundantie en load balancing kunnen ervoor zorgen dat de database beschikbaar blijft en de belasting aankan. 

Redundante servers zorgen ervoor dat de website beschikbaar blijft, zelfs als een server uitvalt, en load balancing van inkomende verzoeken over meerdere servers voorkomt dat een enkele server overbelast raakt en offline gaat.

Bedrijfskritische applicaties en workloads

Bedrijven met bedrijfskritische systemen en toepassingen vereisen een hoog niveau van beschikbaarheid en uptime. Meestal kunnen deze systemen zich geen downtime veroorloven, en moet de database te allen tijde beschikbaar blijven. 

MySQL HA-oplossingen zoals Group Replication of Cluster zijn in dit geval ideaal omdat ze gebruik maken van een automatisch failovermechanisme dat resulteert in weinig of geen downtime.

Hoe Pure Storage MySQL High Availability ondersteunt

Pure Storage® Evergreen™ is een portfolio van abonnementen die zorgen voor implementaties zonder downtime. In combinatie met de unieke storage array-architectuur van Pure Storage stelt Evergreen u in staat de storage-infrastructuur te upgraden zonder de service workloads te onderbreken. 

Pure ondersteunt ook active-active clustering en automatische, transparante failover met Purity ActiveCluster™, een multi-site active-active stretch cluster, voor zero RPO en RTO.

Overweeg ook Pure Cloud Block Store™, die cloudbetrouwbaarheid op bedrijfsniveau biedt voor bedrijfskritische applicaties. Met non-disruptieve upgrades en hoge beschikbaarheid tussen beschikbaarheidszones wordt hoge beschikbaarheid bereikt voor multi-cloud bedrijfscontinuïteit en disaster recovery.

NEEM CONTACT MET ONS OP
Vragen, opmerkingen?

Hebt u een vraag of opmerking over Pure-producten of certificeringen?  Wij zijn er om te helpen.

Een demo inplannen

Plan een livedemo in en zie zelf hoe Pure kan helpen om jouw data in krachtige resultaten om te zetten. 

Bel ons: 31 (0) 20-201-49-65

Media: pr@purestorage.com

 

Pure Storage

Herikerbergweg 292

1101 CT . Amsterdam Zuidoost

The Netherlands

info@purestorage.com

Sluiten
Uw browser wordt niet langer ondersteund!

Oudere browsers vormen vaak een veiligheidsrisico. Om de best mogelijke ervaring te bieden bij het gebruik van onze site, dient u te updaten naar een van deze nieuwste browsers.