Friday, November 2, 2012

Fie Storage Solutions for SharePoint 2010


Remote Blob Storage (RBS) allows you to work with large files in SharePoint by placing them on an external source of storage, completely transparent to the end-user. For example, you can configure a RBS to store all files greater than 100mb on an external drive or a network share folder.  In this way the method that currently is used in the portal for uploading “example: drivers, etc.” remains the same, no other user intervention required.

To setup the remote blob storage for SharePoint, requires a SQL Administrator. Since the heart of the implementation and configuration must happen on SQL. Very few configuration steps are taken in SharePoint CA, beside the usual file limitation settings and file types.

What are the drawbacks of Remote BLOB Storage?

·         One of the major side effects of RBS is that you cannot use database mirroring when RBS is enabled. Clustering and log shipping are still supported, but if we currently use or plan to use mirroring then RBS is probably not an approach to consider.

·         We should be aware that individual RBS providers may or may not support native SQL backups. Fortunately, SharePoint backups, however, will include any files stored in BLOB storage regardless of whether the RBS provider supports native SQL backups.

·         We should also be very wary of the fact that data is being stored in a location outside of the database and any implications that may have for security and reliability.

·         Another issue we may encounter is that BLOB retrieval performance may be negatively impacted if you move the BLOB store to a slower hard drive. This can also be true if the BLOB store is hosted on a networked location where bandwidth is limited or latency is an issue. On the other hand, BLOB retrieval performance may improve if the hard drive you place it on is faster than the SQL drive. The recommended solution for our environment is to have the location be on the same WFE server in the “data drive” so that it gets backup and replicated automatically.

·         It is also worth noting that RBS is enabled at the content database level, not the site collection level. This means that if you have multiple site collections in a content database, enabling RBS on that content database enables RBS on all of those site collections. If this is not the desired behavior, then we may need to move site collections to other content databases.

·         Finally, Microsoft has stated that it is not guaranteeing that RBS will seamlessly migrate to the next version of SharePoint.  You can always "undo" RBS and pull everything back into the database.

·         Remote BLOB storage will not get around the 2 gigabyte limit for files in SharePoint.

What are the benefits of Remote BLOB Storage?

·         Database size is reduced. Having a smaller database can be extremely beneficial if you are running out of disk space on your SQL server and don't have the ability to add additional disks.

·         Prolongs use of SQL Express. If you are using SQL Express in your SharePoint environment but you are bumping up against the 4 gigabyte database size limit (10 gigabytes in R2) associated with the free edition of SQL Server, then you can use RBS to offload data from the database. Since the data is not in directly in the database it does not count against the size quota.

·         Cheaper file storage. Database hard drives tend to be fast and expensive, so archiving a large number of files that are rarely accessed on those disks is not always the best use of fiscal resources. In as much as RBS allows you to move BLOB storage to fast hard drives and see a performance benefit, you can also move them to slower, cheaper hard drives for a budgetary boost when performance is not as much of a concern.

·         Database backup time reduced.  As database size increases, so does the time to back up the database. If you have a specific maintenance window in which the backup has to occur, the database can grow so large that it becomes difficult or impossible to complete in that time frame.  By offloading the BLOB store, the database size is reduced and the database backup time can be reduced as well. You will still need to make a backup of the BLOB store, but that can be done using a separate parallel process.

·         Large BLOB performance benefits. Streaming data from a file stream can outperform streaming data directly from a database.  However, setting up SQL server for use of a remote file stream is an expensive process.  For small files (less than 60KB), it may not be beneficial to bother with a file stream at all. For larger files it can be very beneficial. Fortunately, RBS allows you to configure certain file size thresholds to store smaller files directly in the database and larger files using RBS, so they reside in a location where performance is optimal.

Network Share File Location.

File can be stored on a network share location. A network UNC path can be used to access these files. The folder permission for this location would have rights for the appropriate Users to download the file. However, the SharePoint upload function is nonexistent; the user would have to manually store the file into the network share location.

A custom SharePoint List can be utilized to add “Title and Descriptions” of the files plus a hyperlink to download. However, this is totally outside the scope of SharePoint and does not benefit from a SharePoint backup, nor SharePoint Alerts or any other modifications that could happen in the network Share folder. The network Share folder location would have to remain with the same UNC path name and must be added to an alternative backup solution in the environment.

No comments:

Post a Comment