Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:lehre:softwareentwicklung:ws2017:29:index

29. Datenformate: beständig und plattformunabhängig

Themen
Kriterien für Datenformate in der Wissenschaft
Beispiele plattform- und sprachunabhängiger Formate
Zum Umgang mit Daten und Metadaten
Bedeutung im Gesamtkontext einer Auswertungssoftware
Folien
PDF


Zentrale Aspekte

  • Formate betreffen nicht nur Roh- und verarbeitete Daten,
    sondern auch Metadaten, Dokumentation, Abbildungen.
  • Datenformate sollten über Jahrzehnte lesbar,
    plattformunabhängig, quelloffen und dokumentiert sein.
  • Daten über Jahrzehnte lesbar zu archivieren,
    ist nicht nur eine Frage der Formate, sondern auch der Organisation.
  • Rohdaten sollten immer archiviert und vor
    (ungewollter) Veränderung geschützt werden.
  • Das konkrete Datenformat oder die Art der Datenlagerung
    ist für ein System zur Datenverarbeitung irrelevant.

Weiterführende Literatur

Eine kommentierte und handverlesene Liste mit weiterführender Literatur zum Thema. Die Auswahl ist zwangsläufig subjektiv.

Viele Autoren, die sich mit Datenformaten beschäftigen, liefern ein Plädoyer für die Nutzung von reinem Text für die Datenablage und Kommunikation. Vgl. dazu Kapitel 3 in {[hunt-a-1999]}, Kapitel 8 in {[kernighan-bw-1999]} und Kapitel 5 in {[raymond-es-2004]}. Letzterer liefert darüber hinaus viele sehr gute (und praxisrelevante) Hinweise zur Erstellung eigener textbasierter Formate und diskutiert diverse bekannte Textformate wie DSV/CSV, XML, Windows-INI-Dateien etc.

Die von vielen modernen Programmiersprachen und Anwendungen verwendete Variante, Gleitkommazahlen darzustellen, entspricht der Norm IEEE 754 (ANSI/IEEE Std. 754-1985). Jede Zahl wird durch 64 Bit (8 Byte) repräsentiert, was auch als „doppelte Genauigkeit“ bezeichnet wird. Ein paar Details zur doppelten Genauigkeit und zur Norm IEEE 754 finden sich in der (deutschsprachigen) Wikipedia. Weitere Details und Beispiele, die die generelle Art der Codierung von Gleitkommazahlen beschreiben, finden sich im Buch Numerical Computing with MATLAB von Cleve Moler, dem Gründer von MathWorks (der Firma hinter Matlab). Die entsprechenden Passagen finden sich im ersten Kapitel des Buches.

Eine sehr kurze Einführung in HDF5 aus der Sicht der Experimentalphysik einerseits und Python andererseits liefert Kapitel 9 in {[scopatz-a-2015]}. Spezifisch für HDF5 und seine Verwendung in einem Python-Kontext ist {[collette-a-2014]}.

Eine prägnante Darstellung der Aspekte, die man beim Umgang mit Daten in den Naturwissenschaften beachten sollte, egal ob in der Biologie und Bioinformatik oder ob in der Teilchen- oder Astrophysik, liefert {[hart-ploscb-12-e1005097]}.

Für die Bedeutung im Gesamtkontext einer Auswertungssoftware und insbesondere für Details zum Dependency-Inversion-Prinzip und der „sauberen Architektur“ vgl. {[martin-rc-2018]}.

<bibtex bibliography> sort=true </bibtex>

de/lehre/softwareentwicklung/ws2017/29/index.txt · Zuletzt geändert: von 127.0.0.1