Drucken

Netz: Datenbanken

Schon bei zwei Railware Rechnern spielt das "richtige" Datenbankkonzept eine entscheidende Rolle für den Betrieb einer Modellbahnanlage, deren Aufwand bei Änderungen und der Sicherheit bei Ausfällen.

Wenn Ihre Anlage mit mehreren Rechnern (wir nennen sie hier Client oder Betriebsrechner) arbeiten soll, dann lesen Sie dieses Kapitel bitte sorgfältig.


Geöffnete Festplatte eines Notebooks. (Liebe Kinder: bitte nicht nachmachen)


Standard Datenbanken in Railware

Railware arbeitet von Haus aus mit einem ISAM- Datenbanksystem. Dies verleiht der Software eine komfortable und leistungsfähige Möglichkeit der Datenspeicherung. Sie ist gleichzeitig die Basis für einen Teil der Netzwerkfunktionen. Eine Tabelle der Datenbank muss man sich in etwa wie ein Blatt einer Tabellenkalkulation (z.B. Excel) vorstellen. Jede Tabelle speichert bestimmte Merkmale. Das kann ein Teil eines Gleisbildes, der Lok- und Zugdatenbank oder anderer Informationen sein. Die gespeicherten Daten zerfließen sozusagen in die einzelnen Tabellen. Das ist auch der Grund, warum Gleisbilder, Loks und Züge per Import und Exportfunktionen zu oder von anderen Railware Installationen übertragen werden. Dabei handelt es sich um Textdateien, in denen Teilinformationen vieler Tabellen zu einer Datei zusammengefasst werden.

Eine grobe Übersicht aller Datenbanktabellen finden Sie in der Datei "DateiListe?.txt" im Railware Ordner und auf Seite 65. Zu den Datenbanken zählen alle Dateien mit den Endungen ".dat", ".idx" und ".blb".

Je mehr Gleisbilder, je mehr Loks und Züge und je mehr Lokbilder Sie im Datenbanksystem einer Railware Installation gespeichert haben, desto größer werden die Tabellen und desto länger dauert der Zugriff auf benötigte Daten. Betrieblich macht dies jedoch keinen Unterschied, denn nahezu alle benötigten Daten werden (mit Ausnahme der Lokbilder) bei einem Gleisbildstart in den Arbeitsspeicher geladen, so das Ladezeiten für die Datenbanken für den Betrieb einer Modellbahnanlage meist keine Rolle spielen.

Grundsätzlich ist das Datenbanksystem mehrbenutzerfähig. Das heißt, dass von mehreren Applikationen innerhalb eines PC oder auch von mehreren PC über ein Netzwerk auf eine Datenbank mit ihren Tabellen zugegriffen werden kann. Wenn zufällig mehrere Benutzer Änderungen am Gleisbild, an Zügen oder Loks durchführen, dann wird die Änderung übernommen, die zuletzt gespeichert war. Mehrere Benutzer können gleichzeitig die gleichen Daten lesen und verwenden, aber während eines Schreibvorganges ist die Datenbank kurzzeitig gesperrt. In älteren Railware Versionen wurden aufwändigere Sperrverfahren eingesetzt, bei denen z.B. immer nur von einem PC ein Zug aufrufbar war oder ein Gleisbild gestartet werden konnte. Aber schon bei den ersten Installationen zeigte sich, dass diese Sperren für den Betrieb einer größeren Modellbahnanlage mit mehreren Bedienern eher hinderlich war, weil die Bediener häufiger ihre Funktionen oder den PC wechselten. Auch zeigte sich, dass Änderungen der Konfigurationen und Eigenschaften eher nicht im laufenden Betrieb erfolgen, sondern bei der Inbetriebnahme, die oft nacheinander und von einer Person bewerkstelligt wird.

Wenn Personen von verschiedenen PCs auf die gleiche Datenbank zugreifen, dann berücksichtigen Sie bitte, dass dort auch Änderungen gemacht werden können. Wenn Sie das verhindern wollen oder müssen, dann verwenden Sie den passwortgeschützten "Betriebsmodus" in den Profiparametern.

Wenn sich die Datenbanken statt auf der lokalen Festplatte des PC auf einem anderen PC oder Server befinden, dann müssen alle Daten über das Netzwerk geladen werden. Die Startzeiten eines Gleisbildes verlangsamen sich in etwa um den Faktor 20.

