Database and SQL administrators deal with structured data -- defined and preset tables and the like that follow definite patterns and rules. But a lot - or most - of the data that "regular" users are creating and modifying is unstructured. For example, regular text documents, images, and videos and music files don't have a set format. This unstructured data is typically stored outside of the structured database, resulting in extra complexity for the data management. If the data is associated with structured storage, file streaming and performance can take a hit.
FILESTREAM is a new data type available with SQL Server 2008 which allows data to be stored outside of the SQL server data tables and then be handled by NTFS. FILESTREAM integrates the SQL Server Database Engine with an NTFS file system by storing varbinary(max) binary large object (BLOB) data as files on the file system. Transact-SQL statements can insert, update, query, search, and back up FILESTREAM data. FILESTREAM uses the NT system cache for caching file data, helping to reduce any effect that FILESTREAM data might have on database engine performance. The SQL Server buffer pool is not used, leaving this memory available for query processing.
The Microsoft Developers Network (MSDN), of which the PerfectDisk development team is a long-standing member, lists 6 "Best Practices" for FILESTREAM Physical Configuration and Maintenance. Number 2 on the list? "Regularly defragment FILESTREAM computer systems." Another instance where automation -- whether background processing or via an automated schedule -- and defragmentation come together to improve system performance.
Recent Comments