[Redis] Specifieke implementatie oplossing?

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • X-DraGoN
  • Registratie: Juli 2005
  • Laatst online: 11:48
Huidige situatie schets:

We willen een high available oplossing bouwen voor een web applicatie

Momenteel draaien er 2 webserver's (voorlopig in 1 datacenter - we willen uitbreiden naar 2 datacenters) die in de achtergrond naar verschillende SQL db's gaan (vrij kleine maar wel realtime), verder moet de data ook nog uit een DB2 database komen op een ander systeem (Power I).

Momenteel draait er een SQL Always On Availability Group om uptime te garanderen. Deze heeft de mogelijkheid om in 2 verschillende datacenters te gaan draaien, maar aan de ene kant alleen RO te zijn en aan de andere kant gewoon RW (zou RW moeten zijn aan 2 kanten om onze applicatie te laten werken)

Vraag:
- Is er met MS SQL een mogelijkheid om RW te doen aan beiden kanten zoadat we dezelfde oplossing die we nu hebben te kunnen uitbreiden naar 2 datacenters?
- Is Redis een oplossing om de RW mogelijkheden die we zoeken, effectief te implementeren?
- Is er een andere oplossing voor? Geen SQL meer?

Alle reacties


Acties:
  • 0 Henk 'm!

  • luukvr
  • Registratie: Juni 2011
  • Niet online
RO is read only? RW is Read and write?

Je kan normaal gesproken maar 1 master hebben waar je mutaties doet, de rest is slave en kan gebruikt worden voor leesopdrachten. Slaves kunnen wel automatisch gepromoveerd worden naar master bij uitval. Mutaties worden door de master naar de slaves gepusht.

Redis is een cache oplossing en dus meer om je leesopdrachten te schalen, niet perse om veel te schrijven. Best wat werk om te implementeren maar als je weinig mutaties in je database hebt en veel dezelfde opdrachten, dan kan dit een groot verschil maken.

Wat kan helpen om je master niet over te belasten is om alleen muterende queries er heen te sturen (geen leesopdrachten). Daarnaast zou je kunnen kijken of je al je databases een eigen master te geven (als je schrijven wilt schalen).