Zentrale Datenbanken auf dem Server

Dies ist wohl die einfachste Form der Datenhaltung. Und sie ist aus der reinen Datenbanksicht im Grunde auch die sicherste, denn da es nur eine Datenbank gibt sind alle darin enthaltenen Daten in einem gültigen Zustand.


Programme und Daten auf dem Server


Leider ist sie auch die langsamste, denn alle für die Datenbank benötigten Dateien müssen über das Netzwerk geladen werden. Wenn die Ladezeit keine Rolle spielt, ist das aber kein weiteres Problem.

Nicht verschwiegen werden sollte aber noch ein anderes Problem: fällt das Netzwerk oder der Server aus, dann sind die einzelnen Clients nicht mehr arbeitsfähig.

Einziger Vorteil ist wohl, dass Railware nur auf dem Server installiert werden muss und alles andere über das Netzwerk gestartet werden kann.

Auf dem Server muss dazu der Railware Ordner für andere Benutzer freigegeben werden.


Freigabe Railware Ordner auf dem Server


Ein Client kann nun über die Netzwerkumgebung des Windows- Explorers nach dem Namen des Servers suchen und den freigegebenen Ordner darstellen. In ihm befindet sich die gesamte Railware Installation, die nun sofort gestartet werden kann. Beachten Sie jedoch, dass der Benutzerfahrschein beim allerersten Aufruf von jedem Client aus eingegeben werden muss.

Beachten Sie auch, dass nicht verhindert werden kann, wenn Benutzer versehentlich das gleiche Gleisbild starten. Dies kann zu völlig unerwarteten Reaktionen auf der Anlage führen.

Verwenden Sie diese Methode besser nur, wenn sie gelegentlich mit mehreren PCs arbeiten, meistens aber mit einem einzelnen PC. Benutzen Sie stattdessen die im folgenden Abschnitt beschriebene Methode.


Lokale Datenbanken auf jedem PC

Dies ist wohl der Standardmodus, in dem die meisten Railware Netzwerkinstallationen laufen. Auf jedem PC wurde Railware installiert und somit befinden sich auch auf jedem PC eigene von den Anderen Benutzern getrennte Datenbanken.



Daten und Programme auf jedem PC


Railware benötigt für seine Netzwerkfunktionen jedoch den Zugriff auf bestimmte Teile der Datenbank. Aus diesem Grund ist es zweckmäßig, wenn der Railware Ordner des Servers für alle anderen Benutzer freigegeben wird.

Auf den Clients wird nun der Pfad eingestellt, über den dieser Ordner zu erreichen ist.


Pfadangabe des Servers bei jedem Client


Nach einem Neustart greift Railware auf die Tabellen "Netz", "NetzAktiv" und "ZugPos" des Servers zu. Alle anderen Daten und Dateien werden weiterhin von der lokalen Festplatte des jeweiligen PC verwendet.

Nun arbeiten die PCs nahezu autark und jeder Benutzer kann gleichzeitig Gleisbilder, Zug- Lokdatenbanken oder Konfigurationen ändern ohne die Anderen zu stören. Lediglich das Interface (Inter.exe) des Servers muss laufen, wenn ein Client aktiv mit der Anlage arbeitet.

Wenn auf den jeweiligen PCs nur die Gleisbilder erstellt werden, die dort auch verwendet werden sollen, dann ist die Gefahr eines versehentlichen Starts mehr als gering.

Diese Freizügigkeit hat jedoch auch ihre Nachteile. So befinden sich ja alle relevanten Informationen auf den einzelnen Rechnern. Darum sollte eine regelmäßige Datensicherung aller Betriebsrechner durchgeführt werden. Weitere Informationen dazu im Kapitel "Datensicherung" auf Seite 123.

Wenn jeder Benutzer seine eigenen Loks und Züge erstellt hat, dann müssen diese vor der ersten Überfahrt in einen anderen Rechner in das dortige Railware Datenbanksystem eingelesen werden. Dazu ist das benötigte Zug/Lok- Paar zu exportieren und auf den Rechnern zu importieren, durch deren Gleisbilder der Zug fahren soll. In der Praxis wird man einmalig alle Züge und Loks von allen Rechnern exportieren und auf den jeweiligen anderen PCs wieder importieren. So befindet sich jede Lok und jeder Zug auf allen PCs. Sie können sich diese Prozedur auch vereinfachen, in dem Sie alle Datenbankdateien mit den Namen Loks.* und Zug.* auf die Rechner kopieren.

