Published on

January 3, 2010

Exploring Remote BLOB Store in SQL Server

Remote BLOB Store (RBS) is a feature in Microsoft SQL Server that allows the storage of large binary data (BLOBs) to be moved from the database servers to external storage solutions. This feature provides several benefits, including improved performance, reduced database size, and simplified backup and restore processes.

With RBS, instead of storing the actual BLOB data in the database, a reference to the BLOB is stored in the database. The BLOB data itself is stored in external storage solutions such as Content Addressable Stores (CAS), commodity hardware with data integrity and fault-tolerance systems, or mega service storage solutions like MSN Blue.

So, how does RBS work? When an application needs to store or access BLOB data, it calls into the RBS client library. This library manages the life cycle of the BLOB, including garbage collection when necessary. The RBS client library interacts with auxiliary tables, stored procedures, and an executable to provide its services.

When a BLOB is stored, the RBS client library generates a unique identifier for the BLOB, known as the RBS BLOB ID. This ID is stored in RBS auxiliary tables, and a reference to this ID is stored in a column in the application tables. These columns, known as RBS Columns, are of the data type binary(20).

By separating the storage of BLOB data from the database, RBS offers several advantages. Firstly, it improves performance by reducing the size of the database and allowing for faster retrieval of non-BLOB data. Secondly, it simplifies backup and restore processes by excluding the large BLOB data from the database backups. Lastly, it provides flexibility in choosing the appropriate storage solution for BLOB data, based on the specific requirements of the application.

It is important to note that RBS is an add-on feature that can be applied to Microsoft SQL Server 2008 and later versions. It is not a default feature and needs to be enabled and configured separately.

In conclusion, Remote BLOB Store in SQL Server is a powerful feature that allows for efficient storage and retrieval of large binary data. By offloading BLOB data to external storage solutions, it improves performance, simplifies backup and restore processes, and provides flexibility in choosing the appropriate storage solution. If you are working with large BLOB data in your SQL Server databases, considering implementing RBS can greatly benefit your application.

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.