Seite 1 von 1

Binärdaten in Datenbank oder Dateisystem

Verfasst: Freitag 18. Juni 2010, 16:50
von burli
Hi, ich bastle gerade an einer Art Document Management System. Es sollen so Sachen wie Bilder, PDF Dateien oder Archive darin gespeichert werden

Ich überlege gerade, was sinnvoller ist. Die Dokumente normal im Dateisystem speichern oder als Binär Blob in einer Datenbank? Im Dateisystem könnte man vielleicht irgendwann Probleme mit der Anzahl an Dateien in einem Verzeichnis bekommen, weshalb man irgendwie eine Gruppierung in Unterverzeichnissen machen müsste.

Wie würdet ihr das machen?

Re: Binärdaten in Datenbank oder Dateisystem

Verfasst: Freitag 18. Juni 2010, 17:48
von Mr_Snede
Von der Programmierung her habe ich keine Erfahrung.

Allerdings schwebt mir schon lange selbst sowas wie ein DMS vor.
Einer meiner Kernpunkte ist es auch ohne Hilfe von Zusatzsoftware an die zu verwaltenden Daten heran zu kommen. Würde also eher auf ein Ordnersystem mit Metainfos und Suchindex hinauslaufen.

Rein aus Interesse: In welchem Rahmen soll dein DMS eingesetzt werden? Was sind deine Kernpunkte?

Gruß Sebastian

Re: Binärdaten in Datenbank oder Dateisystem

Verfasst: Freitag 18. Juni 2010, 18:25
von /me
burli hat geschrieben:Ich überlege gerade, was sinnvoller ist. Die Dokumente normal im Dateisystem speichern oder als Binär Blob in einer Datenbank?
Ich habe jahrelang im DMS-Bereich gearbeitet und bin zu dem Schluss gekommen, dass es eine perfekte Datenbank für Binärdaten gibt: das Filesystem.

Wenn du alles komplett in der Datenbank hast, dann hast du den Vorteil der Transaktionssicherheit und du hast auch bei einem Backup keine Synchronisationsprobleme. Ich finde das Handling via Dateisystem trotzdem schöner. Andere mögen das aber durchaus anders sehen.

Re: Binärdaten in Datenbank oder Dateisystem

Verfasst: Freitag 18. Juni 2010, 19:58
von noisefloor
Hallo,

werft doch mal einen Blick auf Dokumenten-basierte Datenbanken wie CouchDB oder MongoDB. Die sind für so was auch sehr gut geeignet.

Python-Bindings gibt's auch.

Gruß, noisefloor

Re: Binärdaten in Datenbank oder Dateisystem

Verfasst: Freitag 18. Juni 2010, 20:06
von burli
Stimmt, an CouchDB hab ich gar nicht gedacht. Mal mit befassen

Re: Binärdaten in Datenbank oder Dateisystem

Verfasst: Freitag 18. Juni 2010, 20:29
von noisefloor
Hallo,

im letztes FreiesMagazin ist ein Artikel dazu - der gibt einen (ich hoffe guten) Überblick.

Gruß, noisefloor

Re: Binärdaten in Datenbank oder Dateisystem

Verfasst: Samstag 19. Juni 2010, 10:54
von sma
MongoDB mit GridFS wäre eine einfache Lösung. Dateisystem - gerade wenn es sehr, sehr viele Dateien sind (vgl. http://www.infoq.com/presentations/Scale-at-Facebook) ist keine gute Idee. Eine relationale DB ist dafür in der Regel auch nicht gemacht. Allerdings muss auch nicht jeder wie Facebook 2 Milliarden Bilder pro Monat speichern.

Stefan

Re: Binärdaten in Datenbank oder Dateisystem

Verfasst: Samstag 26. Juni 2010, 08:23
von 1-1-1
Sind es sehr viele große Binärdateien, dann in das Dateisystem; die Datenbank wird es dir danken. Außerdem ist dann noch ein Dump der Datenbank zu händeln.

Das Dateisystem (sogar Windoofs) wird NICHT an der Anzahl der Dateien sterben; problematisch wäre ggf. unter einigen Win die Länge des Dateipfades.

Also alles in ein Verzeichnis mit generierten eindeutigen Dateinamen (TimeStamp?), dann mußt Du nur gelegentlich mit einem kleinen (Cron-)Job aufräumen. Einfach alle löschen, die nicht in der Datenbank (durch Löschungen/Änderungen) referenziert sind.