Datenbank (Tarifwerk): Unterschied zwischen den Versionen

Aus Wiki - Heidler Strichcode GmbH
Zur Navigation springen Zur Suche springen
K
Zeile 66: Zeile 66:
 
*Skaliert sehr gut auf High-End Systemen  
 
*Skaliert sehr gut auf High-End Systemen  
  
<span style="color:#FFFFFF;">'''<span style="background-color:#FF0000;">Da es sich um eine embedded DB handelt, muss eine Applikation die Datenbankverbindungen verwalten. Dies kann entweder der Service oder der Konfigurator sein. Die erste gestartete Applikation übernimmt automatisch die Verwaltung. Beim Beenden dieser Applikation werden alle anderen offenen Datenbankverbindungen getrennt.</span>'''</span>
+
&nbsp;
  
<span style="color:#FFFFFF;">'''<span style="background-color:#FF0000;">Man sollte deshalb niemals den Service starten während der Konfigurator ausgeführt wird. Ansonsten würde die Datenbankverbindung für den Service getrennt werden, sobald man den Konfigurator beendet.</span>'''</span>
+
Da es sich bei H2 um eine embedded DB handelt, muss eine Applikation die Datenbankverbindungen verwalten. Dies kann entweder der Service oder der Konfigurator sein. Die erste gestartete Applikation übernimmt automatisch die Verwaltung. Beim Beenden dieser Applikation werden alle anderen offenen Datenbankverbindungen von anderen Applikationen&nbsp;getrennt.
 +
 
 +
Die Verbindung wird bei der nächsten Anfrage wieder hergestellt. Wenn in diesem Moment keine Preisanfrage im Gange ist,&nbsp;sollte dies also nicht zu Problemen führen. Nur wenn gerade ein Preis ermittelt wird und durch das Beenden der verwaltenden Appliaktion die Datenbankverbindung abbricht kann es zu Fehlern bei der Preisermittlung kommen.
 +
 
 +
Es spielt also die Reihenfolge eine Rolle, in welcher der Service und Konfigurator gestartet und beendet werden. Beispiel: (Es wird angenommen, dass sowohl Service und Konfigurator beendet sind)
 +
 
 +
*Service starten -> Konfigurator starten -> Konfigurator beenden '''<span style="background-color:#00FF00;">OK</span>'''
 +
*Konfigurator starten -> Konfigurator beenden -> Service starten '''<span style="background-color:#00FF00;">OK</span>'''
 +
*Service starten -> Konfigurator starten -> Service beenden '''<span style="background-color:#FFD700;">FEHLER</span> '''- Der Konfigurator verliert die Datenbankverbindung. Eventuelle ungespeicherte Konfigurationen können verloren gehen.
 +
*Konfigurator starten -> Service starten -> Konfigurator beenden '''<span style="background-color:#FF0000;"><span style="color:#FFFFFF;">FEHLER</span></span> '''- Der Service verliert die Datenbankverbindung. '''Es kann zu Fehlern in der Preisanfrage kommen.'''
 +
 
 +
In der Praxis sollte aber der Service meist schon laufen und die Verwaltung der Datenbankverbindung übernehmen.

Version vom 23. Februar 2017, 17:37 Uhr

Das Tarifwerk unterstützt offiziell die Datenbanksysteme Firebird und H2 (embedded).

TW DB.png

Im Menü unter Einstellungen -> Datenbank können Sie alle Einstellungen zur Datenbankverbindung vornehmen.

Einstellungen

Datenbanktyp

Auswahl ob eine Firebird- oder H2-DB verwendet werden soll.

Host

Firebird

IP und Port des Firebird-Datenbankdienstes. IP und Port durch einen Slash ("/") trennen. Standard auf einem lokalen System: 127.0.0.1/3050

H2

Port für den automatischen Server. Standard: 9092

Datenbank

Pfad zur Datenbankdatei. Über den Button "..." können Sie die Datei über den Explorer auswählen.

Benutzer

Datenbank-Benutzer

Passwort

Datenbank-Passwort für Benutzer

Gepufferte Verbindungen

Das Tarifwerk benutzt einen internen Puffer um mehrere Datenbankverbindungen gleichzeitig offen zu halten. Mit dieser Einstellung können Sie wählen, wie viele Datenbankverbindungen mindestens gleichzeitig offen bleiben sollen.

Diese Einstellung dient hauptsächlich zum optimalen Ressourcenverbrauch auf Ihrem System, da jeder neue Verbindungsaufbau zur Datenbank Zeit kostet. Gleichzeit bedeutet aber eine hohe Anzahl an gepufferten Verbindungen eine größere Last auf Ihre CPU und Arbeitsspeicher.

Für Systeme mit wenig Last reichen ca. 3 bis 5 Verbindungen aus. Auf Systemen mit hoher Last und mehreren Tarifanfragen gleichzeitig können teilweise bis zu 25 gepufferte Verbindungen noch einen Geschwindigkeitsvorteil bringen.

Datenbankwechsel

Standardmäßig wird die H2 Datenbank verwendet. Grundsätzlich steht es dem Benutzer frei, das Datenbanksystem zu wechseln. Allerdings werden dabei keine Stamm-, Tarif- oder Sendungsdaten übernommen.

Deswegen sollte man sich am besten direkt nach der Installation für ein Datenbanksystem entscheiden. Beide Systeme haben gewisse Vor- und Nachteile:

Firebird

  • Server DB. Der Datenbankserver muss separat installiert werden (Es wird nur Version 2.5 unterstützt!).
  • Alle Applikationen haben gleichwertigen Zugriff auf die Datenbank
  • Bewährtes und stabiles Datenbanksystem
  • Zusatztools für Management und Live-Backup vorhanden (Flame Robin, nbackup,...)
  • Allgemein unterdurchschnittliche Performance
  • Sehr geringe Arbeitsspeicherauslastung
  • Schlechte Skalierung auf High-End Systemen

H2

  • Embedded DB. Das Datenbanksystem ist im Tarifwerk integriert und muss nicht installiert werden.
  • Erste gestartete Appliaktion übernimmt die Verwaltung aller Datenbankverbindungen (siehe unten).
  • Stabiles und flexibles Datenbanksystem
  • Wenige Zusatztools. Ein web-basiertes Datenbank-Administrationstool kann über das Tarifwerk gestartet werden.
  • Extrem hohe performance (Bei Schreibvorgängen bis zu 10x schneller als Firebird)
  • Durchschnittliche bis geringe Arbeitsspeicherauslastung
  • Skaliert sehr gut auf High-End Systemen

 

Da es sich bei H2 um eine embedded DB handelt, muss eine Applikation die Datenbankverbindungen verwalten. Dies kann entweder der Service oder der Konfigurator sein. Die erste gestartete Applikation übernimmt automatisch die Verwaltung. Beim Beenden dieser Applikation werden alle anderen offenen Datenbankverbindungen von anderen Applikationen getrennt.

Die Verbindung wird bei der nächsten Anfrage wieder hergestellt. Wenn in diesem Moment keine Preisanfrage im Gange ist, sollte dies also nicht zu Problemen führen. Nur wenn gerade ein Preis ermittelt wird und durch das Beenden der verwaltenden Appliaktion die Datenbankverbindung abbricht kann es zu Fehlern bei der Preisermittlung kommen.

Es spielt also die Reihenfolge eine Rolle, in welcher der Service und Konfigurator gestartet und beendet werden. Beispiel: (Es wird angenommen, dass sowohl Service und Konfigurator beendet sind)

  • Service starten -> Konfigurator starten -> Konfigurator beenden OK
  • Konfigurator starten -> Konfigurator beenden -> Service starten OK
  • Service starten -> Konfigurator starten -> Service beenden FEHLER - Der Konfigurator verliert die Datenbankverbindung. Eventuelle ungespeicherte Konfigurationen können verloren gehen.
  • Konfigurator starten -> Service starten -> Konfigurator beenden FEHLER - Der Service verliert die Datenbankverbindung. Es kann zu Fehlern in der Preisanfrage kommen.

In der Praxis sollte aber der Service meist schon laufen und die Verwaltung der Datenbankverbindung übernehmen.