Les serveurs d'applications peuvent stocker des fichiers téléchargés dans le système de fichiers du serveur et ne persister que les chemins de fichier dans une base de données. L'obtention d'une sauvegarde cohérente d'un tel ensemble de données peut être difficile.
Cet exemple de projet utilise Spring, JPA et Hibernate ORM pour stocker des fichiers téléchargés sous forme de blobs dans une base de données. MySQL prend en charge 4 Go de blobs, H2 au moins 16 Go de blobs et postgresql même 4 To blobs. Les blobs ne sont jamais matérialisés en mémoire.
L'utilisation de blobs pour le stockage de fichiers peut être avantageuse car cela conserve l'ensemble de données complet en un seul endroit (la base de données); Cela prévoit des sauvegardes et une synchronisation cohérentes dans un cluster de base de données.
Dans ce projet, quelques techniques supplémentaires sont mentionnées qui pourraient être utiles.