Was macht datalad?
Überblick
DataLad ist eine Datenverwaltungsschicht über Git und git-annex. Git verfolgt die Struktur des Datensatzes, kleine Textdateien und die Historie. git-annex verfolgt den Inhalt großer Dateien, indem es jede Datei als Schlüssel speichert und die Bytes an einem Ort aufbewahrt, der nicht unbedingt das lokale Repository ist.
Diese Aufteilung ist das mit Abstand Wichtigste, was man verinnerlichen sollte, denn sie bedeutet, dass ein frisch geklonter Datensatz die vollständige Historie und die vollständige Dateiliste enthält, aber fast keine der Daten. Ein 100 TB großer Datensatz wird in Sekunden geklont und belegt ein paar Megabyte. Die Bytes kommen erst auf Anfrage, pro Datei, mit datalad get.
Das zweite, was DataLad hinzufügt, ist die Herkunft (Provenienz). datalad run führt einen Befehl aus und übernimmt das Ergebnis zusammen mit einem maschinenlesbaren Datensatz des Befehls, seiner Eingaben und seiner Ausgaben. datalad rerun liest diesen Datensatz zurück und führt ihn erneut aus. Dies macht aus der Frage „Wie wurde diese Abbildung erstellt?