An dieser Stelle soll noch auf ein Problem hingewiesen werden: bis einschließlich aller 4.x Versionen verwendet Railware zur schnelleren internen Verarbeitung selbsttätig vergebene Indexnummern des Datenbanksystems. Dadurch kann es zu Problemen mit Hilfsautomatiken, Bahnhofsnamen und Zuggattungsbezeichnungen kommen. Nach einem Export mit anschießendem Import auf einen anderen Rechner kann es passieren, das falsche Bahnhofs- und Gattungsbezeichnungen angezeigt werden. Um dieses Problem zu umgehen, sollten Sie, bevor Loks, Züge, Hilfsautomatiken und Gleisbilder angelegt werden, alle Bahnhofsnamen und Gattungsbezeichnungen erstellen. Diese können dann als Datenbankdateien direkt auf die einzelnen Rechner verteilt werden. Es handelt sich dabei um alle Dateien, deren Namen Gattung.* und Bahnhof.??? heißen.

Selbstverständlich ist es sinnvoll, auch die Railware Ordner aller Clients (Betriebsrechner) im Netzwerk freizugeben. Dadurch gestalten sich Kopieroperationen erheblich einfacher.

Dezentraler Betriebsmode

Der dezentrale Betriebsmode hat nicht nur Auswirkungen auf die Art und Weise, wie und wo ein Railware Betriebsrechner seine Daten speichert, sondern auch auf die Art der Kommunikation und den Aufbau der Anlage und der Digitalsysteme. Er wird in den Profi Parametern eingestellt.

Beim dezentralen Betriebsmode arbeitet jeder Betriebsrechner völlig autark mit seinem Digitalsystem (oder mehreren) auf einen eigenen, ebenfalls autark lauffähigen Anlagenteil. Jeder Betriebsrechner wird dann sozusagen zu einem Server und eine zentrale Instanz, der Leitrechner, ist nur noch optional für Zugübergaben und eine zentrale Datenbank erforderlich.

Dieser Modus empfiehlt sich besonders für den Betrieb mit den bei heutigen Großanlagen üblichen Dimensionen.


Dezentraler Betriebsmode


Jeder PC (Betriebsrechner) hat nun seine eigene, lokale Datenbank mit allen benötigten Informationen, Konfigurationen, eigenen Gleisbildern, Loks und Zügen. Er kann selbst dann völlig autark arbeiten, wenn in direkter Nachbarschaft andere Betriebsrechner oder gar der Leitrechner ausgefallen sind.

Nochmals soll auf das Problem mit den intern in Railware verwendeten Referenznummern der Datenbank bei Hilfsautomatiken, Bahnhofsnamen und Zuggattungsbezeichnungen hingewiesen werden. Nach einem Export mit anschießendem Import auf einem anderen Rechner kann es passieren, das falsche Bahnhofs- und Gattungsbezeichnungen angezeigt werden. Um dieses Problem zu umgehen, sollten Sie, bevor Loks, Züge, Hilfsautomatiken und Gleisbilder angelegt werden, alle Bahnhofsnamen und Gattungsbezeichnungen erstellen. Diese können dann als Datenbankdateien direkt auf die einzelnen Rechner verteilt werden. Es handelt sich dabei um die Dateien Gattung.* und Bahnhof.*.

Bisher wurden die PCs entweder als Server oder als Client bezeichnet. Im dezentralen Betriebsmode heißen sie stattdessen Betriebsrechner, weil keine Unterscheidung zwischen Server oder Client möglich ist.

Besondere Alternative SQL

