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

From: Thomas Markus <t(dot)markus(at)proventis(dot)net>
To: pgsql-de-allgemein(at)postgresql(dot)org
Subject: Re: Wie Binärdateien verwalten? Filesystem / bytea / Large-Object?
Date: 2014-02-19 11:28:45
Message-ID: 5304956D.5080305@proventis.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

Hi Thomas

wir speichern sowas in der DB (in älterem Code als bytea und aktuell als
lo). Vorteil ist das man die Sicherung/Replikation/Transaktionen der DB
mit nutzt. Kommt natürlich auf die Häufigkeit der Zugriffe etc an.
Ein bytea kann max. 1GB gross werden und wird als byte[] übertragen
(kann die jvm sprengen), ein lo hat diese Grenze nicht und Zugriff per
Stream möglich.

Gruss
Thomas

Am 19.02.2014 12:13, schrieb Thomas Uzunoff:
> 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
>
>
>
>
>
>
>
>

In response to

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Ilya Kosmodemiansky 2014-02-19 11:43:11 Re: [pgsql-de-allgemein] Wie Binärdateien verwalten? Filesystem / bytea / Large-Object?
Previous Message Thomas Uzunoff 2014-02-19 11:13:11 Wie Binärdateien verwalten? Filesystem / bytea / Large-Object?