Microsoft SQL Server 2008 R2 and the current Community Technology Preview (CTP) release (SQL Server the available options for storing BLOB data to “code-named” Denali) expand include: In-database FILESTREAM Remote BLOB Storage (RBS) FileTable This white paper focuses on design and implementation considerations for using FILESTREAM storage. Additionally, notes in the paper describe relevant RBS and FileTable considerations. The paper consolidates information from many resources, and adds content from Microsoft development team members. Note: This paper is intended for system architects, IT professionals, and database administrators (DBAs) tasked with evaluating or implementing data storage. It is assumed that the reader is very familiar with Windows Server and SQL Server and has at least a basic knowledge of database concepts. Introducing FILESTREAM FILESTREAM is a SQL Server 2008 feature that lets you store unstructured BLOB data directly in the file system. FILESTREAM is not a data type; it is an attribute imposed on a varbinary column to indicate that the data is to be stored directly on the file system, thus maintaining transactional consistency. A non-FILESTREAM storage format uses the buffer pool when the data pages are accessed. FILESTREAM uses the NT system cache for caching the file data. This approach helps reduce the effects that FILESTREAM data has on database engine performance. While the buffer pool is relieved of managing the varbinary(max) data pages, it is important to appreciate that the virtual address space (VAS) is still shared between FILESTREAM data and SQL Server data. When using FILESTREAM, it is important to differentiate between traditional data (called row data) and FILESTREAM data. Other storage options include RBS and FileTable. Note: RBS is a library API set incorporated as an add-on feature pack for Microsoft SQL Server. RBS is designed to move storage of BLOB data from database servers to external Content Addressable Stores (CAS). A reference to the BLOB is stored in the database. An application stores and accesses the BLOB data by calling into the RBS client library. RBS manages the lifecycle of the BLOB; for example, RBS performs garbage collection when needed. For more information, see (http://sqlrbs.codeplex.com/).
Microsoft SQL Server 2008 R2 and the current Community Technology Preview (CTP) release (SQL Server “code-named” Denali) expand the available options for storing BLOB data to include: In-database FILESTREAM Remote BLOB Storage (RBS) FileTable This white paper focuses on design and implementation considerations for using FILESTREAM storage. Additionally, notes in the paper describe relevant RBS and FileTable considerations. The paper consolidates information from many resources, and adds content from Microsoft development team members. Note: This paper is intended for system architects, IT professionals, and database administrators (DBAs) tasked with evaluating or implementing data storage. It is assumed that the reader is very familiar with Windows Server and SQL Server and has at least a basic knowledge of database concepts. Introducing FILESTREAM FILESTREAM is a SQL Server 2008 feature that lets you store unstructured BLOB data directly in the file system. FILESTREAM is not a data type; it is an attribute imposed on a varbinary column to indicate that the data is to be stored directly on the file system, thus maintaining transactional consistency. A non-FILESTREAM storage format uses the buffer pool when the data pages are accessed. FILESTREAM uses the NT system cache for caching the file data. This approach helps reduce the effects that FILESTREAM data has on database engine performance. While the buffer pool is relieved of managing the varbinary(max) data pages, it is important to appreciate that the virtual address space (VAS) is still shared between FILESTREAM data and SQL Server data. When using FILESTREAM, it is important to differentiate between traditional data (called row data) and FILESTREAM data. Note: Other storage options include RBS and FileTable. RBS is a library API set incorporated as an add-on feature pack for Microsoft SQL Server. RBS is designed to move storage of BLOB data from database servers to external Content Addressable Stores (CAS). A reference to the BLOB is stored in the database. An application stores and accesses the BLOB data by calling into the RBS client library. RBS manages the lifecycle of the BLOB; for example, RBS performs garbage collection when needed. For more information, see (http://sqlrbs.codeplex.com/).
FILESTREAM%20Design%20and%20Implementation%20Considerations.docx