Wegen des modularen Konzeptes kann die Railware Commercial Version auf besondere Anfrage auch mit SQL Datenbanken zusammenarbeiten. Bei größeren Installationen hat sich dieses Vorgehen bereits bewährt. Der Vorteil ist die zentrale Datenhaltung und die bessere Datenintegrität durch besondere Serverfunktionen. Insgesamt arbeitet das System zuverlässiger und die Konsistenz der Daten ist besser gewahrt - insbesondere auch bei Stromausfällen. Man hat keine Probleme mit unterschiedlichen oder veralteten Daten auf den einzelnen Betriebsrechnern, weil es ja nur einen einheitlichen Ort für die Datenablage gibt und auch die Ladezeiten über das Netzwerk sind gegenüber den normalen ISAM Datenbanken deutlich niedriger. Das zuvor beschriebene Problem bei Hilfsautomatiken, Bahnhöfen und Zuggattungen im Zusammenhang mit internen Referenznummern (AutoInc) existiert hier nicht.



Zentraler SQL Server


Als Nachteil ist zu nennen, dass ein dedizierter SQL- Server angeschafft werden muss. Da bei einem Ausfall dieses Servers der gesamte Betrieb stehen würde, sollte man vielleicht auch an einen betriebsbereiten Reserveserver denken.

Railware verwendet keine "stored procedures" oder "trigger". Wohl aber müssen "transactions" möglich sein. Deshalb können auch preiswerte, freie SQL- Datenbanksysteme eingesetzt werden. So eignet sich MySQL ab Version 4.0 auf einem Linux Server mit zuverlässiger Hardware hervorragend. Ansonsten ist der "Microsoft SQL-Server 2003" zu empfehlen.

So ab etwa 200 Zügen und mehr als 4 PCs überwiegen die Vorteile dieser Lösung und der erhöhte Aufwand und die zusätzlichen Kosten für SQL- Server und Railware-SQL lohnen sich.

Siehe auch den Tipp: [ SQL Server installieren ]

Datenbanktabellen und Verwendungszweck

Railware Programme in \Programme\dhSoftware\Railware4

Railware.exeDas Hauptprogramm mit Schnellstarter
Fahr.exeFahrpult Programm
Gleis.exeGleisbild Programm
Inter.exeInterfaceprogramm für Kommunikation mit Hardware und Netzwerk
Nothalt.exeNothalt Programm (wird von Inter.exe aufgerufen)
Switch.exeEinstellungen für Märklin Decoder
Schatten.exeSteuerung von Schattenbahnhöfen (alte Version)
RocoKran?.exeProgramm zum Betrieb der Krane
Dreh.exeProgramm zum Betrieb eines Märklin Digitalkranes
Uhr.exeZentraluhr oder Normaluhr (wird von Inter.exe aufgerufen)
Helmo.exeTestprogramm für Transpondersystem
Anlagentext.exeEin internes Testprogramm für Digitalsysteme, Lok- und Schaltdecoder
Video.exeVideofahrpult
RailSound?.exeLok- Sounds
BildImport?.exeImportfunktion für Bilder
DataCheck?.exePrüfung aller Datenbanken (veraltet)
Error.exeAnzeige aller bisherigen Fehler
ExtraMelder?.exeVirtuelle Kontakte und Kontaktpaare (Nicht mehr verwendet)
ProfiParam?.exeBesondere Programmeinstellungen (Altes Programm von Version 4 jetzt unbenutzt)
Test605x.exeTestprogramm für Märklin 6021 und 6051
TestCom?.exeTestprogramm für serielle Schnittstellen, erfordert speziellen Adapter
RailChat?.exeDas Kommunikationsprogramm im Netzwerk
SetSchattenGattung?.exeTemporäre Konfiguration der Umlaufgruppen in Schattenbahnhöfen (unbenutzt)


Sonstige Dateien in \Programme\Railware5

