Remote Blob Storage (RBS) is a library API set that is designed to move storage of large binary data (BLOBs) from Microsoft SQL Server to external storage solutions.
With RBS, blob data is stored in external storage solutions such as </SPAN minmax_bound="true">Content Addressable Stores (CAS), commodity hardware with data integrity and fault-tolerance systems or mega service storage solutions. A reference to the blob is stored in the database. An application stores and accesses blob data by calling into RBS client library. RBS manages the lifecycle of the blob by doing garbage collection as and when needed.
RBS gives applications the ability to use rich relational capabilities of SQL Server for their structured data along with capabilities of dedicated storage solutions for their unstructured data in a transactionally consistent manner. Many applications try to do this today on their own, attempting to tie blob data and metadata together with varying degrees of success. With RBS, this functionality is included in the SQL Server platform along with additional services around it. This is useful for applications such as Sharepoint and other document management software, archival systems etc.
RBS is designed as an add-on that can be applied to Microsoft SQL Server 2008 and above. It uses auxiliary tables, stored procedures and a managed client library to provide its services. A reference to the blob (provided by the Blob Store) is stored in RBS auxiliary tables and an RBS Blob ID is generated. Applications store this RBS Blob ID in a column in application tables, however this is not a new data-type; it is just a simple varbinary(64).
ISVs and storage solution vendors can create their own RBS Provider Library to allow the use of custom stores with applications written against the RBS API set. This will be explained in further detail in future blog posts - for now you can download a sample provider from the RBS Samples link on CodePlex.
Current public issues with the RBS release are also tracked at the CodePlex RBS Work Item list.