CaosDB

Aus Forschungsdaten.org
Version vom 15. Mai 2020, 14:47 Uhr von Alexander Schlemmer (Diskussion | Beiträge) (Link zum repository einer neuen Client-Library (C++) hinzugefügt.)
Zur Navigation springen Zur Suche springen

CaosDB[1] (https://caosdb.org) ist ein freies Software-Toolkit zur Erstellung eines semantischen Datenmanagementsystems, entwickelt für die Verwaltung von wissenschaftlichen Forschungsdaten. Der Fokus von CaosDB liegt auf Umgebungen, in denen häufige Ergänzungen oder Änderungen des Datenmodells vonnöten sind, und daher traditionellere Datenverwaltungs-Systeme nicht in Frage kommen. Ziel ist die möglichst vollständige Abbildung des Datenflusses von der Experimentplanung über Datenaufnahme und -analysen bis hin zu Publikationen.

Sowohl das Datenmodell als auch die Daten selbst können von Hand mit einer Weboberfläche oder automatisiert über eine REST-XML-API eingepflegt und editiert werden. Die Suchsprache[2] ist an SQL angelehnt und auf einfache Erlernbarkeit ausgerichtet. Für die API existiert eine umfangreiche Bibliothek in Python[3], Client-Bibliotheken für weitere Sprachen wie Julia[4], C++[5] und GNU R sind in Entwicklung. Ein Datei-Crawler[6] erlaubt das regelmäßige Durchforsten von Dateisystemen und das automatisierte Anlegen von Datensätzen, wenn neue Dateien gefunden werden, für die entsprechende Regeln angelegt wurden.

Für Testzwecke steht eine öffentlich zugängliche Demo-Instanz unter https://demo.indiscale.com zur Verfügung. Diese wird von der IndiScale GmbH betrieben und die Daten werden täglich zurückgesetzt.

Technisches & Details

  • CaosDB ist in Java geschrieben, als Backend wird momentan eine MySQL/MariaDB-Datenbank verwendet.
  • (Roh-)Dateien können entweder direkt auf dem CaosDB-Server abgelegt werden, oder es werden Referenzen auf Dateien in Netzlaufwerken verwaltet. In beiden Fällen stellen Prüfsummen die Datenintegrität sicher.
  • Die Rechteverwaltung erlaubt feinmaschige Zugriffskontrolle für alle in CaosDB enthaltenen Entitäten auf Grundlage von Access Control Lists.
  • Die durch das Datenmodell vorgesehenen Eigenschaften von Objekten können fest vorgeschrieben, dringend empfohlen oder einfach nur vorgeschlagen sein. Diese Wichtigkeit wird beim Anlegen oder Ändern von Objekten durch Client und Server jeweils berücksichtigt.

Geschichte

Literatur und Verweise

  1. Fitschen, T.; Schlemmer, A.; Hornung, D.; tom Wörden, H.; Parlitz, U.; Luther, S. "CaosDB – Research Data Management for Complex, Changing, and Automated Research Workflows." Data 2019, 4, 83. https://doi.org/10.3390/data4020083
  2. "CaosDB Query Language." Accessed 2020-02-17. https://gitlab.com/caosdb/caosdb/-/wikis/manuals/CQL/CaosDB%20Query%20Language
  3. "CaosDB Python Client Library." Accessed 2020-02-17. https://gitlab.com/caosdb/caosdb-pylib
  4. "CaosDB interface for Julia." Accessed 2020-02-17. https://github.com/JuliaDynamics/CaosDB.jl
  5. "CaosDB cpplib." Accessed 2020-05-15. https://gitlab.com/caosdb/caosdb-cpplib
  6. "Tools for advanced interactions with the database." Accessed 2020-02-17. https://gitlab.com/caosdb/caosdb-advanced-user-tools
  7. "CaosDB is a Free and Open-Source data management system toolkit." Accessed 2020-02-17. https://gitlab.com/caosdb
  8. CaosDB-Wiki. Accessed 2020-02-17. https://gitlab.com/caosdb/caosdb/-/wikis/home
  9. Alexander Schlemmer "CaosDB is funded by Max Planck Digital Library." Accessed 2020-02-17. https://www.bmp.ds.mpg.de/post/2019/mpdl/