Lizenz.txtNutzerlizenz für Railware
DateiListe?.txtDiese Datei
*.manifestProgrammbeschreibungen für Windows XP
*.wavVerschiedene Geräuschdateien
*.hlpVerschiedene Hilfedateien
*.chmVerschiedene Hilfedateien
*.mldDaten für Internationalisierung
*.rwgVerschiedene Gleisbilder zum Import (aus Version 4: jetzt ohne Verwendung)
*.curexterne Mauszeiger
GleisMenu?.iniSpeicherung der Menüeinstellungen
RailSystem?.iniSpeicherung aller Optionen
RailPass?.iniSpeicherung von Passwörtern
FormSave?.iniSpeicherung der Fensterpositionen
RailSpeech?.iniSpeicherung von Sprachausgabetexten
*.iniWeitere interne Speicherung von Benutzereinstellungen
NViewLib.dllWird zur Darstellung von JPG-Dateien benötigt
PZVB40NT.DLLTreiber für P8255 Karten
RailData?.dllDialoge für Datenbanken
RailDialog?.dllDesign Dialoge der Gleisbilder
RailExport?.dllIm- und Export Dialoge
RailOption?.dllProgramm- System- Interfaceoptionen
RailPrint?.dllDruckfunktionen
RailProcs?.dllInterne Methoden
RailRes?.dllResourcen
RailShare?.dllGemeinsam genutzte Railware Programmteile
RailSndBase?.dllBasis Sprachfunktionen
RailSpeech?.dllSprachfunktionen
RailSplash?.dllStartbildschirm
RailTrain?.dllZug- Lokverwaltung und Ergänzungen
rwAPI.dllAPI zur Zug- Lokermittlung
erawliar.dllInterne Bibliothek
RailMakro?.dllDialoge für Hilfsautomatiken und Zug-Weg-? Funktionen
RailSelect?.dllFragenkatalog


Programmbibliotheken in \Programme\Railware5
(Auszug)

DBISAMDB.BPLDatenbanken
DCLUSR50.BPLVerschiedene Elemente für Dialoge
dxBarD5.bplMenüsystem
DXCOMND5.BPLInterne Hilfsroutinen
DXSBD5.BPLMenüsystem
EQTLD5.bplEditorelemente für Dialoge
Ml42ND50.bplInternationalisierung
Railware.bplDie Railwareinterne Bibliothek
VCL50.BPLDialogsystem
VCLBDE50.BPLDatenbanken
VCLDB50.BPLDatenbanken
VCLDT50.bplSprachein- und ausgabe
VCLSMP50.BPLZusätze
VCLX50.BPLVerschiedene Klassen
VCL50.DEVerschiedene Klassen
VCLBDE50.DESprachdaten
VCLDB50.DESprachdaten
dxEdtrD5.bplEditorelemente für Dialoge
EQGridD5.bplEditorelemente für Tabellen
EQDBTLD5.bplEditorelemente für Tabellen
dxDBEdD5.bplEditorelemente für Dialoge
ECQDBCD5.bplEditorelemente für Datenbankdialoge
EQDBTLD5.bplEditorelemente für Datenbankdialoge
VCL50.DESprachdaten
VCLBDE50.DESprachdaten
VCLDB50.DESprachdaten
vcl30.dplFür ältere Programme
vclx30.dplFür ältere Programme
vcl30.DEFür ältere Programme
vclx30.DEFür ältere Programme


Railware Datenbanken in \Programme\Railware5
(Auszug)

