Page ThesisDB4ECGRequirements

Ziel ist die persistente Speicherung der von den Sensoren aufgezeichneten und an den ECG Server gesendeten Mikroprozess-Ereignisse (MPE) in einer Datenbank.

Auswahl eines geeigneten Datenbanksystems

  • 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.