Anwendungsserver können hochgeladene Dateien im Dateisystem des Servers speichern und nur die Dateipfade in einer Datenbank bestehen. Es kann schwierig sein, eine konsistente Sicherung eines solchen Datensatzes zu erhalten.
Dieses Beispielprojekt verwendet Spring, JPA und Hibernate ORM, um hochgeladene Dateien als Blobs in einer Datenbank zu speichern. MySQL unterstützt 4 GB -Blobs, H2 mindestens 16 GB Blobs und Postgresql sogar 4TB -Blobs. Blobs werden im Gedächtnis nie materialisiert.
Die Verwendung von Blobs für den Dateispeicher kann vorteilhaft sein, da dies den vollständigen Datensatz an einem einzigen Ort (der Datenbank) aufbewahrt. Dies sorgt für konsistente Sicherungen und Synchronisation in einem Datenbankcluster.
Innerhalb dieses Projekts werden einige zusätzliche Techniken erwähnt, die möglicherweise nützlich sein.