Achs.datVirtuelle Achszähler
Achs.idx~
Adressen.datFür freie Decoderadressen
Adressen.idx~
AutoStart?.datZugstart per Menü
AutoStart?.idx~
Bahnhof.datAlle Bahnhofsnamen
Bahnhof.idx~
BahnhofGleis?.datAlle Gleiszuordnungen der Bahnhöfe
BahnhofGleis?.idx~
BBC.datProtokollinformationen für Bauer-Bahn-Control?
BBC.idx~
Clone.datSpeichert Verbindungen zwischen Gleisbildern
Clone.idx~
Defaults.datParameter für Design
Defaults.idx~
Dreh.datParameter und Bewegungen des Drehkranes
Dreh.idx~
Error.datFehlerprotokolle
Error.idx~
Fahr.datParameter und Lokeinstellungen aller Fahrpulte
Fahr.idx~
FahrPlan?.datInformationen der Fahrpläne
FahrPlan?.idx~
FahrPlanName?.datFahrplannamen
FahrPlanName?.idx~
FahrWeg.datErrechnete Fahrwege für Fahrplanfahrten
FahrWeg.idx~
FahrZiel?.datErrechnete Fahrziele für Fahrplanfahrten
FahrZiel?.idx~
Gattung.datZuggattungen
Gattung.idx~
GattungGleis?.datGattungen in Zuganzeigern
GattungGleis?.idx~
GattungHalt?.datHaltebahnhöfe
GattungHalt?.idx~
Gleis.datGleisbilder und Speicherung des Zustandes
Gleis.idx~
GleisData?.datIntern für Baumanzeige
GleisData?.idx~
Inter.datLogbuch des Interfaces
Inter.idx~
InterSave?.datSpeicherung Lokdaten bei Programmende
InterSave?.idx~
Kennlinien.datCV Werte
Kennlinien.idx~
LokRecs?.datFahrwerte von Lokomotiven bei der Wendezugsteuerung
LokRecs?.idx~
LokBild?.datLokbild Datenbank aus CD
LokBild?.blb~
LokBild?.idx~
LokRecs?.datWerte der Recorderfunktion für Loks
LokRecs?.idx~
Loks.datWerte aller Lokomotiven
Loks.blb~
Loks.idx~
MakroA.datAlle Aktivitäten aus Automatiken
MakroA.idx~
MakroB.datAlle Bedingungen für Automatiken
MakroB.idx~
MakroF.datDateinamen (Sounds) für Automatiken
MakroF.idx~
MakroP.datVerknüpfte Automatiken
MakroP.idx~
MakroZ.datInterne Referenz für Hilfsautomatiken
MakroZ.idx~
MakroZG.datGattungs- und Zugeingrenzung für Hilfsautomatiken
MakroZG.idx~
MakroName?.datNamen der Bedienerautomatiken
MakroName?.idx~
Melder.datVirtuelle und Kombikontakte (ohne Support !)
Melder.idx~
MelderMaster?.dat~
MelderMaster?.idx~
MelderSlave?.dat~
MelderSlave?.idx~
Name.datNamen aller Gleisbilder
Name.idx~
Netz.datInterfaceeinstellungen (nur für Railware Netz)
Netz.idx~
Netzaktiv.datAktive Betriebsrechner im Netz
Netzaktiv.idx~
PrintSort?.datHilfsdatenbank zur Sortierung von Druckausgaben
PrintSort?.idx~
Power.datPower Management
Power.idx~
Queue.datIntern
Queue.idx~
RocoDreh?.datRecorderdatei für Roco Kran
RocoDreh?.idx~
Schatten.datGleiseinstellungen der neuen Schattenbahnhöfe
Schatten.idx~
SchattenGattung?.datUmlaufgruppen für Schattenbahnhöfe
SchattenGattung?.idx~
SchattenDesign?.datTemporäre Baumanzeige der Schattenbahnhöfe
SchattenDesign?.idx~
SchattGls?.datGleiseinstellungen der Schattenbahnhöfe
SchattGls?.idx~
SchattNam?.datEinstellungen der Schattenbahnhöfe
SchattNam?.idx~
SchattWei?.datWeicheneinstellungen der Schattenbahnhöfe
SchattWei?.idx~
Scheibe.datParameter für Schiebebühnen und Drehscheiben
Scheibe.idx~
rw40Select.datFragenkatalog bei Installation
rw40Select.blb~
rw40Select.idx~
SignalName?.datSignalsteuerung
SignalName?.idx~
Signal.dat~
Signal.idx~
Sounds.dat~
Sounds.idx~
Stelltisch.dat~
Stelltisch.idx~
Strasse.datEinstellungen aller Elemente für Fahrstraßen
Strasse.idx~
StrasseName?.datNamen aller Fahrstraßen
StrasseName?.idx~
Tasten.datFocustasten
Tasten.idx~
TimelineA.datZug- Wegfunktionen
TimelineA.idx~
TimelineB.dat~
TimelineB.idx~
TimelineS.dat~
TimelineS.idx~
TimelineZ.dat~
TimelineZ.idx~
TmpSort?.datIntern für Druckfunktionen
TmpSort?.idx~
Zug.datInformationen über alle Züge
Zug.idx~
ZugFahrF?.datMakrorecorder Zugfahrten
ZugFahrF?.idx~
ZugFahrN?.dat~
ZugFahrN?.idx~
ZugFahrS?.dat~
ZugFahrS?.idx~
ZugPos?.datMomentane Positionen aller Züge
ZugPos?.idx~



Ein "Netzwerk" aus Gleisen


Zu dieser Seite haben beigesteuert: Dieter Hinz9579 Punkte  , Christian Rittweger13597 Punkte  und Andrea Hinz15080 Punkte  .
Page last modified on Donnerstag 05 Juli, 2007 15:11CEST by Dieter Hinz9579 Punkte .
Der Inhalt dieser Seite unterliegt folgenden Lizenzbestimmungen: Copyright.

Suche

in: