Sto guardando l'attributo FILESTREAM in SQL Server per archiviare i file in esso. Capisco che memorizza i file sul disco rigido e memorizza le informazioni sul puntatore/percorso del file in DB. Inoltre, mantiene la coerenza transazionale nel processo.Limitazione FILESTREAM SQL Server
Sembra esserci anche una limitazione "I dati FILESTREAM possono essere memorizzati solo su volumi disco locali" per l'attributo FILESTREAM.
Se prevedo che la mia app Web memorizza 200.000 immagini di 1-2mb ciascuna, richiederei circa 200 GB di spazio su disco per archiviare le immagini. Poiché, FILESTREAM richiede che tutti i dati vengano archiviati solo su disco locale come per la limitazione, sarebbe impossibile archiviare milioni di file su un singolo disco rigido, poiché i requisiti di archiviazione sarebbero estremamente ampi.
La mia comprensione della limitazione è corretta o mi manca qualcosa qui?
Se questa limitazione è corretta, la memorizzerei invece in db come blob normale e clusteri il mio DB per aumentare i requisiti di archiviazione, cosa che non sembra possibile con FILESTREAM.
Si prega di condividere i tuoi pensieri!
aggiornamento:
qualche altra domanda riguardo FILESTREAM: -
- come gestire il recupero dei dati in caso di corruzione contenitore di dati?
- È sufficiente eseguire il backup del DB senza i dati del file system? [supponendo che i dati siano in SAN, che non devono essere spostati]
- Vorrei eseguire il backup o il ripristino del DB e rimappare semplicemente le informazioni sul percorso del filegroup [che mappa su SAN]. È possibile?
@Jeff: Grande post! Ha dato molta chiarezza e poche altre domande, che ho aggiornato. – pencilslate