Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie
Toon posts:

[PostgreSQL] Replicatie

Pagina: 1
Acties:

Onderwerpen


  • benbenben
  • Registratie: mei 2008
  • Laatst online: 05-10-2009
Ik ben op zoek naar een replicatie mogelijkheid voor PostgreSQL.

De situatie is als volgt:
Ik heb één centrale server waarop de PostgreSQL server draait. Daarnaast gaan meerdere clients op verschillende locaties van deze database gebruik maken. Wanneer een verbinding tussen een client en de server verbroken wordt (door beheerder) moet de client gebruik maken van zijn eigen locale database. Deze database moet dan over dezelfde "Score" gegevens beschikken als de server. (het gaat om 1 tabel)

Wanneer de client weer online komt moeten de, door de client gemaakte "nieuwe" scores, weer geupdate worden richting de server.


Het lijkt mij dat ik moet kijken naar asynchrone mogelijkheden aangezien de client niet constant geupdate hoeft te worden, alleen wanneer erom gevraagd wordt. Hiervoor heb ik de volgende programma's gevonden:
  • Slony-I
  • Bucardo
  • Londiste
  • Mammoth
  • Rubyrep
Welke kunnen jullie mij aanraden in deze situatie? Ze lijken het allemaal te kunnen. Zit er performance verschil in, of security?

Alvast bedankt.

  • cariolive23
  • Registratie: januari 2007
  • Laatst online: 23-03 20:01
Slony is volgens mij de bekendste, heeft goede documentatie en is betrouwbaar. Bucardo zou voor mij een goede tweede zijn, maar voorlopig voldoet Slony voor mij.

In jouw situatie is jouw "client"-database eigenlijk de master en de server-database is de slave. Er is dus eigenlijk sprake van een multi-master situatie. Je komt daarmee alleen in de problemen wanneer er meerdere "client"-databases zijn, je gaat dan een zogenaamd split-brain krijgen. Verschillende databases die allemaal pretenderen de master te zijn en over de juiste data te beschikken. In werkelijkheid beschikt geen enkele database meer over de juiste data, in de verschillende databases zal juiste data staan en de beheerder mag gaan beslissen wat nu echt de juiste data is en wat bij elkaar hoort. Dit probleem gaat geen enkel systeem oplossen, dat zul je altijd handmatig of semi-geautomatiseerd moeten doen. Iemand moet beslissen wat de juiste data is.

Ga dus even uitzoeken wat nu precies de situatie is en hoe je split-brain situaties gaat oplossen.

  • benbenben
  • Registratie: mei 2008
  • Laatst online: 05-10-2009
Bedankt ik ga ermee aan de slag!

  • benbenben
  • Registratie: mei 2008
  • Laatst online: 05-10-2009
Aangezien het om één tabel gaat (scores) waarvan alleen het score_id uniek moet zijn, dan zou het toch niet ingewikkeld moeten zijn om de scores (eventueel zonder score_id) in de "server" database toe te voegen?

Daarnaast hoeft alleen de volledige database vanuit de "server" gekopieerd kunnen worden naar de client database.

Is hier eventueel een andere methode voor? Er gaat namelijk gewerkt worden met meerdere clients.

  • cariolive23
  • Registratie: januari 2007
  • Laatst online: 23-03 20:01
Wat je kunt doen, is met dblink (zie de extra modules) connecten met de gewenste database en de data uitwisselen. Ook kun je in het geval van een verbroken verbinding een queu volzetten en deze na herstel gaan uitlezen.

Zorg er wel voor dat je voor jezelf gaat uitzoeken wat er allemaal fout kan gaan en hoe je deze fouten gaat afvangen. Vraag jezelf ook af of je iedere client een rechtstreekse database connectie wilt laten maken, hoe je deze gaat beveiligen, etc. Het ligt nogal aan jouw applicatie en de rest van de structuur wat de ideale aanpak is. Om wat voor soort systeem gaat het eigenlijk?

  • benbenben
  • Registratie: mei 2008
  • Laatst online: 05-10-2009
Nogmaals bedankt voor je reactie. _/-\o_

Het is een systeem waarmee op verschillende locaties een spel gespeeld kan worden. Deze locaties hebben wel de betreffende hardware nodig om het spel te kunnen uitvoeren. Het spel wordt gespeeld in Kiosk mode, dus de beveiliging voor de console is eenvoudig.

[Voor 8% gewijzigd door benbenben op 22-09-2009 21:32. Reden: dank]

Pagina: 1


Apple iPhone 11 Microsoft Xbox Series X LG OLED C9 Google Pixel 4 CES 2020 Samsung Galaxy S20 4G Sony PlayStation 5 Nintendo Switch Lite

'14 '15 '16 '17 2018

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2020 Hosting door True