10 Gb не е много голямо количество данни, така че вероятно можете да използвате базата данни, за да я съхранявате и нямате големи проблеми, но разбира се, най-добре е по отношение на производителността да използвате файловата система, а по отношение на управлението на безопасността е по-добре да използвате DB (резервни копия и последователност).
За щастие, Sql Server 2008 ви позволява да вземете тортата си и да я изядете също с:
Атрибутът FILESTREAM
В SQL Server 2008 можете да приложите атрибута FILESTREAM към варбинарна колона и SQL Server след това съхранява данните за тази колона в локалната файлова система NTFS. Съхраняването на данните във файловата система носи две основни предимства:
- Ефективността съответства на производителността на поточно предаване на файловата система.
- Размерът на BLOB е ограничен само от размера на тома на файловата система.
Въпреки това, колоната може да се управлява точно както всяка друга BLOB колона в SQL Server, така че администраторите могат да използват възможностите за управление и сигурност на SQL Server, за да интегрират управлението на BLOB данни с останалите данни в релационната база данни - без да е необходимо да управляват данни за файловата система отделно.
Дефинирането на данните като колона FILESTREAM в SQL Server също така гарантира съгласуваност на ниво данни между релационните данни в базата данни и неструктурираните данни, които се съхраняват физически във файловата система. Колоната FILESTREAM се държи точно по същия начин като колона BLOB, което означава пълна интеграция на операции по поддръжка, като архивиране и възстановяване, пълна интеграция с модела за сигурност на SQL Server и пълна поддръжка на транзакции.
Разработчиците на приложения могат да работят с данни от FILESTREAM чрез един от двата модела на програмиране; те могат да използват Transact-SQL за достъп и манипулиране на данните точно като стандартни BLOB колони или могат да използват Win32 поточно API с Transact-SQL транзакционна семантика, за да осигурят последователност, което означава, че могат да използват стандартни Win32 извиквания за четене/запис към FILESTREAM BLOB, както биха, ако взаимодействат с файлове във файловата система.
В SQL Server 2008 колоните FILESTREAM могат да съхраняват данни само на локални дискови томове, а някои функции като прозрачно криптиране и параметри с стойност на таблицата не се поддържат за FILESTREAM колони. Освен това не можете да използвате таблици, които съдържат колони FILESTREAM в моментни снимки на база данни или сесии за огледално копиране на база данни, въпреки че се поддържа доставка на регистрационни файлове.