Ik draai op het moment een zware database server, die op het moment een SPOF vormt. Nu kan ik er een tweede machine naastzetten die middels replication een schaduwkopie draait, of zelfs
Master --> Slave
Slave <-- Master
(Multi master replication dus).
Momenteel draai ik op MySQL, en mogelijk in de toekomst PostgreSQL of een andere database.
Nu weet ik dat je voor bijvoorbeeld webservers (om een voorbeeld te noemen) loadbalancers kunt gebruiken, zoals de One4Net B-100's die tweakers draait. Nu ben ik echter benieuwd of zoiets ook voor een x aantal database servers te hangen is.
Mogelijk is er in de toekomst budget voor een oplossing als die van Emicnetworks (komt neer op EUR 4.000 per server, nu maal 2), of een database die dit out-of-the-box ondersteunt.
Interessante factoren aan MySQL en PostgreSQL zijn echter het gemak qua onderhoud en de lage kosten van implementatie en onderhoud.
Als ik de database (die een onderdeel uitmaakt van een clustered applicatie) HA/load balanced wil maken, zijn er volgens mij drie oplossingen:
- Database replication + failover in client app
- Database replication + failover in DB software
- Database replication + hardware oplossing/load balancer?
failover in de client App heb ik liever niet, waarom het wiel opnieuw uitvinden? Failover in de DB software is met het huidige budget niet aan de orde denk ik. (Ik ben op de hoogte van MySQL Cluster, maar dat is 100% memory-based: niet leuk met een database die 'groot' is (4-10GB).
Wat is nu wijsheid? Ik denk erover in eerste instantie de 'failover' functionaliteit uit de MySQL JDBC driver in te gaan zetten, i.c.m. een simpele applicatie op iedere database server, die pas weer verbindingen toestaat zodra de database up-to-date is. Dit is echter een houtje-touwtje oplossing
Wie heeft hier ervaring mee, en kan me vertellen wat (mogelijk) wijsheid is, nu (met beperkt budget) en met in het vooruitzicht middelen om het wat groter aan te pakken (groeipad)?
Master --> Slave
Slave <-- Master
(Multi master replication dus).
Momenteel draai ik op MySQL, en mogelijk in de toekomst PostgreSQL of een andere database.
Nu weet ik dat je voor bijvoorbeeld webservers (om een voorbeeld te noemen) loadbalancers kunt gebruiken, zoals de One4Net B-100's die tweakers draait. Nu ben ik echter benieuwd of zoiets ook voor een x aantal database servers te hangen is.
Mogelijk is er in de toekomst budget voor een oplossing als die van Emicnetworks (komt neer op EUR 4.000 per server, nu maal 2), of een database die dit out-of-the-box ondersteunt.
Interessante factoren aan MySQL en PostgreSQL zijn echter het gemak qua onderhoud en de lage kosten van implementatie en onderhoud.
Als ik de database (die een onderdeel uitmaakt van een clustered applicatie) HA/load balanced wil maken, zijn er volgens mij drie oplossingen:
- Database replication + failover in client app
- Database replication + failover in DB software
- Database replication + hardware oplossing/load balancer?
failover in de client App heb ik liever niet, waarom het wiel opnieuw uitvinden? Failover in de DB software is met het huidige budget niet aan de orde denk ik. (Ik ben op de hoogte van MySQL Cluster, maar dat is 100% memory-based: niet leuk met een database die 'groot' is (4-10GB).
Wat is nu wijsheid? Ik denk erover in eerste instantie de 'failover' functionaliteit uit de MySQL JDBC driver in te gaan zetten, i.c.m. een simpele applicatie op iedere database server, die pas weer verbindingen toestaat zodra de database up-to-date is. Dit is echter een houtje-touwtje oplossing
Wie heeft hier ervaring mee, en kan me vertellen wat (mogelijk) wijsheid is, nu (met beperkt budget) en met in het vooruitzicht middelen om het wat groter aan te pakken (groeipad)?