Shredded Storage in SharePoint 2013

Introduction

There are various new features in SharePoint 2013 over SharePoint 2010.

SharePoint 2013 is a big change from SharePoint's earlier Versions (2007 & 2013). It has a new UI, a new development app model and many performance improvement capabilities. SharePoint 2013 is a huge hit among SharePoint communities and business.

SharePoint 2013 was released with some exciting features such as:

  1. Real Time Social Feed
  2. Shredded Storage
  3. SharePoint Apps
  4. Cross-site publishing
  5. Out-of-Box PDF support
  6. Minimal Download Strategy

Here I will explain Shredded Storage.

Shredded Storage is a new storage model implementation in SharePoint Server 2013 providing smoother I/O patterns, improved data transfer performance and a reduction of storage utilization when using historical versions with SharePoint.

  1. Shredded storage is SharePoint 2013, running on SQL Server 2008 R2 or SQL Server 2012.
  2. Shredded storage is different than Cobalt.
  3. BLOBS such as Microsoft PowerPoint Presentations, Microsoft Word Documents and so on.

How Shredded Storage Works

  1. Every document in SharePoint 2013 is now stored as multiple “shredded BLOBS” in the new “DocStreams” data table. Whenever a new version of a document is created, a new record is written in this data table that contains only the “Shred BLOB” of the original document that corresponds to the change, merged with the new changes.
  2. As you probably know, documents stored in a library or as attachments are stored as Binary Large OBjects (BLOBs) in the content database, by default. Remote BLOB Storage (RBS) is a set of APIs that let you move BLOBs out of the SQL Server content database to another storage mechanism.
  3. In other words, a new BLOB with changes is added as a new row to the table. Each BLOB that is added contains a numerical Id that represents the source BLOB.

Example

  1. User A opens a 10 MB PowerPoint Presentation. She modifies its content by adding a new slide and/or updating the presentation's attributes and properties and she subsequently saves the file back to the originating Document Library.
  2. In this example only the portion of the file related to the change is written to the data store.
  3. At the end it is the job of a BLOB Index to track BLOBs and to create a full file with the combination of entries that point to the unchanged shreds of the previous version(s) and the entries that point to the newly added changed shreds.