H2 Blob Dateien in der DB komprimieren?

lam_tr

Top Contributor
Hallo zusammen,

weiß hier jemand wie ich Blob Spalte in der Datenbank komprimnieren kann?
Ich habe über die H2 Seite folgenden Parameter für die Konfig gefunden COMPRESS=TRUE

http://www.h2database.com/html/advanced.html

Weiter müsste ich beim Inserten in die DB den compress Parameter mitgeben. Da ich JPA Hibernate benutze, weiß ich nicht genau wie ich den Parameter übergeben soll.

hat da jemand Erfahrung damit?

Eine weitere Frage ist. Ich habe Dateien di Gesamtgröße von ca 1,5MB sind. Sobald ich sie in die H2 DB inserte, wächst die h2.db Datei auf 10 MB, wie ist das möglich?

Viele Grüße
lam
 
Eine Darenbank ist eigentlich nicht dafür gemacht binär Dateien zu speichern.

Warum speicherst du die Dateien nicht in einem/mehreren Ordnern und verwaltest lediglich die dateipfade in der DB?

Das ist wesentlich schneller und effizienter.

Gruß

Claus
 
Hallo Thallius,

ja das wäre an sich auch meine nächste Idee gewesen, aber kann ich die Daten auch irgendwie verschlüsseln. Ich habe sie bisher in der Datenbank gespeichert, weil man von außen nicht drauf zugreifen kann.

Grüße
lam
 
Hallo Thallius,

Das ist echt eine coole Idee. Das zippen mit Passwort würde ich grad noch so hinbekommen, wie kann beim Lesen, die Zip in den Arbeitspeicher entpacken? Hast du da ein Snippet für mich?

Grüße
lam
 
Hallo,

naja die Effizienz würde durch das Zippen natürlich verloren gehen oder verschlechtern. Aber davon abgesehen müssen deine Server auch "sicher" sein. Also wenn das zutrifft, dann braucht man auch nicht seine Files zippen.

In der Datenbank speichert man den Speicherort der Datenbank.

Wenn man Daten doch in der Datenbank speichern möchte sind sicherlich NoSQL Datenbanken besser geeignet als SQL Datenbanken.

P. S Hibernate kann auch MongoDB.

Grüße
 
Hallo lam_tr,

nein du benötigst GridFS nicht.

Ein Beispiel mit Hibernate wäre:

Java:
@Entity
public class Data{
    @Id String id;
    @Lob
    byte[] blob;
}
Du solltest auch Googlen was für eine Limitierung in MongoDB gibt bezüglich Daten abspeichern.

Aber wie schon erwähnt sollte es kein Problem darstellen, die Daten auf dem Server zu speichern.
Und in einer Tabelle den Namen, Pfad usw. zu speichern.

Grüße
 

Neue Themen


Zurück
Oben