You are on page 1of 28

Externalizing BLOB Storage

in SharePoint 2010

Srini Acharya & Burzin Patel


Senior Program Managers
Microsoft Corporation
Agenda

SharePoint & BLOB Data


Current Pain Points
RBS Overview
Demo
Installation/Configuration/Maintenance
Example Customer Scenario
Q&A
BLOB Data in SharePoint
BLOB  Binary Large OBject
BLOB is the data stream associated with a
file
SharePoint File metadata and BLOBs are stored
in SQL databases
BLOBs do not participate in query operations
Sample BLOB operations: Get, Put, Read range,
etc.
Many SharePoint deployments are file
heavy
Document libraries, Record centers
Where are BLOBs Stored Today?

SharePoint Object Model

Relational Access SQL Server


BLOB & Metadata

Content Config
Database Database

SharePoint stores BLOBs along with its metadata


in the Content DB
BLOBs typically account for 60-70% of total
content
BLOB Storage Issues
1. BLOB data storage issues
• SQL storage is usually more expensive
• SAN vs CAS stores

Pain 2. Performance issues


Points • Impacts load on SQL Server box
3. Manageability costs
• Longer Backup/Recovery times
4. Richer Policy Requirements
• Expunge, BLOB immutability

Remote BLOB Storage (RBS) to the rescue!


• Store BLOB data separate from the Content DB
What is RBS?

SharePoint Object Model

Relational SQL Server RBS


SQL RBS Client Library
Access Maintainer

Provider API Provider Provider Provider Provider


Library X Library Y Library Z Library
Content Config
Database Database

BLOB BLOB BLOB


Store X Store Y Store Z

• A down-loadable, add-in component that can be registered


for a SharePoint farm
• Store for all BLOBs added to the content DBs where the
Provider is set Active
• Customers can choose BLOB store Providers
RBS vs EBS
SharePoint introduced External BLOB Storage (EBS) in
SharePoint 2007 SP1
EBS will be supported with SP 2010
EBS on deprecation list, support will end in a future release

SharePoint 2010 will introduce SQL Remote BLOB Storage (RBS)


Storage architecture unified in SQL platform(SQL 2008R2)
EBS  RBS migration can be performed via PowerShell commands

SQL Remote BLOB Storage(RBS)


WSS External BLOB Storage (EBS)

i nt
o P
reP 0 S int port
ha 10 1 P o
S 2 0 20 a re Sup
o ws SP1 oi nt int e
Sh EBS
o r (
ind ices a reP
a r eP ut u a se
F le
W rv
Se Sh Sh Re d s )
En
RBS Advantages over EBS

Feature EBS RBS


Interface Unmanaged Managed

BLOB Store Scope Farm Content DB

Configurable Maintainer No Yes

SharePoint UI None PowerShell

Number of Providers 1 Many

Migration Custom PowerShell


Why use Remote BLOB Storage?
Optimal capital expense
• Trade cost effective BLOB storage for expensive SQL storage
• Ability to group/store BLOBs separate from Metadata

Optimal operational expenses


• Storage management beyond SQL
• Facilitates cost effective/optimal backup/DR policies for BLOBs vs Metadata

Take advantage of advanced data storage features provided by BLOB store


vendors
• Expunge, multiple storage locations, immutable writes
• Guaranteed retention, guaranteed deletion

Hierarchical Storage Management


• SQL and layers of BLOB stores offer more savings in CapEx and OpEx
• Efficient access patterns
Who Provides RBS BLOB Stores?
• A number of Storage vendors are working on
RBS provider support for SharePoint 2010

… and more coming!


How Does RBS Work?
RBS is a downloadable component in the SQL
Server 2008 R2 Feature Pack
Includes a set of libraries and interface specifications
Defines and exposes 3 views for interaction
Application View
Interacts with SharePoint WFE, Provider Library, SQL DB
Implemented by SharePoint 2010 – Transparent to the user
Administrator View
PowerShell commandlets – calls set of SPs, functions in SQL
Installation, configuration, provisioning, RBS Maintainer etc.
Provider View
Defines an interface that should be implemented by each
BLOB store provider
A Typical RBS Workflow – Save document

