Also bei uns nennt sich die Verwaltungssoftware ERP System.
Diese muss aktuell ca. 500 Kassen händeln. Beudeutet also 500 Clients die ständig Waren ausbuchen.
Gleichzeitig gibt es ca. 50 User Clients die Warenbewegungen manuell vornehmen da z.B. per Kauf im Internet Ware zu einem anderen Standort bewegt werden soll. Und als 3tes kommen an 4 Standorten noch ca. 25 Mobile Wareneingangserfassungsgeräte hinzu.
Alles in allem also ca. 600 Geräte die gleichzeitig die Waren hin und her bewegen. Und um es zu toppen gibt es noch unzählige Automatische Prozesse die Warenbewegungen erzeugen können. Z.B. ein MRP (ANV / PPP) der Automatische Nachbestellungen erzeugt die zum Logistikdienstleister geleifert werden und sobald dort eingegangen via automatischer Umalgerunggen an die Standorte verteilt werden.
Ja dabei kommt es zu Wartezeiten. ABER diese bewegen, bzw. sollten sich bewegen im ms (millisekunden) Bereich.
Dabei kommt es darauf an das das die einzelnen Transaktionen in der DB moglichst effizient ablaufen (also nutzen von indizes etc.p.p.) und das die Datenbank eben auch auf einem performanten system aufgebaut ist.
Für die zentrale DB nutzen wir einen Windows Datacenter Cluster. = 2 HW MAschinen mit je 1,5TB RAM die via FibreChannel an 1 NAS angeschlossen sind. Das NAS erlaubt 1 DB Server den Zugriff. Dies ist dann der Primäre Server. Der Sekundäre hat aktuell keinen Zugriff und warte nur darauf das der Primäre Server seine Arbeit einstellt um dann instant die Arbeit aufzunehmen.
Im testscenario wird dabei genau 1 Datenpaket verloren. Dies ist aber in der Datenbank okay. dabei wird die Transaktion die mit dem Paket abgehandelt werden sollte zurückgerollt und abgebrochen.
Bedeutet also im Normalfall bekommt der User der in dem Moment des Clusterschwenks arbeitet eine Fehlermeldung das seine Arbeit nicht ausgeführt werden konnte.
Sicherung ist ein anderes Thema, das ist bei unserem Kunde 15minütiges LogFile-Backup und tägliches Vollbackup.