Wie Binärdateien verwalten? Filesyste m / bytea / Large-Object?
Thomas Uzunoff <[email protected]> Wed, 19 Feb 2014 12:13:11 +0100
| Newsgroups | gmane.comp.db.postgresql.german |
|---|---|
| Message-ID | <[email protected]> |
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 -- Sent via pgsql-de-allgemein mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-de-allgemein