SharePoint External Storage
for years we have relied on SQL server as our main storage for SharePoint. but after releasing WSS SP1 we supported External BLOB Storage EBS.
EBS is a provider based model to decouple SharePoint from its SQL Storage. which means that we can now use any storage as SharePoint backend. we can discuss the pros and cons of this scneario in pages but i just would like to the factors that should impact your deicision :
1- Federated Content Management : imagine if we can storge a certain taxonomy of documents on SharePoint and others on EMC or others so we can leverage current investment for customers and use those other backend stores.
2- Complying with Customers' standards : alot of customer have their standards to save for example : well delivery documents on filenet while other legal documents on EMC and active departmental docs on SharePoint. now we can be open and comply to those.
3- Complying with Customers' policies for documents : retention period and auditing, etc.. can now be applies directly from the storage system
4- Operation : we have to assess the operation cost of saving in external BLOB as file shares (file streams) as opposed to saving in SQL
5- Disaster Recovery : Backup/Restore is no more the same. so using EMC Networker or DPM would haev to be tuned a little bit to now backup/restore BLOB stores. in the grand picture we have data splitted into 2 storage systems: SQL and EBS. so restoring data can generate inconsistencies. this has to reaslly be planned thouroughly.
6- high frequency of document updates : as a result of EBS there are alot of orphans which has to be claned using a custom written GC as described in MS article. but as we all know , this is an expensive operation so it has to be scheduled in non-peak periods.
7- Maintaining Security across 2 layers:SharePoint and EBS. if a sharepoint group has access to a certain file, how are we going to enforce this on the BLOB store ?
8- Licensing : do remove any licensing binding that might exist between size of databases and license, EBS or RBS later will be great solutions.
9- SQL is not for BLOB : since saving data in SQL is expensive and should only be for relational or heirarchical data , using comodity data stores like file system or sepcific systems that have been designed to manage BLOBs would be the best approach.
The other solution to have an external storage is using RBS (Remote BLOB Storage). this is a SQL 2008 feature that can be leverage from SQL server. there were alot of enhancements, bug fixes, new features in R2. so basically now you can save any BLOB object outside SQL. SharePoint 2010 is using this feature to enable saving BLOBs outside SharePoint. actuallt most of the software boundaries os MOSS before were because of BLOB limitations in SQL. EBS is till working in SharePoint 2010 but RBS will take over in next versions.
RBS works on a content database level, so designing hybrid libraries within the same site will need some planning.