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
>
>
>
>
>
>
>
>
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? |