Right Stuff


Thursday, January 6, 2011

MOSS 2010 : Remote BLOB Storage (RBS)

RBS is another beautiful feature in SharePoint 2010 to store large data into external databases or file stores.

This will be useful in our upcoming project of ECM (Enterprise Content Management) with ParaComputing where they will be using NAS (Network Attached Storage) for file storage.

Before going to discuss about RBS, first we need to know the BLOB storage which stores two types of content one is unstructured data i.e. no schema simply we can say encrypted data. Second type of data is audio, images; video like large data is stored in a binary format. BLOB stands binary large objects.

In SQL server BLOB data stores in its database but this increases the size of database and usage of resources causes some problems.

This is overcome by using RBS which stands for Remote BLOB storage. RBS is a library API which is used as an add-on feature pack for Microsoft SQL Server 2008 and Microsoft SQL Server 2008 Express.

RBS is designed to move the storage of BLOBs from database servers to commodity storage solutions. Microsoft SharePoint Foundation 2010 supports a BLOB storage implementation that accesses the RBS APIs through a FileStream provider.

We need to enable FileStream provider using SQL server Configuration Manager and we need to execute few stored procedures and run shell command in order to configure this RBS.

RBS exposes three views for interacting with it: application view (through the RBS client library), administrator view (through stored procedures), and provider view (through a provider interface).

I would like to explain RBS Provider The main goal of an RBS provider is to enable the use of a particular type of BLOB store (called a target BLOB store) to store RBS BLOB data.

This means we can create our own RBS providers by deriving the BlobStore abstract class.

An Application (here SharePoint) calls this Provider to perform its action like store or retrieve the Blob data, Provider sends a request to BLOB store (CAS-Content Addressable stores-large data stores-file servers and others…) which will send response back to Provider and it sends response to Application.

Install/Configure RBS by following procedures in the site below:

To create a custom RBS provider you can look at code plex sample on:

To get more idea on garbage collection and deletion process please find the below: http://blogs.msdn.com/b/sqlrbs/archive/2010/03/19/running-rbs-maintainer.aspx


No comments:

Post a Comment