Synchronisieren zwischen zwei Standorten

Natürlich. Es gibt tausend andere Fallstricke. Bei tieferen Interesse mal die Doku zu BDR durchlesen, da werden diese behandelt.
 
Werbung:
dort lag es oft daran, daß die Kunden kompletten root-Zugriff hatten und rumgemurkst haben. Oft wurde halt auch mal auf dem Standby was geschrieben ohne zu beachten, daß man das nicht machen sollte (und MySQL dies auch zuläßt ...) Aber frag mich nicht mehr nach Details, lange her...
Schitt in / Schitt out. Also so bekommt man alles kaputt. Besonders wenn der Fehler zwischen der rechten und linken Hand liegt. Da kann die DB aber nix für. Ein einfaches cd /; rm -r * hilft da auch schon :)
 
Schitt in / Schitt out. Also so bekommt man alles kaputt. Besonders wenn der Fehler zwischen der rechten und linken Hand liegt. Da kann die DB aber nix für. Ein einfaches cd /; rm -r * hilft da auch schon :)
Mag alles sein. Die Aufgabenstellung des Fragenden hier klingt nach a) ich will gleichzeitig in 2 (oder mehr) Datenbanken schreiben können und b) dazwischen kann sich auch ein lahmes Netzwerk befinden (hohe Latenzen) und c) teilnehmnde Systeme können auch mal komplett aus oder nicht erreichbar sein.

Für mich klingt das so, als gäbe es dafür mit MySQL & Co. keine sinnvolle Lösung, falls Dir eine bekannt ist kannst Du sie ja nennen. Unser BDR ist aber exakt für solche (und andere Fälle) konzipiert und bei großen, weltweit agierenden Kunden (z.B. weltweit agierende Banken, Kreditkartenunternehmen etc.) seit Jahren erfolgreich im Einsatz. (so wirklich gut seit ca. 2018 und danach).

Ja, das ist keine OpenSource und nicht für lau zu haben...
 
Mag alles sein. Die Aufgabenstellung des Fragenden hier klingt nach a) ich will gleichzeitig in 2 (oder mehr) Datenbanken schreiben können und b) dazwischen kann sich auch ein lahmes Netzwerk befinden (hohe Latenzen) und c) teilnehmnde Systeme können auch mal komplett aus oder nicht erreichbar sein.......
Bei MySQL oder MariaDB heisst das Zauberwort Galera Cluster und ist in den neuen Versionen direkt drin. Dazu braucht es aber mim. 3 Nodes um einen split brain zu verhindern. Dabei ist jede Node Master und kann geschrieben und gelesen werden.

Um bei Ausfällen einer Node doch noch eine Verbindung zu bekommen kann man MaxScale oder einen anderen Proxy vorschalten
 
Hallo Thallius,

vielen Dank für Deine Nachfrage.

Wir verwenden die Handelssoftware CAO Faktura um Rechnungen und Offerten zu schreiben.
Früher war die Datenbank bei uns im Hause im Keller auf einem Server.
Doch dieser wird ausgeschaltet und ausgelagert. So liegt die MySQL Datenbank jetzt im Internet bei einem sehr guten Provider.
Leider jedoch sind viele Arbeitsschritte in CAO Faktura extrem langsam. Dies liegt vermutlich an vielen einzelnen Abfragen und grösseren Datenbeständen.
Im eigen LAN hatte das früher sehr flott funktioniert.
Jetzt spekulieren wir damit, im Hause ein SAN einzurichten und die festen Arbeitsstationen darauf arbeiten zu lassen.
Die Mitarbeiter welche ausserhause sind und darauf arbeiten müssen, möchte ich gerne über den Provider im Internet arbeiten lassen.
Somit ja, wir hätten gerne identische Datenbestände...
Die Wahrscheinlichkeit, dass jemand zeitgleich den gleichen Datensatz bearbeitet ist gering.

Viele liebe Grüsse und besten Dank
Markus
Ich habe die Anforderung noch nicht richtig verstanden.

du fragst „Können Programme, entsprechend konfiguriert, entweder auf Master (PC) oder auf Slave (notebook) Datenbanken zugreifen?“
von was für „Programmen“ reden wir denn hier? Sollen wirklich auf den beiden Datenbanken immer die gleichen Daten sein? Wenn ja, was ist denn dann der benefit das du Zwei Datenbanken hast?
ich würde mir etwas mehr Infos um eigentlichen use Case wichtig
 
Ich habe mit MySQL bisher wenig zu tun gehabt und bin auch froh drüber. Tatsächlich habe ich im Beruf fast nur mit MSSQL zu tun, allerdings auch nicht mit Replikation. Wenn ich es mir aussuchen kann würde ich für so ein Projekt PostgreSQL nehmen obwohl ich mich da erst komplett einarbeiten müsste aber nur weil ich MS Lizenzpolitik nicht mag und da keine Abhängigkeiten schaffen wollen würde.
Guten Morgen Ukulele,
Danke für Deine Wortmeldung. Leider kann ich mir die Datenbank nicht aussuchen. Denn das Programm, mit welchem wir seit vielen Jahren die Angebote und Rechnungen schreiben, die Artikel und die Preise verwalten, das CAO Faktura, ist leider gegeben und wir haben keinen Einfluss auf die Datenbank. Wir sind sozusagen "nur" Nutzer der Datenbank für dieses ansonsten wunderbaren Produkt.