SharePoint Web FE
7. Back to User
2.
Enforce SharePoint Object Model
1. Save Request Biz
Logic

Relational Access SQL Server


RBS Client Library
6. Save
3. Save BLOB Metadata
& BLOB ID
5. Return BLOB Id Content Config
Database Database
BLOB Store Provider
Library

4. Write BLOB

BLOB Store
A Typical RBS Workflow – Read document

SharePoint Web FE
7. BLOB Data to User
2.
Enforce SharePoint Object Model
1. Open Document Biz
Logic

Relational Access SQL Server


RBS Client Library
3. Get
4. Read BLOB BLOB Id

6. Return BLOB Content Config


Database Database
BLOB Store Provider
Library

5. Read BLOB

BLOB Store
RBS demo

demo
How do I Install RBS with SharePoint?

RBS
Component

The RBS Add in must be installed on SQL first


Supported version - SQL RBS 2008 R2
RBS and Provider DLLs must be installed on all Web
Front Ends
Confirmation in ULS Log
A confirmation test of the farm is advised
RBS must be enabled using PowerShell
How do I Configure RBS ?

PowerShell Commandlets:
Enable/Disable
Enables/Disables usage of RBS with SharePoint

GetProviderNames
List of all registered Providers
Registered Providers are kept track of in Config DB

SetActiveProvider
One active provider/BLOB store per Content DB
Other BLOB stores can be used for read operations
How do I Migrate BLOB Data to RBS ?

Use Power shell Commandlet - Migrate


Moves BLOBs from current location to the current Active
RBS Provider store.
Does deep copy of BLOBs – one BLOB at a time
Live Migration – no downtime is required
Migration process can be terminated and resumed
Changing Provider can be done with migration back
through Content DB

Migrate – can be used for upgrade from EBS to


RBS
We are considering a shallow migration framework in a
future release
RBS Maintainer

SharePoint Object Model

Relational SQL Server


SQL RBS Client Library RBS
Access Maintainer
Provider API Provider Provider
Library X Library
Content Config
Database Database

BLOB
Store X

A separate process that does garbage collection and


maintenance tasks
Can be installed on the DB server or any WFE in the farm
Can be scheduled as a task to run periodically
Settable retention policy for BLOBs
Retain deleted BLOBs live a certain amount of time before collected
Backup and Restore
Order of Operations
Backup:

Backup Start Both Backups Complete


SQL
BLOB Store

Restore:
Restore Start Both Restores are Complete
BLOB Store
SQL
Backup and Restore

Method EBS RBS

OM backup Yes Yes

PRIME Yes Yes

SQL Backup No No*

Site Move No No
RBS – Performance Impact
RBS API’s add little to no overhead

SharePoint expects providers to have the following


performance impact:
• Throughput: 5 to 10 percent degradation
• Average Response time: Impact should be minimal as file
size increases
• SQL CPU Usage: 20% for small files, minimal impact for
large files
RBS Provider Requirements
Required
Implementation of RBS provider Interface
Allow use of multiple instances of Providers
Guarantee persistence of BLOBs
Guarantee Link-Level Consistency

Desirable
Backup, HA and Disaster recovery capability
Data de-duplication
Expunge, Immutability of BLOBs
What Versions are Supported?
SQL Server 2008 SQL Server 2008 R2
RBS 2008 Not Supported Not Supported
RBS 2008 R2 with Supported Supported
FILESTREAM Provider

RBS downloadable is available with the release of SQL


Server 2008 R2
Release date: aligned with SharePoint 2010
CTP Release of RBS
Released with SQL Server 2008 R2
Availability around Nov. 9th, 2009
Licensing
Deploying SharePoint+RBS requires SQL Server Enterprise
Edition
Example Customer Scenario

RBS
Provider

RBS
BLOB store
Summary & Takeaways

RBS provides advantages in BLOB heavy


deployments
Reduced storage costs
Reduce load on SQL Server boxes
Leverage richer policies for BLOB management

Standardized API set allows choice of Providers

Seamless migration of BLOB data to RBS stores


Q&A
More Information:
SQL RBS team blog http
://blogs.msdn.com/sqlrbs/
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market
conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

You might also like