SharePoint 2013 is fundamentally built on the same architecture as SharePoint 2010. From architecture perspective SharePoint 2013 is similar to the previous SharePoint 2010 model, the model itself hasn’t changed that much, it uses similar service applications architecture and it how ever has lots of platforms improvements and capabilities like Shredded Storage, Distributed Cache Service, Request Management, SQL Improvements, Themes, Sharing, etc., I will try to add as much information as possible for each of these improvements.
Shredded Storage minimizes the actual files sizes or change set sizes or what may store within the files. This means that SharePoint 2013 is sending that only relevant information from servers to the end user that he is modifying and in turn stores that same piece of information to the database and it doesn’t update the whole BLOLB as such, this will further improve the performance.
To make it clearer, documents/attachments present in a library/list are stored as BLOBS (Binary List Objects) in the Content DB (SQL Server Database). So, if version history is enabled for a document library then it stores each version of the document as a new BLOB with in the SQL. This BLOB size includes the document and all the metadata associated with it. Every time there is a new version it creates a copy of the BLOB and stores it in the database.
Doing the math here, a 10MB document (with some metadata associated to it) in a document library with 10 versions enabled will need
10 (version) * 10 MB (Document Size + Meta data) = 100MB of BLOB size in SQL Server Content DB
This architecture introduces 2 problems into the way SharePoint operates
Problem 1: SQL server has lots of redundant BLOB storage making it difficult to manage
Problem 2: Performance has degraded by serving all the unnecessary data to the end user
Microsoft solved both of these problems by using “Shredded Storage in SharePoint 2013”. Shredded storage solves both of these problems by introducing the concept of Shredding. At the highest level, SharePoint 2013 chunks or pages the BLOB into numerous smaller shreds. So a single BLOB is now made of multiple shreds. The advantage of this architecture is that only the “shreds” that have been modified will be copied and saved to the SQL Server. For example, if versioning is enabled and a user makes a change to a document, only “changed shreds” are added to the storage foot print of that document. Shreds that have not changed are simply associated with both versions.
This will help in significantly improving the storage utilization, that same 10MB file with 10 versions may be consuming 22MB instead of 100MB.
Shredded storage also reduces the amount of information that a file has to be retrieved by the Web server from the SQL Server, so Input/ Output operation improves significantly.
The good news is this architecture is already built into the SharePoint 2013 system, so we don’t need to start any services on the server nor modify the web.config. On the other hand Web Server and SQL Server have additional workload that helps in improving the performance and storage.
I hope this clarifies some confusion around Shredded Storage in SharePoint 2013
Come back soon to learn about New features in SharePoint 2013 – Part 2 (SQL Improvements)