Ich arbeite mit großen Mengen wissenschaftlicher Daten, die in tab-separierten .tsv
-Dateien gespeichert sind. Die typischen Operationen, die durchgeführt werden sollen, sind das Lesen mehrerer großer Dateien, das Filtern bestimmter Spalten/Zeilen, das Verknüpfen mit anderen Datenquellen, das Hinzufügen von berechneten Werten und das Schreiben des Ergebnisses als eine andere .tsv.
Der Klartext wird aufgrund seiner Robustheit, Langlebigkeit und selbsterklärenden Eigenschaften verwendet. Das Speichern der Daten in einem anderen Format ist keine Option, sie müssen offen und einfach zu verarbeiten bleiben. Es gibt viele Daten (Dutzende von TB), und es ist nicht erschwinglich, eine Kopie in eine relationale Datenbank zu laden (wir müssten doppelt so viel Speicherplatz kaufen).
Da ich hauptsächlich Auswahlen und Verknüpfungen durchführe, habe ich festgestellt, dass ich im Grunde genommen eine Datenbank-Engine mit einer .tsv-basierten Speicherung benötige. Mir ist es egal, um Transaktionen, da meine Daten alle einmal geschrieben und oft gelesen werden. Ich muss die Daten vor Ort verarbeiten, ohne einen großen Konvertierungsschritt und Datenklonierung.
Da so viele Daten auf diese Weise abgefragt werden müssen, muss ich sie effizient verarbeiten, indem ich Caching und ein Raster von Computern nutze.
Weiß jemand von einem System, das Datenbank-ähnliche Funktionen bietet, während es plain tab-separierte Dateien als Backend verwendet? Es scheint mir ein sehr generisches Problem zu sein, mit dem praktisch alle Wissenschaftler auf die eine oder andere Weise umgehen müssen.