AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Datenbestand / Master-Master-Sync

Ein Thema von FAM · begonnen am 9. Jan 2015 · letzter Beitrag vom 12. Jan 2015
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#11

AW: Datenbestand / Master-Master-Sync

  Alt 10. Jan 2015, 09:53
Möglichkeit 1:

Es wird ein Locking benötigt, der zuverlässig das Schreiben von nur einer Stelle zulässt.

Möglichkeit 2:

Erzeugen von einem Transaktionslog, was dann auf jede Datei angwendet wird.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#12

AW: Datenbestand / Master-Master-Sync

  Alt 10. Jan 2015, 10:14
Wenn ich das richtig beobachtet habe, müssen gerade unter den Delphianern einige mit Kunden arbeiten, die eine merkwürdige IT-Umgebung und einen kautzigem Admin haben, der dort alle Regeln macht
Die haben keinen Admin sondern einen Chef der die C..p liest.

Aber im Ernst, die Frage ist doch, welchen Zweck soll die Konstellation erfüllen? Da anzusetzen scheint mir u.U. sinnvoller als an Symptomen herum zu doktern.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
FAM

Registriert seit: 22. Dez 2014
47 Beiträge
 
Delphi XE Enterprise
 
#13

AW: Datenbestand / Master-Master-Sync

  Alt 12. Jan 2015, 08:14
Hallo Zusammen,

erstmal danke für eure antworten....

zu euren Fragen / Randbedingungen

- Schreib/Lesevorgänge: Wie wird die Datei geschrieben? Sequentiell, vollständig, ..
Vollständig

- Dateigröße: Ab einer gewissen Größe entstehen deutliche Laufzeiten für den Schreibvorgang, die Berücksichtigt werden müssen.
Dateigrösse max. 1 MB

- Daraus folgend sind ggF. beim Schreiben die jeweils andere Datei zu sperren o.ä.
nicht notwendig, den das eigentliche Beschreiben der Binär-Datei und der zu implmentierende Sync laufen parallel (Datei wird geschrieben und im Hintergrund - Thread?! - läuft der Sync respektive die Überwachung über Sync notwendig)

- Sind es im Normalfall immer nur 2 PCs?
ja,

- Läuft das Programm ständig?
ja

- Wie robust muss das Protokoll sein (Ausfall eines oder beider Rechner)?
wenn ein PC ausfällt soll der zweite einspringen

- Kannst du die Programmme ändern oder musst du ein zusätzliches Tool schreiben, dass die Synchronisierung übernimmt?
kann das programm ändern

Möglichkeit 1:

Es wird ein Locking benötigt, der zuverlässig das Schreiben von nur einer Stelle zulässt.

Möglichkeit 2:

Erzeugen von einem Transaktionslog, was dann auf jede Datei angwendet wird.
wie würdest du diesen Transaktionslog konzipieren/implmentieren?



Implementierungsgrund ist eine Daten-Redundanz:

2 PCs laufen ständig (in einem Netzwerk) und haben jeweils einen und den selben Client am laufen, die jeweiligen Clients beziehen von ein und der selben Quelle Daten und schreiben diese dann in eine *.dat Datei (2 x 1:1 Beziehungen - Client vs. OPC-Server).

Falls mal ein Client aus ist (z.B. Absturz) und er wieder angestellt wird, muss geprüft werden ob die Daten der *.dat (auf den PC welcher gerade abgestürzt war) "noch aktuell sind" > an dieser Stelle müsste dann der Sync laufen (Copy *.dat von anderne PC). Eine andere Möglichkeit warum bedarf von einem Sync besteht ist wenn z.B. der Client die Daten vom OPC-Server nicht richtig lesen konnte ...

Auf beiden PC soll einfach eine 100% Datengleichheit bestehen, zu jeder Zeit.

Eine Datenbank ist auszuschliessen! (Kundenwusch)

