- Every file which is stored in SharePoint is stored in the SQL Server database as a Binary Large Object (BLOB). SQL database storage needs high IOPS (input/output operations per second) and low latency. This combination means that this is typically expensive storage.
- Around 95% of many SharePoint databases is BLOB data
- It is however possible to take these BLOBS out of the SQL database and store them somewhere else – this is something called blob externalization.
- There are two APIs available in SharePoint for blob externalization – commonly referred to as EBS and RBS
- SharePoint External BLOB Storage ( EBS) – an API which was specifically written for SharePoint Server 2007 and which was shipped with Service Pack 1 of SharePoint Server 2007. EBS is supported by both SharePoint Server 2007 and SharePoint Server 2010. Do note that EBS is being deprecated and is likely to be removed from the next version of SharePoint Server. There can only be one EBS provider per SharePoint farm.
- SQL Remote Blob Storage (RBS) is an API which came available with SQL 2008 R2 Feature pack. It is not unique to SharePoint but is available to any application. You can build your own RBS provider library (and most third party storage optimization tools have done this) and Microsoft also did this by building a provider named the FILESTREAM provider which can externalize Blobs to local storage.
- The SQL FILESTREAM feature can only use local storages. Therefore RBS FILESTREAM Provider has the same limitation. 3rd party RBS Providers do not have this limitation if they are not leveraging SQL FILESTREAM feature. (See FAQ: SharePoint 2010 Remote BLOB Storage (RBS)
- Externalizing BLOBs from SharePoint will not only save you money by moving into tiered storage but will also increase the performance of SharePoint. In a typical real-world collaborative environment Microsoft reports a 25 percent performance increase with BLOB externalization. Check out this white paper for more details – SQL Server RBS performance with SharePoint Server 2010 and StorSimple Storage Solutions .
- Performance improvements increase as the size of files increases. Microsoft research indicates that if files are smaller then 256 KB – SQL storage will out perform, above 1 MB the file system will provide better performance. Check out Plan for RBS (SharePoint Foundation 2010) for more details
- Also remember that when you externalize BLOBs, you architecture might become more complex. After you externalize BLOBs, you must consider the BLOB store in plans for backup, restore, high availability, and disaster recovery. Here, the story can be complex, but doesn’t have to be.
- Overview of RBS (SharePoint Foundation 2010)
- Externalizing Blob storage in SharePoint 2010 (Part 1)
- Externalizing BLOB storage in SharePoint 2010 (Part 2) – Installing and configuring RBS & migrating and moving BLOBs between BLOB stores.
- Intelligently reducing SharePoint Costs through storage optimizations
- Optimize SharePoint storage with BLOB externalization.