Erst ein mal vielen Dank, für die vielen Antworten.
Das Thema streift den Bereich der Systemgrenzen und scheint ziemlich interessant zu sein.
Mein erstes Posting erfolgte wenige Minuten nach dem ich mit dem Thema konfrontiert wurde. Es gab Vorgaben und wenig eigene Überlegungen.
Nun sieht (auch Dank Euer Anregungen1!) so aus:
- Alle Werte werden in einer Tabelle gespeichert. Diese besitzt ein weiteres indexiertes Feld DPName.
- Die Tabelle wird je 24 Std. aufgeteilt, aber nicht wie vorgeschlagen durch sichern der letzten Daten in einer Backup-Tabelle (zu hoher Ressourcenverbrauch), sondern durch das einfache erzeugen einer neuen Tabelle (z.B.: A20060112 A20060113 usw...) - Jede dieser Tabellen wird somit maximal 20 GB gross.
- Die Daten sollen dauerhaft gesichert werden und da führt einfach kein Weg daran vorbei (Kunde ist König), aber man kann sicherlich die Datenmenge verringern. Der Hauptansatz ist die eine gewisse Abweichungsspanne zu nutzen. Bei den zu archivierenden Werten handelt es sich um recht stabile (ruhige
) Werte. Aus dem Praxisbereicht über das bisherige Tool stellt sich heraus, dass bei einer Mindest-Abweichung von 1%, die Datenmenge sich um den Faktor 100 bis 1000 (je nach Messwert) verringern würde - damit entstehen nutzbare Tabellen von 20-200 MB.
- Für die Zeitspanne zwischen den Einträgen wird bei der Auswertung entweder der letzte Wert genommen oder es wird interpoliert.
- Dass es mit
MySQL nicht geht ist klar, aber ich nutze das Teil so liebend gern, dass ich erstmal mich daran versucht habe. Soweit ich weiß erlaubt MySQL4 keine Speicherung von Tabellen über 2GB und auch sonst hatte ich noch kein
MySQL-System mit dieser Datenmenge gesehen.
- Zur Verfügung wird wohl ein normaler PC mit 4GB
RAM und irgend einem Pentium DualCore stehen.
So langsam glaube ich an die Machbarkeit des Ganzen
Das Tool ist ja bereits im Einsatz nur basiert es auf Textfiles (!!!!!). Es wäre ja gelacht wenns nicht mit einer Datenbank klappen würde...
Übrigens ich kennzeichne das Thema als beantwortet, denn Shmia (danke!!!) hat im letzten Post die Lösung geliefert:
ADOConnection1.Execute(alleSQLAnweisungen);
War eigentlich alles was ich gebraucht habe. Trotzdem schöne Diskussion.
Übrigens ohne Details zu nennen. Es handelt sich um ein grosses Gebäude, welches etwa 10000 Messwerte aus der Haustechnik liefert.
Es würde zwar reichen, wenn Meldungen (Alarme) bei Schwellwertüberschreitung dauerhaft gesichert würden, aber...
Reinhauen und schönes WE!