Geändert von FAM (12. Jan 2015 um 08:41 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#14

AW: Datenbestand / Master-Master-Sync

  Alt 12. Jan 2015, 11:07
- Dateigröße: Ab einer gewissen Größe entstehen deutliche Laufzeiten für den Schreibvorgang, die Berücksichtigt werden müssen.
Dateigrösse max. 1 MB
Auf welchem Medium mußt Du speichern? Diskette?

- Daraus folgend sind ggF. beim Schreiben die jeweils andere Datei zu sperren o.ä.
nicht notwendig, den das eigentliche Beschreiben der Binär-Datei und der zu implmentierende Sync laufen parallel (Datei wird geschrieben und im Hintergrund - Thread?! - läuft der Sync respektive die Überwachung über Sync notwendig)

- Sind es im Normalfall immer nur 2 PCs?
ja,

- Läuft das Programm ständig?
ja

- Wie robust muss das Protokoll sein (Ausfall eines oder beider Rechner)?
wenn ein PC ausfällt soll der zweite einspringen
Da stimmt etwas nicht, entweder arbeiten beide PCs immer, dann springt keiner ein, oder aber einer ist der "Verantwortliche" und PC2 übernimmt wenn PC1 ausfällt.

Auf beiden PC soll einfach eine 100% Datengleichheit bestehen, zu jeder Zeit.
Das kannst Du vergessen, am Ende eines Tages, zu jeder vollen Stunde, zu jeder vollen Minute, das kann gehen aber zumindest während des Zeitraums einer möglichen Synchronisation sind die beiden Dateien nicht gleich.

Eine Datenbank ist auszuschliessen! (Kundenwusch)
Dann hoffen wir mal das der Kunde weiß wovon er spricht

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
FAM

Registriert seit: 22. Dez 2014
47 Beiträge
 
Delphi XE Enterprise
 
#15

AW: Datenbestand / Master-Master-Sync

  Alt 12. Jan 2015, 11:13
Zitat:
Auf welchem Medium mußt Du speichern? Diskette?
HDD

Zitat:
Da stimmt etwas nicht, entweder arbeiten beide PCs immer, dann springt keiner ein, oder aber einer ist der "Verantwortliche" und PC2 übernimmt wenn PC1 ausfällt.
das ist ja genau das thema des forum-threads... Master-Master-Sync...
Beide PC laufen ständig. Wenn sich ein Mitarbeiter an PC#1 setzt, hat er den selben Datenbestand als wenn er sich an PC#2 setzt...
Grundlegend Auslagerung der Datenkonsistenz auf beiden Rechner sinnvoller (Stichwort: Zentrale Datenhaltung), ist aber eben nicht gewünscht.

Zitat:
Das kannst Du vergessen, am Ende eines Tages, zu jeder vollen Stunde, zu jeder vollen Minute, das kann gehen aber zumindest während des Zeitraums einer möglichen Synchronisation sind die beiden Dateien nicht gleich.
das wäre ok, denn der Sync-Vorgang dauert nicht lange (Datenbestand < 1MB)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.830 Beiträge
 
Delphi 10.4 Sydney
 
#16

AW: Datenbestand / Master-Master-Sync

  Alt 12. Jan 2015, 11:15
Zitat:
Falls mal ein Client aus ist (z.B. Absturz) und er wieder angestellt wird, muss geprüft werden ob die Daten der *.dat (auf den PC welcher gerade abgestürzt war) "noch aktuell sind" > an dieser Stelle müsste dann der Sync laufen (Copy *.dat von anderne PC). Eine andere Möglichkeit warum bedarf von einem Sync besteht ist wenn z.B. der Client die Daten vom OPC-Server nicht richtig lesen konnte ...
Wenn einer schon weg ist (-> fehlende Redundanz), dann gefährden wir auch noch den 2. indem wir im Betrieb die Datei Kopieren.

Zitat:
Eine Datenbank ist auszuschliessen! (Kundenwusch)
Das wäre auch noch schöner, wenn eine Chance auf Funktionieren bestehen würde.

-Warum wird immer vollständig geschrieben und nicht nur neues Angehängt?
-Warum machen 2 das Selbe? Besser Synchronisation Bestände und 2. Client nur bei Ausfall.

Die ganze Sache ist ein Himmelfahrtskommando, da es nur ein Frage der Zeit ist, bist das Kartenhaus implodiert.
Markus Kinzler
  Mit Zitat antworten Zitat
FAM

Registriert seit: 22. Dez 2014
47 Beiträge
 
Delphi XE Enterprise
 
#17

AW: Datenbestand / Master-Master-Sync

  Alt 12. Jan 2015, 11:22
Zitat:
-Warum wird immer vollständig geschrieben und nicht nur neues Angehängt?
ein Inkrementelles Schreiben ist überflüssig da Datenbestand sehr klein, zudem ist die Schreibroutine schon fertig implementiert.

Zitat:
-Warum machen 2 das Selbe? Besser Synchronisation Bestände und 2. Client nur bei Ausfall.
Kundenvorgabe!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.830 Beiträge
 
Delphi 10.4 Sydney
 
#18

AW: Datenbestand / Master-Master-Sync

  Alt 12. Jan 2015, 11:25
Und wer haftet? Wenn Kunde das Risiko übernimmt (explizit, schriftlich; Warnung vor Problem in Vertrag).
Markus Kinzler
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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 aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf