Der passende Ansatz für das Speichern von Messdaten

Überblick

Unternehmen investieren Tausende, wenn nicht gar Millionen von US-Dollar in Produkte für die Datenerfassung, da Daten der Schlüssel zu Produktinnovationen sind. Für jeden Trend, der aufgrund der Daten ermittelt wird, kann ein Unternehmen möglicherweise schneller eine neue Funktion oder ein neues Produkt auf den Markt bringen, um neue Marktanteile in einem stark umkämpften, globalen Umfeld zu gewinnen. Schnell von Rohdaten zu aussagekräftigen Ergebnissen zu kommen, ist jedoch eine Herausforderung. Wie aufgrund einer von National Instruments durchgeführten Umfrage festgestellt werden konnte, sind Daten sogar der schwierigste Aspekt bei der Arbeit mit aktuellen Softwarewerkzeugen. Laut Aussagen von Anwendern ist der Umgang mit Daten schwerer als das Pflegen älteren Programmcodes oder das Programmieren eines ganz neuen Datenerfassungssystems.

Gerechterweise muss man sagen, dass der Umgang mit Daten ein breit gefächertes Thema ist, das viele unterschiedliche Gesichtspunkte einschließt. Herausforderungen treten in allen Phasen der Entwicklung einer Messanwendung auf und sind sehr vielschichtig. Wie groß sollte der Umfang der erfassten Daten während eines Testlaufs sein? Welches Dateiformat wird am besten eingesetzt? Was soll mit den Daten nach ihrer Erfassung geschehen? Bei vielen neuen Messsystemen jedoch ist die Auswahl des passenden Ansatzes für das Speichern von Daten und das Erfüllen dieser Anforderungen eher nachrangig. Häufig wählen Ingenieure und Wissenschaftler letztendlich die Speicherstrategie, die die Anwendungsanforderungen zum gegenwärtigen Zeitpunkt am einfachsten erfüllt, ohne dabei an zukünftige Anforderungen zu denken. Doch die Wahl des Speicherformats kann sich entscheidend auf die Gesamteffizienz eines Datenerfassungssystems sowie auf die Effizienz auswirken, die sich aus der Auswertung der Rohdaten im Lauf der Zeit ergibt.

Besonders problematisch wird das Verwalten und Nachbereiten von Daten, wenn man bedenkt, dass die Erfassung mit einer Geschwindigkeit erfolgt, die sich an das Moore'sche Gesetz anlehnt. Dank zunehmender Mikroprozessorgeschwindigkeit und wachsender Speicherkapazität sinken die Kosten für die Datenspeicherung exponentiell. Weltweit werden zudem genug Daten erzeugt, um den gesamten Datenbestand etwa alle zwei Jahre zu verdoppeln.

Die Auswahl des passenden Ansatzes, der so flexibel ist, dass er sich an die Erfordernisse in einer sich ständig weiterentwickelnden digitalen Welt passen lässt, ist keine leichte Aufgabe. Dieser Beitrag liefert einige hilfreiche Tipps für den Einstieg und für die Verwaltung von Daten für Anwendungen.

Inhalt

Auswahl des passenden Dateiformats

Als ersten Schritt hin zu einer einheitlichen Lösung für das Datenmanagement muss sichergestellt werden, dass die Daten so effizient, organisiert und skalierbar wie möglich gespeichert werden. Allzu oft werden Daten ohne beschreibende Zusatzinformationen in diversen Dateiformaten verteilt auf Festplatten und Netzlaufwerken gespeichert. So entsteht schnell ein Datenfriedhof, aus dem sich nur mühsam die Datensätze extrahieren lassen, die Ingenieure für ihre tägliche Arbeit benötigen.

Je nach Art der Anwendung können bestimmte Merkmale höher priorisiert werden als andere. Die gängigen Speicherformate wie ASCII-, Binär- und XML-Dateien haben ihre Stärken und Schwächen in unterschiedlichen Bereichen.

 

ASCII-Dateien

Viele Ingenieure speichern Daten gerne als ASCII-Dateien (American Standard Code for Information Interchange), da das Dateiformat für den Anwender einfach austausch- und lesbar ist. Jedoch bergen ASCII-Dateien einige Nachteile – u. a. nehmen sie viel Speicherplatz ein –, was ein Problem darstellen kann, wenn der Speicherplatz begrenzt ist (z. B. auf einem verteilten System). Das Schreiben und Lesen von Daten in bzw. aus einer ASCII-Datei kann erheblich langsamer sein als bei anderen Formaten und in vielen Fällen hält die Schreibgeschwindigkeit nicht mit der Geschwindigkeit des Datenerfassungssystems Schritt, was zu Datenverlusten führen kann.

 

 


Abb. 1: ASCII-Dateien lassen sich einfach austauschen, doch sie können für viele Anwendungen zu langsam und zu groß sein.

 

Binärdateien

Ein weiteres gängiges Speicherformat sind Binärdateien. Deren zugrundeliegender Ansatz ist ein völlig anderer als bei ASCII-Dateien. Im Gegensatz zu ASCII-Dateien benötigen Binärdateien wesentlich weniger Speicherplatz und können mit sehr hoher Geschwindigkeit auf die Festplatte übertragen werden, weshalb sie sich für Anwendungen in Echtzeit und mit hoher Kanalanzahl eignen. Ein Nachteil von Binärdateien ist ihr nicht lesbares Format, das die Austauschbarkeit zwischen den Anwendern verkompliziert. Binärdateien können zudem nicht unmittelbar mit einer Standardsoftware geöffnet werden, sondern müssen mithilfe einer Anwendung oder eines Programms interpretiert werden. In unterschiedlichen Anwendungen können Binärdaten auf unterschiedliche Arten interpretiert werden, was zu Konflikten führen kann. Eine Anwendung beispielsweise liest die Binärwerte als textbasierte Zeichen, eine andere interpretiert die Werte als Farben. Um die Dateien mit Kollegen zu teilen, müssen sie in einer Anwendung enthalten sein, die die spezielle Binärdatei korrekt interpretiert. Ändert sich die Art, wie die Daten in der Datenerfassungsanwendung geschrieben werden, müssen sich diese Änderungen in der Anwendung widerspiegeln, die die Daten liest. Dies kann möglicherweise langfristig zu Kompatibilitätsproblemen und schließlich Datenverlusten führen.

 

Abb. 2: Binärdateien bieten viele Vorteile für Anwendungen mit hoher Geschwindigkeit und begrenztem Speicherplatz, doch sie können Schwierigkeiten bei der Austauschbarkeit mit sich bringen.

 

 

XML-Dateien

In den vergangenen Jahren wurde das XML-Format immer beliebter, da damit selbst komplexe Datenstrukturen gespeichert werden können. Mit XML-Dateien lassen sich Daten und Formatierungen außerdem zusammen mit den Rohwerten der Messungen speichern. Dank der Flexibilität des XML-Formats können zusätzliche Informationen mit den Daten strukturiert gespeichert werden. Zudem ist XML austauschbar und für den Anwender sehr gut lesbar. Ähnlich wie beim ASCII-Format können XML-Dateien in vielen gängigen Texteditoren und XML-fähigen Browsern, z. B. im Microsoft Internet Explorer, geöffnet werden. In unbearbeiteter Form enthält das XML-Format in einer Datei Tags, die zur Beschreibung der Dateistrukturen dienen. Diese Tags erscheinen auch, wenn XML-Dateien in diesen Anwendungen geöffnet werden, und setzen die Lesbarkeit herab, da nicht jeder Anwender mit den Tags vertraut ist. Schwächen des XML-Dateiformats sind allerdings sein immens großer Speicherbedarf im Vergleich zu anderen Dateien und die Tatsache, dass mit ihm Daten nicht direkt an die Festplatte übertragen werden können. Außerdem kann es schwierig sein, diese komplexen Strukturen zu speichern, da mit dem Entwurf des Layouts oder Schemas der XML-Strukturen ein erheblicher Planungsaufwand verbunden ist.


 

Abb. 3: XML-Dateien können bei der Definition komplexer Strukturen hilfreich sein, doch sie sind wesentlich größer und langsamer als andere Formate.

 

Datenbankdateien

Datenbankdateien bestehen aus einer Vielzahl von in Spalten und Reihen aufgebauten Tabellen. Informationen können, müssen aber nicht zwingend zwischen den Tabellen verlinkt sein. Durch Suchfunktionen bieten Datenbankdateien einen Vorteil. Sie können allerdings für zeitbasierte Messanwendungen ungeeignet sein, da eine große Datenmenge erfasst und eventuell eine formelle Datenbanklösung erworben bzw. erst erstellt werden muss. Durch zeitbasierte Messungen werden Datenbanken aufgebläht, sodass sich die Ausgabe von Abfrageergebnissen verlangsamt, was wiederum dem eigentlichen Zweck von Datenbank widerspricht. 

 

TDMS-Dateien

Das Technical Data Management Streaming (TDMS) ist ein binäres Datenformat, das somit nur geringen Speicherplatz einnimmt und Daten bei hohen Geschwindigkeiten auf die Festplatte übertragen kann. Zugleich verfügen TDMS-Dateien über einen Dateikopf (Header), in dem sich Beschreibungen oder Zusatzinformationen zusammen mit den Daten speichern lassen. Einige Zusatzinformationen wie Dateiname, Datum und Ablageort werden automatisch gespeichert, doch es können auch eigene, benutzerdefinierte Informationen eingefügt werden. Das TDMS-Dateiformat bietet zudem den Vorteil einer integrierten, dreigliedrigen Hierarchie: Datei, Gruppe und Kanal. Die TDMS-Datei kann eine unbegrenzte Anzahl von Gruppen und jede Gruppe wiederum eine unbegrenzte Anzahl von Kanälen enthalten. Somit lassen sich auf jeder dieser Ebenen Attribute hinzufügen, mit denen die Testdaten zum besseren Verständnis beschrieben und dokumentiert werden. Diese Hierarchie führt dazu, dass die Testdaten durchweg organisiert sind.

Tabelle 1: Das TDMS-Dateiformat verbindet die Vorteile etlicher Optionen für die Datenspeicherung in einem Dateiformat.

 

Daten effizient in einer Datei speichern

Je häufiger Daten in einer Datei festgehalten werden, desto größer ist die Aussicht, dass der Prozessor nicht mithalten kann. Dem kann man dadurch begegnen, dass das Programm so ausgelegt wird, den verfügbaren Onboard-Speicherplatz durch Erstellen eines temporären Puffers zu nutzen. Dann kann der Anwender den Puffer regelmäßig leeren, indem alle Daten am Stück an das Speichermedium übertragen werden.

Mit diesem Ansatz lässt sich die Prozessorzeit verringern, weil Daten regelmäßig in Blöcken gespeichert werden. Beispielsweise werden die Prozessorressourcen nicht sehr effizient genutzt, wenn z. B. die Erfassung bei 60 kB/s erfolgt und versucht wird, jeden Punkt einzeln auf einem Datenträger zu speichern. Wird allerdings ein 10-kB-FIFO-Puffer im Onboard-Speicher eingerichtet, dann muss der Puffer nur alle 16 ms geleert werden, um mit der Erfassung mitzuhalten. Hierbei bleibt dem Prozessor zwischen den Schreibvorgängen eine gewisse Zeit, in der er andere Aufgaben abarbeiten kann.

 

Festplattenspeicher verwalten

Die Auswahl des passenden Dateiformats ist auch für das effiziente Daten-Streaming entscheidend. Aufgrund des großen Speicherbedarfs ist ASCII weniger für Anwendung geeignet, die Inline-Datenspeicherung erfordern. Bei ASCII benötigt jedes Zeichen acht Bits (ein Byte) Systemspeicher. Die Zahl 123456789 benötigt somit neun Bytes an Speicher. Bei binären und TDMS-Dateien wird die gesamte Zahl als Reihe von Einsen und Nullen dargestellt. Die obige Zahl sähe dann so aus: 111010110111100110100010101. Dafür werden im Speicher nur 27 Bits (etwa vier Bytes) benötigt.

Ein Unterschied von fünf Bytes mag unwesentlich erscheinen, wenn man allerdings hochrechnet und eine Datei betrachtet, die 100.000 neunstellige Zahlen umfasst, dann benötigt eine ASCII-Datei 1,04 MB, eine binäre/TDMS-Datei aber nur 390 kB. Diese Platzeinsparung ist erheblich, wenn man bedenkt, dass ein MB für eine Datendatei relativ wenig ist.

 

Ergebnisse analysieren und in Berichten darstellen

Werkzeuge zur Datenanalyse und Berichterstellung werden zunehmend danach beurteilt, welche Menge an Daten sie mit welcher Geschwindigkeit verarbeiten können. Anwender erfassen mehr Daten von mehr Stellen schneller als je zuvor. Wenn die Werkzeuge zur Datenanalyse und Berichterstellung, die sie tagtäglich nutzen, mit diesen neuen Trends nicht mithalten oder die Werte in der gespeicherten Datendatei nicht lesen können, dann haben Anwender zwar mehr Daten denn je, aber keine Möglichkeit, sie effizient zu analysieren. Werkzeugen, die für Finanzanalysen und nicht speziell für die Datenerfassung erstellt wurden, sind hier viele Grenzen gesetzt. Sollen große Datensätze verändert oder in Bezug gesetzt werden, sind Analyse- und Berichterstellungswerkzeuge hilfreich, die für große Datensätze konzipiert wurden. Ohne entsprechende Datenanalyse erweist sich die Durchführung von Analysen und das Erstellen von Berichten als zeitaufwendig oder aufgrund der riesigen Datenmenge sogar als unmöglich.

 

Geeignete Strategien für die Datenspeicherung nutzen und erfolgreich Anwendungen umsetzen

Zum Prozess der Messdatenspeicherung gehören viele komplexe Überlegungen, die für die erfolgreiche Umsetzung einer Messanwendung entscheidend sind. Werden ungeeignete Strategien für das Speichern von Daten gewählt, kann es zu einem Speicherüberlauf, einer Prozessorüberlastung und nicht nutzbaren bzw. unbrauchbaren Datendateien kommen. Dies wird vermieden, wenn der Speicherbedarf einer Anwendung zuvor überdacht wird und fundierte Entscheidungen über die Speichermethode, das Dateiformat, die Datenorganisation in Dateien und den für die Anwendungsausführung am besten geeigneten Systemtyp getroffen werden.

Weitere Vorschläge für die Datenorganisation einer Messanwendung bietet der Leitfaden Beste Vorgehensweisen beim Speichern von Messdaten. Dort werden u. a. folgende Bereiche aufgegriffen:

  • Daten und Metadaten organisieren
  • Daten inline statt offline speichern
  • Benutzerdefinierte oder ältere Analyseroutinen in das ausgewählte Werkzeug einbinden
  • Vorlagen zur Vereinfachung der Berichterstellung nutzen