PDA

Bekijk Volledige Versie : MySQL Cluster, 2 MGM servers, 3 Nodes



jsrit
24/06/09, 09:37
Goedemorgen,

Met een komend project dat medio september volledig live moet gaan hebben wij een MySQL Cluster nodig.

Wij hebben momenteel 3 servers als zijnde MySQL Nodes en 2 servers als zijnde MySQL Management servers.
Wij willen werken met NDB CLuster, MySQL 5.x. Reden van de 2 management servers is dat wij geen single
point of failure willen hebben in onze MySQL Cluster.


Iemand die hier ervaring mee heeft dan wel een betere oplossing hiervoor heeft?


Graag vernemen wij wat de kosten zijn om het op te zetten en in welke tijdsbestek het gerealiseerd kan worden.
Wel moet alles ruim voor 8 juli a.s. klaar zijn.



Bedankt,

bami82
24/06/09, 09:50
Normaal gesproken heb je 3 type cluster nodes.

Data nodes (minimaal 2)
Management nodes (1 minimaal maar liever 2)
sql nodes (minimaal 1 maar 2 voor full redundant).

Data nodes is waar je data staat, deze hebben voor NDB veel RAM nodig agenzien alles in het geheugen draait. Vanaf mysql 5.1 is het wel mogelijk niet geindexeerde tabellen op disk op te slaan.

SQL nodes zijn de nodes waar je vanuit je app. mee connect. Kortom, als je geen single point of failures wil is 3 servers erg krap. Alternatieven zijn oa. master/slave

eUKhost
24/06/09, 13:41
Wij hebben deze oplossing voor een van onze klant, maar dit op 2 database servers. Wij hebben realtime mirroring oplossing op 2 Database servers. Elk bestand bijwerken of veranderen van de Database Server 1 server vlaggen zelf en FAM krijgt kennis over de vlag. FAM module stuurt een verzoek naar Rsync om het bestand update op Database Server 2 en het bestand wordt onmiddellijk doorgegeven aan de Databank 2 server. Dit proces wordt afgerond in een zeer korte periode van tijd en maakt geen gebruik van een server, zelfs als de bestanden die veranderd zijn van grotere size.Failover is een proces waarin de database server 2 staat in voor de Database-server 1 in geval de Database-server 1 naar beneden gaat. Met de hulp van Failover-, database-verbinding aanvragen die zijn gericht op de mislukte Databank server 1 worden doorgestuurd naar de database server 2. Dit wordt gedaan met behulp van een monitoring-script draait op de database server 2 die bindt de Secondary IP van Database-server 1 en alle andere speciale IP's op de database server 2. Databases op database-server 1 start het oplossen van de Database-server 2 in de fractie van een seconde en functie op dezelfde wijze als ze gebruikt om op de Database-server 1.

Dit kan worden ingesteld op meerdere MySQL-servers. Is dit soort van setup u zoekt?

GuusDeGraeve
24/06/09, 13:42
Mss heb je hier wel iets aan:
http://www.howtoforge.com/loadbalanced_mysql_cluster_debian

Al doen wij dat anders, wij werken meer met master-master replication en daarbij nog master-slave replication. In onze applicaties sturen we dan alle write-queries naar een random master en onze read queries verdelen we over de slaves. Tot nu toe heeft dit ons al veel opgeleverd. Eenvoudig op te zetten, eenvoudig uitbreiden, ...

wonko
24/06/09, 14:52
mysql master master in combinatie van met een mysql-proxy en keepalived/heartbeat zou hier prima voor moeten volstaan.

wdv
26/06/09, 01:29
Waarvoor is het cluster bedoelt? Let op dat de focus van de cluster-editie met name ligt op extreme veiligheid van de data en beschikbaarheid. Zeg maar op het niveau van banken en dergelijke. Vaak is dat gewoon enorme overkill, kost het (erg) veel performance en is een master-master setup zoals wonko aangeeft een veel geschiktere oplossing.