Stiamo usando MongoDB. Nella nostra applicazione abbiamo bisogno di memorizzare più file per utente. La nostra applicazione verrà distribuita su AWS. Stavo pensando di utilizzare una delle seguenti opzioni per memorizzare i file -MongoDB - Memorizza i file nel DB o nella memoria esterna?
- Archiviare i file in MongoDB stesso. Sono consapevole del fatto che MongoDB ha una limitazione della dimensione massima del documento di 16 MB, ma molto probabilmente i nostri file non andranno oltre.
- Utilizzare GridFS di MongoDB per archiviare i file.
- Usa Amazon S3 per archiviare i file e i collegamenti a questi file verranno accarezzati in MongoDB.
- Utilizza file system locale/volumi EBS su AWS.
Quale di questi è un approccio migliore? In termini di prestazioni, scalabilità? Quale approccio sarà più scalabile? Voglio anche usare CDN per mettere in cache i file. La mia preferenza è per AWS S3, dato che posso usare CDN per mettere in cache i file, la mia archiviazione dei file sarà agnostica per DB. Inoltre, la dimensione del mio DB non aumenterà in modo significativo poiché sto memorizzando i file al di fuori del DB.