Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Projektplanung und -Management (https://www.delphipraxis.net/85-projektplanung-und-management/)
-   -   Allgemeine Frage ERP Entwicklung (https://www.delphipraxis.net/209543-allgemeine-frage-erp-entwicklung.html)

michaelg 20. Dez 2021 16:02

AW: Allgemeine Frage ERP Entwicklung
 
Zitat:

Zitat von johndoe049 (Beitrag 1499401)
Also, ich habe heute noch jemanden beim Kunden erreicht. Eigentlich haben die bis Januar Betriebsferien.

Scheinbar ist die Datenspeicherung in zwei Punkten das Problem, warum keine ERP bisher gepasst hat.

In meinen Programmen verwende ich zwei verschiedene Datenbankserver, die synchron vom Client bedient werden D.h. der Client schreibt auf beide Datenbankserver und beim Lesen wird der Inhalt von einem Server mit dem anderen verglichen. Beim Ausfall eines Servers wird direkt auf den anderen umgeschaltet und über eine Serveranwendung werden die beiden Datenbankserver nach Reaktivierung des ausgefallenen Servers später wieder synchronisiert.

Übernimmt z. B. MySQL nicht solche Aufgaben mit replizierten Servern?

johndoe049 20. Dez 2021 16:09

AW: Allgemeine Frage ERP Entwicklung
 
Zitat:

Zitat von michaelg (Beitrag 1499405)
Zitat:

Zitat von johndoe049 (Beitrag 1499401)
Also, ich habe heute noch jemanden beim Kunden erreicht. Eigentlich haben die bis Januar Betriebsferien.

Scheinbar ist die Datenspeicherung in zwei Punkten das Problem, warum keine ERP bisher gepasst hat.

In meinen Programmen verwende ich zwei verschiedene Datenbankserver, die synchron vom Client bedient werden D.h. der Client schreibt auf beide Datenbankserver und beim Lesen wird der Inhalt von einem Server mit dem anderen verglichen. Beim Ausfall eines Servers wird direkt auf den anderen umgeschaltet und über eine Serveranwendung werden die beiden Datenbankserver nach Reaktivierung des ausgefallenen Servers später wieder synchronisiert.

Übernimmt z. B. MySQL nicht solche Aufgaben mit replizierten Servern?

Zwei verschiedene Datenbankserver heisst in meinem Fall z.B. MySQL und Postgresql.

Delphi.Narium 20. Dez 2021 16:12

AW: Allgemeine Frage ERP Entwicklung
 
Das Betonung auf "verschiedene Datenbankserver" liegt also nicht in der Menge der Datenbankserver, sondern auf "unterschiedliche Datenbanksysteme auf unterschiedlichen Servern"?

johndoe049 20. Dez 2021 16:13

AW: Allgemeine Frage ERP Entwicklung
 
Zitat:

Zitat von Delphi.Narium (Beitrag 1499407)
Das Betonung auf "verschiedene Datenbankserver" liegt also nicht in der Menge der Datenbankserver, sondern auf "unterschiedliche Datenbanksysteme auf unterschiedlichen Servern"?

Richtig.

TigerLilly 20. Dez 2021 16:36

AW: Allgemeine Frage ERP Entwicklung
 
Dann würde ich MSSQL und ORACLE nehmen, spiegeln und serverbasiertes Logging auf Zeileneben machen.

Aber ganz ehrlich und das soll nicht respektlos klingen: Wenn es solche Sicherheitsanforderungen gibt ist das Entwickeln einer so umfangreichen Software durch eine "kleine Quetschn" oder gar ein EPU doch eher ein NoGo. Da müsste doch ein Backup für den/die ProjektleiterIn und die Key-EntwicklerInnen gefordert sein, Zugriff auf den Source-Code und und und. Das ist ist für ehrlicherweise (ich hab auch schon mal was anderes behauptet) nicht zu stemmen.

jobo 20. Dez 2021 16:45

AW: Allgemeine Frage ERP Entwicklung
 
Mmh, das ist natürlich auch eine Möglichkeit, ein Vendor Login zu vermeiden.

Dass der Client direkt in 2 Systeme schreibt, ist m.E. etwas exotisch. Das würde eher ein zentraler Wrapper machen. Aber letztlich ist man mit solch einem Vorgehen auch sehr nahe an einem online/offline System. Praktisch: der Client speichert so lange lokal, bis er eine online Connection findet. Ist natürlich eine Frage, wie flexibel die Clienttechnik zum Speichern/Lesen/Abgleichen ist.

fisipjm 20. Dez 2021 16:46

AW: Allgemeine Frage ERP Entwicklung
 
Zitat:

Zitat von johndoe049 (Beitrag 1499401)
Scheinbar ist die Datenspeicherung in zwei Punkten das Problem, warum keine ERP bisher gepasst hat.
Wegen dem Tätigkeitsbereich verlangen die das jetzt auch in der ERP Software. Alle anderen Anforderungen sind diskutabel, nur die Datenspeicherung wird als nicht diskutabel eingestuft.

Dann ist die Software in meinem vorherigen Post wahrscheinlich auch raus.

Was ist der Mehrwert dieser Vorgabe? Ohne jemand zu nahe treten zu wollen, aber die Entscheidung ist für mich absolut nicht nachvolziehbar, bringt keinen erkennbaren Vorteil/Mehrwert. Das normale Vorgehen für High Availability Systeme ist die bereits angesprochene DB synchronisation oder Spiegelung. Welcher Mehrwert ergibt sich aus 2 unterschiedlichen DB Systemen gleichzeitig? Außer faktor 2 in Wartung- und Entwicklungsaufwand, sowie 2 DB Systeme die je nach Anforderungen auch noch gegeneinander arbeitende Hardwareanforderungen mitbringen und für beide Systeme expertiese in Konfiguration, Backup und Performance optimierung erfordern?

Bin gerne lern bereit, aktuell sehe ich den Mehrwert noch nicht.

johndoe049 20. Dez 2021 16:58

AW: Allgemeine Frage ERP Entwicklung
 
Zitat:

Zitat von fisipjm (Beitrag 1499412)
Zitat:

Zitat von johndoe049 (Beitrag 1499401)
Scheinbar ist die Datenspeicherung in zwei Punkten das Problem, warum keine ERP bisher gepasst hat.
Wegen dem Tätigkeitsbereich verlangen die das jetzt auch in der ERP Software. Alle anderen Anforderungen sind diskutabel, nur die Datenspeicherung wird als nicht diskutabel eingestuft.

Dann ist die Software in meinem vorherigen Post wahrscheinlich auch raus.

Was ist der Mehrwert dieser Vorgabe? Ohne jemand zu nahe treten zu wollen, aber die Entscheidung ist für mich absolut nicht nachvolziehbar, bringt keinen erkennbaren Vorteil/Mehrwert. Das normale Vorgehen für High Availability Systeme ist die bereits angesprochene DB synchronisation oder Spiegelung. Welcher Mehrwert ergibt sich aus 2 unterschiedlichen DB Systemen gleichzeitig? Außer faktor 2 in Wartung- und Entwicklungsaufwand, sowie 2 DB Systeme die je nach Anforderungen auch noch gegeneinander arbeitende Hardwareanforderungen mitbringen und für beide Systeme expertiese in Konfiguration, Backup und Performance optimierung erfordern?

Bin gerne lern bereit, aktuell sehe ich den Mehrwert noch nicht.

Es geht nicht um HA. Es geht um die Authentizität der Daten. Im Kritis Bereich ist das von Vorteil.

Ein klassischen HA System mit 2x identischem Server hat das Problem, dass ein Programmfehler im Datenbankserver nicht wirklich auffällt. Bei verschiedenen Systemen fällt dies in der Theorie schneller auf. Veränderungen von Daten ausserhalb der Software erfordern ebenfalls mehr Aufwand in der gleichzeitigen Datenbearbeitung. Daher auch eine Signatur für alle Datensätze.

Entwicklung ist zwar teurer und aufwendiger, dafür aber lt. meinem Kunden leichter im Kritis Bereich zu zertifizieren.

Am Markt würde ich mal schätzen, dass ca. 0,5-1 % aller Firmen diesen Aufwand finanzieren würden. Ob mein Kunde das in der ERP benötigt kann ich nicht abschätzen. Bei den anderen Datenbanken, die ich bei dem programmiert habe, dürfte es angemessen sein, ansonsten hätte er das garantiert nicht gezahlt.

himitsu 20. Dez 2021 17:10

AW: Allgemeine Frage ERP Entwicklung
 
Jo, einmal haben viele DBMS irgendwo eine (Zusatz)Funktion für eine Replizierung.

Und selbst wenn nicht, dann kann man das auch selber in der DB (Trigger) erledigen
und bei den Abrufen (SELECTs) über einen View bzw. WritableView, der parallel auf die andere DB zugreift und vergleicht, bzw. die Signatur prüft.



Tja, bei uns würde auch nur noch so Kleinkram, wie die eine Sprache oder z.B. das Fax fehlen (*1)
und ich denke mal, dass von den Anforderungen nicht soooo exotisch ist, als dass es die meisten ERPs nicht bieten könnten.

1) Abgesehn von dem Teil mit der Replizierung/Verifizierung, welchen ich jetzt aber nicht, wie schon gesagt, in die Software integrieren würde ... in der DB würde sich sowas bei vielen ERP bestimmt "leichter" nachrüsten lassen.
Wobei wir eh fast alle komponenten abgeleitet haben und sich somit in jede Datasource eine zweite mit integrieren ließe, welche parallel speichert und vergleicht. (natürlich würde das nur Fehler in der DB, welche eigentlich eher seltener sein sollten, abfangen ... gegenüber Fehlern im ERP)

IBExpert 20. Dez 2021 20:53

AW: Allgemeine Frage ERP Entwicklung
 
Zitat:

Zitat von johndoe049 (Beitrag 1499401)
In meinen Programmen verwende ich zwei verschiedene Datenbankserver, die synchron vom Client bedient werden D.h. der Client schreibt auf beide Datenbankserver und beim Lesen wird der Inhalt von einem Server mit dem anderen verglichen. Beim Ausfall eines Servers wird direkt auf den anderen umgeschaltet und über eine Serveranwendung werden die beiden Datenbankserver nach Reaktivierung des ausgefallenen Servers später wieder synchronisiert.

Das andere ist die von mir verwendete Signaturtechnik, mit der jede Datenzeile auf Echtheit und korrekte Speicherung bestätigt wird.

Wegen dem Tätigkeitsbereich verlangen die das jetzt auch in der ERP Software. Alle anderen Anforderungen sind diskutabel, nur die Datenspeicherung wird als nicht diskutabel eingestuft.

Wenn das vom Client in eigenen Connections gemacht wird ist das alleine schon eine seltsame architektur, aber was macht man nicht alles für den Kunden, wenn der das will und dafür zahlt ....

Das mit der Datensatzsignatur klingt irgendwie nach jemand, der mal was von blockchain gehört hat und das unbedingt haben will, wofür auch immer ...

Bei unserem größten Gastroprojekt Kunden laufen die Replikationen multimaster je nach tabelle entweder zwischen 10 Mainserver oder zwischen allen 200 beteiligten Servern, jeder Client schreibt aber alles nur ein mal in eine Datenbank im lokalen Netz und die 10 bzw 200 firebird server tauschen das dann transaktionssicher untereinander aus. Wenn da ein client 200 connections brauchen würde, wäre das sicherlich kaum benutzbar. Und datenbankserverseitig haben wir ein komplettes log, alle insert/update/delete befehle, egal von welchem Client, dessen ip, cinnection id und transaction id wir aber dadurch auch haben.
Das hilft uns bei der Fehlersuche deutlich weiter als nur eine checksumme, egal wie die berechnet wurde.

Warum das aber dann auch noch 2 unterschiedliche Serversysteme im Sinne von unterschiedlicher Datenbanksoftware sein müssen, ist mir dann komplett rätselhaft. Scheint ein echter Exot mit seinen Anforderungen zu sein, kann aber alleine dadurch ein langfristig interessanter Kunde für dich werden.

Wir haben ja einige Kunden auch im Medical Umfeld und selbst da hab ich von so was noch nie gehört. Warum einer der beiden Datenbankserver da was fehlerhaftes machen sollte, was man dann beim Abgleich mit dem anderen erkennt, ist mir auch nicht wirklich klar, außer das die Datenbankserver ja per definition unterschiedliche Metadatenstände haben müssen und deshalb eben auch mal per defintion dateninhalte anders speichern und ggf auch wieder zurückgeben.

Speicher einfach mal die Zahl pi in unterschiedlichen Datenbankservern mit theoretisch gleichen Datentypen und multiplizier das in einem Select mit einer anderen Zahl mit 5 Nachkommastellen. Da wird man durchaus deutliche Unterschiede im Nachkommastellenbereich finden. Das gleiche kommt auch gerne mal bei Sum befehlen mal vor, aber wer legt dann fest, wer recht hat?

Ich frag mich auch was passiert wenn die Daten bei deinen beiden Servern nicht synchron sind? nimmt man dann per random irgendeinen der Datensätze?


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:01 Uhr.
Seite 3 von 4     123 4      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz