Sto riscrivendo una sezione del mio sito e sto cercando di decidere quanto di una riscrittura sarà questa. Al momento ho un servizio web che genera un xml una volta al giorno. Quindi utilizzo questo file xml sul mio sito Web per generare la struttura generale. Sto cercando di decidere se questa informazione dovrebbe essere localizzata nel database o rimanere nel file xml.
- Il file può variare da 4mb a 12mb.
- La profondità dei file può andare avanti e avanti, quindi devo recurse per trovare i dati che voglio.
- Uso le classi di serializzazione .NET e memorizzo il file serializzato in una variabile globale per evitare di ri-serializzarlo ogni volta che viene caricata la pagina.
Le mie ragioni per pensare che un database sia migliore sono:
- Vorrei sapere esattamente dove mi trovo nel file utilizzando un ID interno, quindi non dovrei reclamare il file per ottenere informazioni.
- Non dovrei caricare / serializzare l'XML e potrei semplicemente usare le mie connessioni di database già aperte.
- La ricerca dei dati nel file sarebbe più veloce (?) in quanto eseguirò semplicemente una query SQL anziché reindirizzare il file.
Qualcuno ha qualche idea che è migliore e quale opzione utilizza più risorse sul server o essere più veloce?
EDIT: il file viene letto ogni volta che viene caricata la pagina Web (sebbene sia serializzata una sola volta). Non è scritto da utenti standard (solo da un task di amministrazione che viene eseguito nel cuore della notte).
Questa è la mia indagine iniziale prima di prendere in giro.