Share via


Remote BLOB Store Architecture

Remote BLOB store (RBS) consists of a set of libraries, executables and stored procedures that provides applications with an API that allows them to easily interact with BLOBs stored outside of the SQL Server database they are associated with. Applications must use Transact-SQL or other methods to interact with SQL Server directly.

The basic components and their interactions are described below.

Diagram of the Remote Blob Storage architecture

  • BLOB – Applications typically store BLOB data in tables on SQL Server databases. Using RBS, applications store the data in a BLOB store and leave only a reference to the BLOB in the application table.

  • End User – An End User is the final consumer of data, such as a person using a web-browser.

  • Application – A mid-tier application which uses SQL server to store its data.

  • SQL Server – The database server that stores the application metadata.

  • BLOB Store – A third-party storage solution that is used to store BLOB data.

  • Client Library – The application stores and accesses BLOBs by calling into the RBS client library.

  • Provider Library – The Provider Library translates API operations into specific BLOB calls and requests. One Provider Library must be implemented for each type of BLOB store that is used. SQL Server Enterprise is required to connect external BLOB store providers to an RBS deployment.

  • RBS Maintainer – The RBS Maintainer is a separate process that does periodic garbage collection and performs other maintenance tasks.

  • Stored Procedures – RBS stored procedures are added to the database and called by the RBS Client Library, the application, and the administrator.

  • Auxiliary Tables – RBS creates and maintains auxiliary tables in the database to manage the BLOBs.