Tuesday, April 28, 2009 2:27 PM
Document Storage: Database Blobs or the Filesystem
About a year ago, I wrote about some of the technical issues around image storage in a database – mostly I concentrated on some of the implementation issues.
Over at, Never Talk When You Can Nod, Andrew Chapman has been laying out the case for taking blobs out of the database and storing them on the filesystem – specifically with regards to SharePoint and documents.
Of course, since Andrew works for EMC, you would expect that he would recommend filesystem based storage, because they offer products based around this kind of storage – in fact a big reason for EMC to acquire Documentum was to acquire a customer base that needed to efficiently store blob-like data. SharePoint’s default behavior of storing the blobs in the database makes a lot of their products less effective.
Given that bias, he still makes a compelling case that at deploy-time, the benefits are too great to ignore:
Imagine a world where content created in SharePoint was automatically routed to the most appropriate location depending on factors such as values in the object's attributes, where the object is in its lifecycle and/or who created it. Imagine that this was done without in any way affecting the SharePoint end user experience or any applications built on top of SharePoint. Imagine if doing this didn't just reduce risk and costs but it also made your SharePoint deployments more scalable and robust.
And then lays out the case, and in a further post, he lays out the options with SharePoint, specifically describing the difference between Remote Blob Storage and External Blob Storage – again, he would want to push EBS, because that’s an API that EMC can write to and get you on their storage solutions, and RBS is implemented internally by SharePoint/SQL Server (using SQL Server’s new Filesystem field type) – however, he does make a compelling argument (e.g. selectivity and transparency). Make sure to read Andrew’s full list of pros and cons of EBS and RBS.
EBS is something we get asked a lot about with regards to Vizit – specifically, does Vizit work with document libraries that are using EBS for the document storage. As Andrew describes, EBS is implemented below the SharePoint Object Model, so that it’s transparent to any add-ons written on top of it – so yes, Vizit, and any SharePoint features written on top of the SharePoint Object Model are completely compatible with EBS (and RBS which is implemented at an even lower layer inside of SQL Server).