php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 16-12-2007, 21:43
stefuNz
 Guest
stefuNz
Beiträge: n/a
Standard Datenbank Abgleich zwischen zwei Servern

Hi alle!

Ich möchte per Cronjob gerne zwei Datenbank-Tabellen synchronisieren.
Das habe ich bisher so gemacht:
Auf Server a werden in Tabelle xyz die Datensätze immer geändert (und als "submit" = 1 gesetzt) und dann alle 5 minuten an Server b übertragen (also alle mit submit = 1) via file_get_contents(http://serverb/empfangs-script.php?passwort=x&feld1[]=1&feld2[]=2&feld3=3) etc.

leider hat sich herausgestellt, dass das sehr unzuverlässig läuft.

Habt ihr irgendwelche Ideen, wie das zuverlässiger laufen könnte?
Habe auch schon daran gedacht, die Daten per FTP rüberzuschieben...

MfG
Stefan
Mit Zitat antworten
  #2 (permalink)  
Alt 16-12-2007, 21:49
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: Datenbank Abgleich zwischen zwei Servern

Zitat:
Original geschrieben von stefuNz
leider hat sich herausgestellt, dass das sehr unzuverlässig läuft.
das glaube ich dir bei dem gegurke gerne
Zitat:
Original geschrieben von stefuNz
Habt ihr irgendwelche Ideen, wie das zuverlässiger laufen könnte?
http://dev.mysql.com/doc/refman/5.0/en/replication.html
Mit Zitat antworten
  #3 (permalink)  
Alt 19-12-2007, 11:33
stefuNz
 Guest
stefuNz
Beiträge: n/a
Standard

ok danke für den hinweis und für das lob fürs gegurke

Zitat:
Scale-out solutions - spreading the load among multiple slaves to improve performance. In this environment, all writes and updates must take place on the master server.
leider habe ich vergessen zu erwähnen, dass neue datensätze grundsätzlich nur von server b kommen (oder server c,d,e und f).
also ich hab ne ganze server farm mit jeweils einer datenbank und von dieser datenbank soll die tabelle x auf server a "repliziert" werden ... scheint mir so als würde das nicht gehen mit mysql replication!?
und die server sind echte unterschiedliche server, also meistens mit dem mysql host localhost!

noch irgendwelche ideen?
Mit Zitat antworten
  #4 (permalink)  
Alt 19-12-2007, 17:03
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Zitat:
Original geschrieben von stefuNz
Auf Server a werden in Tabelle xyz die Datensätze immer geändert ... und dann alle 5 minuten an Server b übertragen
Zitat:
leider habe ich vergessen zu erwähnen, dass neue datensätze grundsätzlich nur von server b kommen ... und von dieser datenbank soll die tabelle x auf server a "repliziert" werden
Soweit bin ich mitgekommen:
Du hast einen Zielserver Z und n Quellserver Q1 bis Qn.
Auf allen Servern gibt es eine Tabelle t. (siehe f)
Auf einem ausgezeichneten Qx - und nur dort - werden neue Daten von einer lokalen Applikation in t geschrieben. (siehe e)
t muß von Qx nach Z repliziert werden - 1 nach 1. (siehe c)
Auf Z werden die Daten in t manipuliert.
t muß von Z auf alle Q* repliziert werden - 1 nach n.

Offene Fragen:
a) Werden auf irgendeinem Q* Daten auch manipuliert?
b) Falls a), müssen die Daten dann auch nach Z repliziert werden?
c) Wie zeitkritisch ist die Sache (5 Minuten-Cron oder lieber sofort)?
d) Über welche Datenmengen reden wir eigentlich?
e) Ist x immer gleich, kommen neue Daten immer vom selben Qx?
f) Gibt es auf Z nur eine Tabelle oder n, also für jedes Q* eine eigene?

Geändert von onemorenerd (19-12-2007 um 17:06 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 19-12-2007, 18:10
thommyk
 Registrierter Benutzer
Links : Onlinestatus : thommyk ist offline
Registriert seit: Aug 2003
Ort: Münster
Beiträge: 255
thommyk ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
also ich hab ne ganze server farm mit jeweils einer datenbank und von dieser datenbank soll die tabelle x auf server a "repliziert" werden ... scheint mir so als würde das nicht gehen mit mysql replication!?
Solange Du sicherstellst, dass Veränderungen der Tabelle x immer nur auf dem gleichen Quellserver ausgeführt werden, kannst Du die Tabelle auf beliebig viele Server replizieren. Du musst den Servern nur unterschiedliche IDs geben und jeweis in der my.in festlegen, welche Datenbanken/Tabelle(n) repliziert werden sollen.

Warum machst Du es Dir unnötig schwer und änderst die Tabelle auf verschiedenen Servern (so hab ich es jedenfalls verstanden)
Du musst eben als Host jeweils auf allen Server den Quellserver b angeben.
__________________
Die zehn Gebote sind deswegen so kurz und logisch, weil sie ohne Mitwirkung von Juristen zustande gekommen sind. (Charles de Gaulle)
Mit Zitat antworten
  #6 (permalink)  
Alt 23-12-2007, 13:03
stefuNz
 Guest
stefuNz
Beiträge: n/a
Standard

Zitat:
Original geschrieben von onemorenerd
Offene Fragen:
a) Werden auf irgendeinem Q* Daten auch manipuliert?
b) Falls a), müssen die Daten dann auch nach Z repliziert werden?
c) Wie zeitkritisch ist die Sache (5 Minuten-Cron oder lieber sofort)?
d) Über welche Datenmengen reden wir eigentlich?
e) Ist x immer gleich, kommen neue Daten immer vom selben Qx?
f) Gibt es auf Z nur eine Tabelle oder n, also für jedes Q* eine eigene?
zu a) Ja. Sowohl anfangs per INSERT (wenn sich ein User registriert), als auch per UPDATE (wenn sich ein User aktiviert)
zu b) Ja unbedingt.
zu c) 5 min Cron reicht
zu d) Das sind Kilobyte-Größen
zu e) neue Daten kommen von verschiedenen Qx Servern
zu f) Nein, nicht für jedes Qx eine eigene, das soll alles in genau eine Tabelle...

Gibt's da nicht ne zuverlässige Alternative zur Replikation?
Habe mir mal n paar Tutorials durch gelesen, um wenigstens mal n bisschen zu kapieren wodrum es da geht ...
Mit Zitat antworten
  #7 (permalink)  
Alt 23-12-2007, 13:35
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Replikation ist als eingebautes Feature bestimmt am zuverlässigsten.
Deine Angaben sprechen auch sehr deutlich für Replikation. Du musst nur deine Applikation so umstricken, dass du nicht mehr many-to-many replizieren mußt. Das ist nämlich schon aus theoretischer Sicht nicht ohne und kein mir bekanntes DBMS beherrscht es.
Deshalb wirst du auch keine externe Lösung finden, die nebenwirkungsfreie many-to-many-Replikation beherrscht.

Schau dir mal den NDB-Typ von MySQL an!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:24 Uhr.