Wie Binärdateien verwalten? Filesystem / bytea / Large-Object?

From: Thomas Uzunoff <postgresql(at)grizzlycrm(dot)de>
To: pgsql-de-allgemein(at)postgresql(dot)org
Subject: Wie Binärdateien verwalten? Filesystem / bytea / Large-Object?
Date: 2014-02-19 11:13:11
Message-ID: 530491C7.30702@grizzlycrm.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

Hallo,

ich habe eine Anwendung, in der Dateien verarbeitet werden. Diese
werden, wenn man sie im Programm speichert, auf einem FTP Server
abgelegt und nur wenige Infos (die kaum Speicherplatz benötigen) in
einer Datenbank Tabelle gespeichert. Das Konstrukt sollte ursprünglich
verhindern, dass die Datenbank in kurzer Zeit sehr groß wird, was
(vermutlich) langfristig zu Perfornmance-Problemen geführt hätte. Jetzt
ist es leider so, dass die Anbindung an den FTP-Server andauernd
Probleme bereitet, weshalb ich den FTP-Teil gerne austauschen würde.

Jetzt meine Frage:

Wie sollten diese Binärdaten am besten gespeichert werden?

Überlegung 1: Statt FTP zu nutzen, die Dateien direkt in das Dateisystem
schreiben.
Überlegung 2: In die Tabelle, in der die anderen Infos zur Datei
gespeichert werden, noch eine Spalte vom Typ bytea einfügen und die
Dateiinhalte dort speichern
Überlegung 3: Die Dateien als Large-Objects behandeln (obwohl ich noch
nicht ganz verstanden habe, was das bedeutet)

Momentane Konfiguration des Servers:

- PostgreSQL Version: 9.1
- Application Server: Glassfish
- Programm ist in Java geschrieben
- OS: Debian 6.0.4

In vermutlich 90% der Fälle liegt die Dateigröße bei unter 50kb
zu 1% vermutlich über 1 MB
und der Rest dazwischen.
Dateien größer als 15MB sind extrem unwahrscheinlich, aber nicht
auszuschließen
Im Schnitt sind die Dateien rund 160kb groß

Natürlich möchte ich auch zukünftig verhindern, dass es langfristig zu
Performance-Problemen beim Arbeiten oder Backup kommen könnte.

Ein kurzer Hinweis, welche Weg eurer Meinung nach am sinnvollsten ist
(vielleicht noch eine ganz andere Variante?!?), wäre ich dankbar.

Grüße

Thomas

Responses

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Thomas Markus 2014-02-19 11:28:45 Re: Wie Binärdateien verwalten? Filesystem / bytea / Large-Object?
Previous Message Andreas Kretschmer - internet24 GmbH 2014-02-05 13:35:08 Re: Datensatz an vorbestimmter Stelle einfuegen.