Ich mache etwas Arbeit für eine Organisation, die Büros in 48 Ländern der Welt hat. Im Wesentlichen arbeiten sie jetzt so, dass sie alle Daten in einer lokalen Kopie der Datenbank speichern und in alle Regionen/Büros der Welt repliziert werden. In den seltenen Fällen, in denen sie direkt an etwas arbeiten müssen, auf dem sich die "Entwicklungskopie" auf den Londoner Servern befindet, müssen sie sich direkt mit den Londoner Servern verbinden, unabhängig davon, wo sie sich auf der Welt befinden.Architektur für einen global verteilten Neo4j?
Also sagen wir, ich möchte ein einzelnes Diagramm haben, das die gesamte Organisation überspannt, die so geschichtet ist, dass jede Region relativ schnelle Lesevorgänge der Grafik hat. Ich mache mir Sorgen, dass die Schreibweise die Leistung zum Erliegen bringt. Ich verstehe, dass Schreibvorgänge einen einzelnen Master durchlaufen, bedeutet das, dass es global einen einzigen Master gibt? Wenn dieser Meister zufällig in London ist, muss jeder Schreibvorgang in der Datenbank von Sydney diese Entfernung durchqueren, unabhängig von der lokalen Gruppierung? Und was wäre, wenn Sydney und London (aus welchen Gründen auch immer) abgeschnitten würden?
Wie löst Neo4j im Wesentlichen das globale Verteilungsproblem?
Große Antwort: Was passiert, wenn die Verbindung zwischen den beiden Standorten getrennt wird, Änderungen an beiden Clustern vorgenommen werden und die Verbindung wiederhergestellt wird? Ich denke, ich habe etwas darüber gelesen, dass ich einen Disponenten für Streitfälle zur Verfügung stellen muss ... Ist das richtig? – gremwell
für Master-Wahl benötigen Sie mehr als die Hälfte der Cluster-Mitglieder (deshalb sollten Sie eine ungerade Zahl haben), um Quorum zu haben. Ohne Quorum wird kein Meister gewählt. Eine isolierte Minorität Ihres Clusters kann weiterhin Lesevorgänge verarbeiten, akzeptiert jedoch keine Schreibvorgänge. –
Aber wir haben eine Gruppe von 3 in London, eine Gruppe von 3 in Sydney. Der Meister ist in London, und jemand schneidet das Londoner Büro ab (Anmerkung: Die Server laufen noch und alle im Londoner Büro benutzen sie weiterhin). Die Sydney wählt nun einen neuen Meister und arbeitet für eine Weile. Einige Zeit später ist die Verbindung zum Londoner Büro wieder online. Was geschieht? – gremwell