Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Interbase Performance (https://www.delphipraxis.net/81201-interbase-performance.html)

sanjacinto 22. Nov 2006 13:39

Datenbank: Interbase • Zugriff über: ADO

Interbase Performance
 
Hallo,

ich habe eine Frage an die Interbase Experten.

Ich habe eine Programm das Daten via OPC (DCOM) empfängt und derzeitig in eine eigene Binäre Datei schreibt. Die Anzahl der Daten die aufgenommen werden schwankt zwischen ein paar hundert und bis zu 8000 Daten (Double). Die Daten werden teilweise im Sekundentakt weggeschrieben. Das ganze funktioniert auch hervorragend. Nun möchte ich das System um weitere Funktionalitäten erweitern, diese neuen Funktionen sind aber besser in einer Datenbank aufgehoben. Deshalb möchte ich auch die Daten in eine Datenbank schreiben.
Die Daten werden oft mehrere Monate Online gehalten und danach überschrieben (Ringdatei). Dies soll in der Datenbank ebenfalls möglich sein. Mir stellt sich nun die Frage wie Interbase mit diesen Datenmengen und der relativ hohen Belastung umgeht.

Z. B.

5000 Werte / Sekunde >> sollen 6 Monate Online sein.
D. h. für eine Datenbank 5000 Spalten (Ok, gesplittet auf mehrere Tabellen) + TimeStamp * 15552000s (Zeilen)

Besitzt jemand Erfahrung mit Interbase in diesen Dimensionen?

Vielen Dank Vorab, sanjacinto

hoika 22. Nov 2006 14:09

Re: Interbase Performance
 
Hallo,

Interbase würde ich nicht mehr nehmen,
nimm Firebird (2.0).
Die Datenmenge sollte kein Problem sein,
allerdings die 5000 pro Sekunde.
Das solltest du asynchron schreiben,
also entweder in deiner binäen Datei lassen und "ab-und zu"
diese Datei in die eigentliche DB schreiben,
oder du pufferst die Daten (in einer TList) zum Bsp
und schreibst die über einen eigenen Thread periodisch in die DB.
Für Thread-Synchronisation gibt es wohl schon eine TThreadedList (?).


Heiko

sanjacinto 22. Nov 2006 14:35

Re: Interbase Performance
 
Danke, Heiko,

weshalb würdest du kein Interbase benutzen?

Kann Firebird auch Transaktionen und Trigger? Die Dinge werde ich für neue Funktionen benötigen.

Das mit dem puffern muss ich mir noch überlegen, das ganze ist sehr Zeitkritisch, da sitzen Leute vor dem Monitor und müssen möglichst schnell auf sich verändernde Ereignisse (Daten) reagieren, idealrweise in "Echtzeit". Zum Teil fungiert das System auch als Leitsystem.

Gruß, Michael

mkinzler 22. Nov 2006 15:21

Re: Interbase Performance
 
Welche IB Version?
FireBird ist eine Weiterentwicklung der IB6 OS.

merlin17 22. Nov 2006 15:32

Re: Interbase Performance
 
sanjacinto,

InterBase kann mit diesen Mengen problemlos umgehen (wie auch FireBird, of course...).
Ich würde mir aber auf jeden Fall die akt. Version InterBase 2007 (InterBase 8 ) anschauen, da hier insbesondere
im Hintergrund optimierungen gegenüber der Hardware durchgeführt wurden, z.B. Multithreading, Mehrprozessorsysteme etc.etc.);
hier hinkt m.E. FireBird 2.0 etwas nach, FB2 dafür aber im SQL- und Optimiererbereich ohne Frage mehr getan die letzten Jahre....

Es soll diese oder nächste Woche die Trial der IB2007 verfügbar sein!

Hier gibt es im Dezember noch eine Roadshow von Borland und better-office:
http://www.interbase.de/


:-) thomas

sanjacinto 22. Nov 2006 23:01

Re: Interbase Performance
 
merlin17,

Danke für die Infos, ich war gestern auf der DevTrack in Köln, die haben dort die neue Version kurz vorgestellt.

Hört sich auch alles gut an, werde wohl um einen unfangreichen Test verschiedener DB's wohl nicht rumkommen.


Danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:32 Uhr.

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