Thema: Delphi TCP-Buffer, welche DB?

Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#1

TCP-Buffer, welche DB?

  Alt 15. Jan 2009, 22:47
Datenbank: Das ist die Frage • Version: ? • Zugriff über: Mir egal
Hallo,

Wir haben ein Messgerät, das per TCP Datentelegramme verschickt. Wenn nun kein Abnehmer vorhanden ist, sollen diese Telegramme (XML, 100-5000 Byte) zwischengespeichert werden. Sobald ein Abnehmer vorhanden ist, sollen zuerst die zwischengespeicherten, und dann die Life-Daten verschickt werden.
Das Gerät hat einen IPC mit HD, nicht sonderlich flott, reicht aber. Es werden maximal 20 Telegramme pro Sekunde verschickt.

In einer Quick and Dirty Version habe ich einen BufferWriter, der die Daten vom Gerät abholt und die Telegramme in eine kleine Firebird-DB schreibt. Dort wird über einen INSERT-Trigger ein FB-EVENT auslöst.

Ein Buffer-Reader verbindet sich mit dem TCP-Ziel und -wenn eins da ist- reagiert er auch auf die Firebird-Events. Wenn so ein Event eintritt, liest er die Tabelle aus, löscht die Einträge und verschickt sie.

Das ist natürlich eine ziemlich unperformante Vorgehensweise, aber es funktioniert und ist stabil, nur vielleicht ein kleiner Overkill. Firebird ist zwar kompakt, aber irgendwie ein ausgewachsenes RDBMS und damit ein wenig zu mächtig für diese Lösung.

Auf die FB-Events kann ich verzichten, bzw. sie durch TCP o.ä. nachbilden.

Frage: Gibt es eine kleinere 2-Benutzer-DB mit kleinem Footprint und einfacher (Silent)Installation?
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat