Ziel ist die persistente Speicherung der von den Sensoren aufgezeichneten und an den ECG Server gesendeten Mikroprozess-Ereignisse (MPE) in einer Datenbank.
Das zu wählende Datenmodell muss auf Basis der zu speichender Daten und typischer Anfragen (und die Einfachheit ihrer Formulierung) ausgewählt werden. Denkbare Beispielanfragen sind immer zeitlicher Natur:
Alle Ereignisse des Programmierers Hugo am 24.12.2001.
Alle Ereignisse zwischen Ereignis Run1 und Ereignis Run2.
Alle Ereignisse zwischen zwei weniger als 30 Sekunden auseinander liegenden Run-Ereignissen, gruppiert nach zeitlichem Zusammenhang.
Alle Codeänderungsereignisse eines Programmierers, die ohne zwischenzeitliches Run geschahen.
Die Daten sind Mikroereignisse mit Standardattributen und jede nach Ereignistyp verschiedenen zusätzlichen Detaildaten. Dies definiert das Datenschema und die Schlüssel und Indizes, falls sinnvoll. Die Standardattribute sind:
Zeitpunkt (in Millisekundengenauigkeit) mit Tag und Uhrzeit
Programmierername. Bildet zusammen mit der Zeit den Schlüssel.
Ereignistyp
Ereignisquelle
Projektname. Kann leer sein.
Das Datenbankschema muss aufgrund nachträglich hinzukommender Ereignistypen (mit eigenen Detaildaten) erweiterbar sein. Die Standardattribute bleiben, werden aber evtl. ebenfalls erweitert.
Es wird keine Notwendigkeit bestehen, Daten nachträglich zu ändern, außer dass sie evtl. gelöscht werden.
Auf Basis der Datenmodellentscheidung ist die Entscheidung für die konkrete technische Basis zu fällen, d.h. für das DBMS. Es ist zu bedenken, dass die Datenmenge in die GByte gehen kann.
ECG Module
DBTarget ist das Zielmodul im ECG. Es speichert die eingehenden Daten in die Datenbank. Hier werden die ECG-internen EventPackets auf das Datenbankschema und Datenbankupdates abgebildet. Evtl. sind unterstützende Bibliotheken einsetzbar.
DBSource ist das Quellmodul im ECG. Es liefert Ereignisdaten und packt sie in EventPackets aufgrund von Datenbankanfragen.
Idealerweise sind Datenbankanfragen mittels einer GUI leicht eingebbar und auch vorherige oder vorgefertigte Anfragen abrufbar. Die GUI würde als DBSource-GUI realisiert und ist kein eigenes ECG-Modul.
Umgebung aufbauen und evaluieren
Kriterien sind (neben der Korrektheit) die Portabilität der Lösung, die Geschwindigkeit und die Aklierbarkeit.
Die aufgebaute Umgebung sollte mehr als Prototypcharakter haben, d.h. man sollte sie produktiv einsetzbar machen.