parallele Welten

  • mehr durch einen Zufall (ich gebs ja zu) haben wir heute eine Parallel-Welt geschaffen.
    Zwei Foren unter zwei völlig verschiedenen Adressen, die sich gegenseitig immer wieder aktualisieren und somit exakt die gleichen Beiträge zeigen.


    Der Sinn?
    hmmm... noch wissen wir es nicht nicht, da es nicht geplant war. Wir denken/hoffen aber, dass man dadurch sogar das richtige Forum abschalten kann (z.B. wegen Designänderungen) und nach dem es wieder aktiv ist, kommen die zwischenzeitlich neuen entstandenen Beiträge als Aktualisierung rein.
    Das würde bedeuten, dass das Forum nie abstürzt und auch nie wirklich geschlossen ist.


    In wieweit diese Hoffnung simmt, muss aber erst noch getestet werden.


    Wer so etwas mal absichtlich haben will: Einfach Thread im Technikbereich eröffnen und fragen, wie es geht.

  • Erklärung der Funktionsweise und der wirkliche Nutzen - wir sind ja jetzt etwas weiter als damals.


    Dadurch dass man per ftp-upload eine Kopie des Forums auf den Server schickt, bleiben also auch alle Einstellungen hinsichtlich der Datenbänke und der Datenbankserver erhalten.
    Eigentlich gibt es dadurch nur eine einzige Datenbank auf die beide Foren zugreifen - was ja auch die gegenseitige Aktualisierung erklärt.


    Probleme gibt es häufig, wenn beide Foren auf anderen Servern gehostet werden. Wer so etwas bewusst plant, sollte also beide auf dem gleichen Server unterbringen um "Nachjustierungen" zu vemeiden.


    Nutzen:
    Man erhält dadurch wirklich zwei separate Zugänge zur gleichen Datenbank.
    Dieses kann u.a. nützlich bei Shopsystemen sein, die unterschiedliche Auftritte planen, jedoch immer nur identische Artikel und Preise anbieten möchten.


    Um Nutzer verschiedener Zugänge von einander abzugrenzen empfiehlt sich hier eine Rechtezuweisung zu verschiedenen Nutzergruppen. So kann man eine einzige Datenbank auch für 2 getrennt agierende Foren nutzen, die verschiedene Inhalte anbieten.
    Solange der Datenbankserver läuft ist es also nicht nötig regelmäßig von beiden Foreninhalten eine Sicherheitskopie anzufertigen. Alle Daten werden in der gleichen DB gespeichert.... was eine spätere Zusammenführung vereinfacht, weil nur die Rechtevergabe für eine Trennung sorgten.


    Aus einem Forum "Rat" und einem Forum "Tat" kann somit auch ein drittes Forum "Rat&Tat" entstehen, das die separierten Inhalte beider Foren zusammen fasst.


    Hierbei ist natürlich darauf zu achten, dass der Datenbanksever leistungsfähig genug sein muss, um 3 Foren gleichzeitig beliefern zu können. Auch entsteht hier natürlich auf einer einzelnen Datenbank ein extremer Traffic, der von manchen Hostern nicht gerne gesehen wird.

  • Hat man das gleiche Problem wie damals und möchte zwei unabhängige Foren haben ...
    Dann braucht man nur in der Konfigurationsdatei des neueren Forums die neue Datenbank eintragen und danach die Sicherungskopie der alten Datenbank in die neue einspielen.


    Damit erhält man zwei unabhängioge Foren, die gleich ausgerüstet sind

  • Das replizieren einer Datenbank ist eigentlich keine große Sache, wenn man nen eigenen Server hat :-)
    Dort kann man nämlich per cronjob oder scheduled tasks die Datenbank in bestimmten Abständen einfach kopieren (wenn Bedarf besteht sag ich auch mal wie mans macht).


    Auf 2 verschiedenen Servern ist die zwar auch möglich, wirft allerdings zwei Probleme auf:
    Erstes Problem wäre das man dem Server sagen müsste das er auch auf seiner externen Adresse/IP Datenbankverbindungen annehmen soll, was ein Sicherheitsrisiko darstellt, und kein Hoster der Welt macht das Freiwillig.
    Das zweite Problem ist eher ein Freehoster Problem: Man müsste um das erste Problem zu umgehen eine SSH Verbindung aufbauen und dann per Konsolenbefehl ein Datenbankbackup erstellen. Dieses dann auf den Replizierungsserver holen und einspielen. Aber welcher Freehoster bietet schon ssh Zugänge an ?


    Beide Foren auf eine Datenbank zugreifen zu lassen ist auch keine saubere Lösung, da es ganz schnell zu redudanzen kommt, was die Seite an sich langsam macht.
    Außerdem speichern fast alle Forensysteme einstelllungen in der DB. Darunter fällt auch die Einstellung ob ein Forum im Wartungsmodus ist oder nicht.
    Was zur folge hat, dass wenn man Forum A in den Wartungsmodus versetzt, Forum B die Einstellung auch übernimmt und auch nicht Verfügbar ist.

    [php]$this->Skills = "PHP, MySQL, C(++), Java, Linux, Windows, Netzwerke, Hardware, atmen, essen, küssen and many more";[/php]

  • Ich hab das bei meinem Forum mal absichtlich gemacht. Ist wirklich nichts schweres, wenn man weiß, wies geht. Das ganze muss im gleiechem WCF installiert sein. Dafür muss man von den WBB installationsdateien eine Bestimmte raussuchen. Die Datei ist die com.woltlab.wbb.tar.gz . Die einfach ganz normal über den Packetmanager installiern. Wer mehr wissen will, kann mich gerne Fragen.

  • Mit deinem Vorgehen erhältst du Folgendes:


    2 voneinander unabhängige Systeme
    1 Datenbank die von beiden benutzt wird


    Problem:
    Je länger die Foren laufen, desto mehr wird sich die Datenbank füllen.
    Je voller sie ist, desto "zäher" wird sie laufen.
    Wenn diese eine Datenbank einen Fehler hat (z.B. Ausfall des Datenbankservfers) betrifft es gleich beide Forensysteme auf einen Schlag.


    Und mit welchen Datenmengen ihr auf Dauer rechnen müsst.. dass kann dir vielleciht Folgendes verraten:
    Ich habe gerade mal (nur für diesen Artikel) ein Backup der Datenbank gezogen.
    Ohne Kompression nimmt es nach 1 3/4 Jahren (das alte Forum hat eine eigen DB gehabt) 86 MB ein.


    Stell dir jetzt mal vor, dieses wäre ein "normales Forum"...
    Viel mehr "aktive Einbauten"... viel mehr "Spaßaktivität", viel mehr Uploads usw.
    Ich schätze einfach mal, dass die Datenbank allein eines der Foren dann schon auf die doppelte Größe "angeschwollen" sein wird.
    Mit zwei Foren in eienr Datenbank, hättet ihr also schon einen "Datenbank-Moloch" von 320 MB


    Sehr träge, sehr anfällig .. und vor allem... bei dieser Datenemenge wird es dann auch ziemlich aufwendig, später die Tabellen wieder zu trennen... geschweige denn,d ass man einen Fehler manuel wieder finden und beheben kann.


    Was mir gerade noch einfällt...
    Zieh ein Backup von dieser Datenbank und dabei kommt es dann zu leichten Fehlern.
    Ich hatte diesen Fall vor fast genau einem Jahr mit diesem Forum.
    Ich zog mehrere Sicherheitsbackups... und als ich sie brauchte, da stellte sich heraus, dass jedes Backup einen anderen Fehler hatte.


    Ich habe die beschädigten Tabellen austauschen und reparieren können .. war ja relativ einfach, weil ich nur rund 178.000 Datensätze hatte .. und alle Backups zur gleichen Zeit gezogen wurden
    Stell dir diesen Fall jetzt mit 2 Foren vor und du hast nur 1-2 Riesen-Backups .. in denen völlig verschiedene Fehler sein können.
    Hier stellt sich dann nur noch die Frage: Von Vorne anfangen oder aufgeben... oder wie lange würde man wohl brauchen um die (geschätzte) vierfache Menge an Daten zu sichten und die Fehler zu finden und zu beheben ?




    Ich verweise auf Sn1pper


    Zitat

    Beide Foren auf eine Datenbank zugreifen zu lassen ist auch keine saubere Lösung, da es ganz schnell zu redudanzen kommt, was die Seite an sich langsam macht.


    Er beschreibt hier schon, euer System.. das einfach beide Systeme in einer Datenbank laufen lässt.


    Übrigens.. Sicherheit:
    Schaffe ich es, in ein Forum einzudringen und Zugriff auf die Datenbank zu erhalten... dann ahbe ich die volle Kontrolle über beide Forensysteme.


    Aktuell gibt es im CwCity-Forum einen Fall, wo auf diese Art ein Soccer-Spielsystem ALLE Daten verloren hat. Eine kleine Sicherheitslücke, die nie gefixt wurde, hat es ermöglicht. Das Sytem wurde mit mit vollen Adminrechten übernommen und alles wurde komplett gelsöcht... nur durch den Zugriff auf die Datenbank.


    Das würde in deinem Fall eben beiden Systemen gleichzeitig drohen. 1 Lücke in 1 der beiden Forensystem und 2 Foren sind für immer verloren.


    Auch ich warne desahlb vor der "Verschmelzung" zweier Systeme in einer Datenbank. So lange es nur geht, sollte jedes System seine eigene Datenbank haben.

  • Ich hab noch ne einfache Möglichkeit die Daten in 2 Foren zu replizieren. Beziehungsweise ein "Notfall" Forum mehr oder weniger aktuell zu halten.


    1. Eine PHP Datei schreiben die die wichtigen Tabellen des Hauptforums sichert. Also zum Beiepiel: Usertabelle, Forentabelle, Threadtabelle etc.
    2. Diese "replicate.php" dann irgendwo auf dem Webspace ablegen.
    3. Das Burning Board beitet die Möglichkeit Zeitgesteuerte Aufgaben auszuführen. (Adminpanel -> System -> Zeitgesteuerte Aufgaben -> Zeitgesteuerte Aufgabe hinzufügen)
    4. In das Feld "Pfad zur Klasse" den relativen Pfad zur "replicate.php" eintragen
    5. Je nachdem wie oft man replizieren will die Zeit eintragen. Wenn man alle 10 Minuten replizieren will dann bei Minute:
    "9,19,29,39,49,59" eintragen.
    oder alle Stunde ? Dann nur die 59
    Nur 5 Minuten vor Mitternacht ? dann 55 bei Minuten und 23 bei Stunden.
    6. Speichern und fertig :-)


    So in der Art kann man auch Automatisch Backups der DB Fahren... und sich zum Beispiel per Mail zuschicken.
    Bei Fragen einfach ne PM :-)


    Btw: Ne ganz saubere Lösung wäre ein Shellskript das die komplette DB zu den genannten Zeitpunkten Backuped, die alte des Replizierungservers droppt und das backup einspielt.

    [php]$this->Skills = "PHP, MySQL, C(++), Java, Linux, Windows, Netzwerke, Hardware, atmen, essen, küssen and many more";[/php]