Sei herzlichst gegrüsst
Markus
 
Möglicherweise wäre eine Migration ja auch sinnvoll, bei den Anforderungen. Eine Anwendung, die nicht für den Einsatz auf einer verteilten Datenbank mit mehreren Primarys vorgesehen ist auf einer solchen Umgebung laufen zu lassen ist ein guter Weg ins Chaos.
 
Leider jedoch sind viele Arbeitsschritte in CAO Faktura extrem langsam. Dies liegt vermutlich an vielen einzelnen Abfragen und grösseren Datenbeständen.
Im eigen LAN hatte das früher sehr flott funktioniert.


Viele liebe Grüsse und besten Dank
Markus

Hi Markus,

danke für die Erläuterung.

Ist der Provider denn ein Web-Provider oder ein Server-Provider? Weil wenn du z.B. einfach ein Webhosting dafür "missbrauchst" dann ist es kein Wunder das es langsam ist.
Ein richtiger Datenbank Server sollte eigentlich nicht dazu führen das es "extrem langsam" wird. Klar, wenn der gehostete Server irgendwo in Übersee liegt (Was ihr aus GDPR Gründen sowieso nicht machen dürft) und vielleicht nur ein kleiner virtueller Server der sich die Cores mit anderen Servern teilt, dann ist das nicht optimal. Aber hier würde ich vielleicht erstmal ansetzen und sehen wo genau das Problem liegt bevor du zu solchen Bastelwastel Lösungen über gehst.
 
Guten
Hi Markus,

danke für die Erläuterung.

Ist der Provider denn ein Web-Provider oder ein Server-Provider? Weil wenn du z.B. einfach ein Webhosting dafür "missbrauchst" dann ist es kein Wunder das es langsam ist.
Ein richtiger Datenbank Server sollte eigentlich nicht dazu führen das es "extrem langsam" wird. Klar, wenn der gehostete Server irgendwo in Übersee liegt (Was ihr aus GDPR Gründen sowieso nicht machen dürft) und vielleicht nur ein kleiner virtueller Server der sich die Cores mit anderen Servern teilt, dann ist das nicht optimal. Aber hier würde ich vielleicht erstmal ansetzen und sehen wo genau das Problem liegt bevor du zu solchen Bastelwastel Lösungen über gehst.
Guten Tag
<grins> Bastelwastel ist total nicht gefragt. Es sollen richtig, klare, gut definierte Konzepte sein, welche nach den Vorgaben der Hersteller richtig funktionieren.
Der Provider ist Firestorm.ch und ein WebAbo. Aber auch der Hersteller von CAO Faktura hat mir schon von den möglichen Geschwindigkeitsproblemen erzählt.
Es ist auch aus der Struktur der Datenbank erkennbar, dass es nicht einfach ein Select ist, der zu einer Darstellung führt sondern diverse inner outer und sonstige Joins. Duzende Tabellen kommen zum Tragen. Ist auch verständlich, die Software kann verdamt sehr viel sehr gutes.
Im Zuge meiner Recherchen habe ich erfahren, dass bei MariaDB ab Version 10.1 der Calera Cluster integriert ist. Und auf der Webseite von Calera lese ich, dass da eine Replikaktion verfügbar ist.
Dies würde mein Problem, wenn ich das richtig verstehe, lösen. Eine Datenbank auf dem Notebook, eine Datenbank beim Provider, eine Datenbank auf dem SAN, alle mit Galera Cluster repliziert... alle Daten immer aktuell...
Sofern ich keine KO-Kriterien erfahre, werde ich kommende Woche mit dem Aufbau einer Testumgebung beginnen.... Dies im Sicheren Glauben, dass MariaDB kein Bastelwastel ist...

Viele Grüsse
Markus
 
Werbung:
Es ist auch aus der Struktur der Datenbank erkennbar, dass es nicht einfach ein Select ist, der zu einer Darstellung führt sondern diverse inner outer und sonstige Joins. Duzende Tabellen kommen zum Tragen.
Die Joins sind aber 1) Kernkompetenz von SQL Datenbanken und 2) in ihrer Geschwindigkeit höchstens von den lokalen Ressourcen des Servers beeinträchtigt. Wenn man jetzt annimmt das beide Server (lokal und der beim Hoster) ausreichend schnell sind und identisch konfiguriert dann ist die Netzwerkanbindung entscheidend. Dann ist dein Verhalten von Latenz und / oder Bandbreite beeinträchtigt, nicht durch Rechenleistung für Joins.

Den Empfehlungen des Herstellers zu folgen ist natürlich geboten. Ob die welche zu Replikation geben ist eine andere Frage.

Ich kenne Galera Cluster nicht aber ist es eine gute Idee einen Knoten auf einem mobilen Endgerät zu betreiben das auch mal länger nicht erreichbar ist? Klingt nicht optimal.
 
Zurück
Oben