Toon posts:

[MySQL] Master/Slave(s) replication

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil op meerdere webservers MySQL draaien als slave van 1 master server. Alle write akties (inserts, updates, delete's etc.) worden dan naar de master gedaan en alle read's (selects's) worden dan op de localhost afgehandeld. Mijn vraag is... is er iemand die ervaring heeft met master/slave configuraties? Ik dus niet. :)

Hoe zit het met de synchronisatie van het geheel? Is MySQL zo slim om b.v. met lockings de boel in sync te houden of zijn er delays waar ik rekening mee moet houden?

Als ik b.v. een heel stel inserts op de master afvuur en ik doe in hetzelfde script direct een select op de slave erachteraan, kan ik er dan blind vanuit gaan dat ik de juiste informatie terugkrijg? Of moet ik ervan uitgaan dat de slave tijd nodig heeft om in sync te komen?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op zaterdag 29 juni 2002 13:07 schreef MarcoTC het volgende:
Ik wil op meerdere webservers MySQL draaien als slave van 1 master server. Alle write akties (inserts, updates, delete's etc.) worden dan naar de master gedaan en alle read's (selects's) worden dan op de localhost afgehandeld. Mijn vraag is... is er iemand die ervaring heeft met master/slave configuraties? Ik dus niet. :)
Om hoeveel webservers gaat het?
En wat voor DB?

Want replicatie is altijd (een stuk?) slomer dan gewoon enkel een db gebruiken.
Hoe zit het met de synchronisatie van het geheel? Is MySQL zo slim om b.v. met lockings de boel in sync te houden of zijn er delays waar ik rekening mee moet houden?
Ik geloof dat er altijd een kleine delay is, om de halve minuut synced ie oid.
Staat wel in de mysql handleiding gok ik.
Als ik b.v. een heel stel inserts op de master afvuur en ik doe in hetzelfde script direct een select op de slave erachteraan, kan ik er dan blind vanuit gaan dat ik de juiste informatie terugkrijg? Of moet ik ervan uitgaan dat de slave tijd nodig heeft om in sync te komen?
Zou ik niet vanuit gaan, tenzij in de handleiding expliciet staat dat het _wel_ zo is.

Als je geen echt goede reden hebt te repliceren, zou ik het zeker niet doen.

Verwijderd

Topicstarter
Op zaterdag 29 juni 2002 13:31 schreef ACM het volgende:

[..]

Om hoeveel webservers gaat het?
En wat voor DB?
Op dit moment gaat het om 3 webservers welke alle naar 1 DB server connecten. Het probleem is dat de machine nu al te zwaar belast wordt en het grote aantal connecties ben ik ook niet zo blij mee.

Het gaat om 1 grote site met round robin.

Een aparte batch machine staat flink te updaten (inserts, deletes etc.) en het aantal webservers moet omhoog.

Vanaf de webservers komen ook updates maar de verhouding selects en updates is iets van 1:100 ofzo. 99% van de load op de DB server komt van de selects die komen van de webservers en batch machine.

De DB bestaat uit iets van 40 tables verdeeld over 3 databases. Hierop worden continue flink zware queries op losgelaten.
Want replicatie is altijd (een stuk?) slomer dan gewoon enkel een db gebruiken.
Hoe bedoel je dat dan?

De bedoeling is dus om de 'master' bijna niet te belasten door daar alleen alle updates naartoe te doen. Alle selects worden dan op de webservers gedaan (welke dus de 'slaves' zijn).

Op die manier heb ik alleen connects naar de lokale DB's en connecten de webservers alleen naar de master DB machine bij updates.
[..]

Ik geloof dat er altijd een kleine delay is, om de halve minuut synced ie oid.
Staat wel in de mysql handleiding gok ik.
Ik kan daar niets over vinden. Daarom stel ik de vraag ook hier in de hoop mensen te treffen die hier ervaring mee hebben. Ik zou niet weten hoe het werkt en kan er ook nergens iets over vinden.

Worden er op alle slaves weer gewone inserts, updates, delete's uitgevoerd? Of is hier een sneller/slimmer systeem aktief?

Kan ik zo'n master/slave setup gewoon als 1 grote virtuele DB zien met verschillende ingangen? Of moet ik wel degelijk rekening houden met het feit dat er momenten zijn dat de slave nog niet in sync is.
[..]

Zou ik niet vanuit gaan, tenzij in de handleiding expliciet staat dat het _wel_ zo is.
Euh.. dus je zegt dat ik ervan uit kan gaan dat de slaves altijd in sync zijn?
Als je geen echt goede reden hebt te repliceren, zou ik het zeker niet doen.
Die heb ik dus wel ;(

Op een gegeven moment kun je niet meer verder groeien en moet je naar een andere aanpak. Ik kan nu wel van een dual Xeon naar een quad Xeon of zoiets, maar dat houdt op een gegeven moment ook weer op. En... de hoeveelheid connecties die er openstaan zijn ook niet echt gezond.

Op zich lijkt het mij een prima oplossing. Gewoon de DB's op de localhosts laten draaien als slave. Iedere webserver kan dan lokaal al z'n selects lekker doen. Mijn vraag is dus of ik hiermee problemen kan verwachten met de synchronisatie. Als ik een select doe op een slave, krijg ik dan gegarandeerd de juiste waarde of kan het zijn dat de slave 'achterloopt' ten opzichte van de master?

Verwijderd

Topicstarter
^^schop^^

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 14-07 14:28

thomaske

» » » » » »

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."