В мае 2007 г. Microsoft выпустила оперативное исправление для Windows SharePoint Services 3.0 и Microsoft Office SharePoint Server 2007. которое позже вошло в состав Service Pack I. В нем имелся программный интерфейс внешнего хранения BLOB-данных (External BLOB Storage API — EBS), который позволял хранить BLOB-объекты вне баз данных контента с помощью реализации наборов интерфейсов. Идея была революционной, но реализация EBS была сложной, т.к. требовала использования неуправляемого интерфейса. Поэтому с этой частью приходилось справляться с помощью сторонних разработчиков или независимых поставщиков ПО (independent software vendor — ISV). Кроме того, в EBS имелись некоторые ограничения, например, ее можно было активировать лишь на уровне ферм, но не на уровне баз данных контента.
В Microsoft тщательно проанализировали отзывы клиентов и решили устранить болевые точки в хранении BLOB. В SharePoint 2010 можно выносить хранение BLOB-объектов ссерверов баз данных в стандартные решения для хранения данных с помощью технологии удаленного хранения BLOB, которая появилась в SQL Server 2008.
часть II
Удаленное хранение вюв
Удаленное хранение BLOB (Remote BLOB Storage — RBS) представляет собой библиотечный API, предназначенный для вынесения хранения больших двоичных данных (BLOB) из Microsoft SQL Server в решения внешнего хранения. RBS оформлен как добавочный пакет возможностей для Microsoft SQL Server 2008 и Microsoft SQL Server 2008 Express, а затем и для SQL Server 2008 R2 и SQL Server 2008 R2 Express.
Используя RBS, приложения могут хранить большие объемы неструктурированных данных (например, документы Office, PDF-файлы или видеофайлы) и использовать как реляционные возможности SQL Server, так и масштабируемость выделенных хранилищ BLOB-объектов. Замечательно, что разработчикам не нужно писать код для связывания метаданных SQL и BLOB-данных: всю транзакционную совместимость RBS полностью берет на себя.
Приложения хранят и выбирают BLOB-данные с помощью вызовов функций из клиентской библиотеки RBS. Независимые разработчики ПО и поставщики решений хранения данных могут создать свою собственную библиотеку поставщика RBS (RBS Provider Library), которая позволит использовать специализированные хранилища в приложениях, написанных с помощью набора RBS API. Microsoft даже создала поставщик с именем FILESTREAM RBS, который поставляется с RBS 2008 R2 и может использоваться для хранения BLOB в базовой файловой системе NTFS. Поставщик FILESTREAM RBS связывает технологию RBS с возможностью FILESTREAM, введенной в SQL Server 2008.
В SharePoint 2007 не использовались новые возможности SQL Server, введенные для неструктурированных данных в SQL Server 2008, наподобие атрибута FILESTREAM или технологии RBS. Вместо этого в SharePoint 2007 была предусмотрена собственная технология повышения эффективности использования памяти и управляемости больших объектов данных — внешнее хранение BLOB (External BLOB Storage — EBS).
SharePoint 2010 поддерживает RBS и может задействовать поставщик SQL Server FILESTREAM RBS, что позволяет удешевить хранение данных и существенно повысить производительность. Принцип работы RBS с SharePoint 2010 показан на рис. 9.16.
SharePoint WFE |
|
г |
г % |
|
Клиентская |
Объектная модель SharePoint |
библиотека |
|
SQLRBS k. J- |
Реляционный доступ |
MS SQL Server
i(TDh
Хранилище ^ BLOB Z _
Управление и сопровождение SQL Server в среде SharePoint 2010 |
|
Глава 9 |
/э/ |
В SharePoint 2010 поставщик FILESTREAM RBS можно также использовать для преодоления ограничения 4 Гбайт в SQL Server Express. В отличие от Windows SharePoint Services 3 0, в SharePoint Foundation 2010 не применяется механизм Windows Internal Database, который и обуславливает этот предельный размер базы данных. Пользователи Windows SharePoint Services 3.0 при модернизации своих ферм могут нарваться на ситуацию, когда внутренняя база данных имеет размер больше 4 Гбайт, а это превышает ограничение в SQL Server Express. Тогда им предлагается загрузить поставщик FILESTREAM RBS, который позволяет вынести BLOB-данные в базовую файловую систему.
Сравнение RBS и EBS
Как уже было сказано, технология EBS была ранней попыткой Microsoft в SharePoint 2007 SP1 помочь клиентам вынести свои BLOB-данные из баз данных контента. Однако для EBS были характерны трудность реализации и некоторые ограничения. EBS была введена как средство немедленной помощи и эволюционный этап, который позволяет позже перейти на технологию RBS. EBS продолжает поддерживаться в SharePoint 2010, но она не рекомендуется для использования, что означает, что ее поддержка закончится в будущих выпусках SharePoint. Однако Microsoft рекомендует использовать RBS в SharePoint 2010 не только поэтому, но и из-за большей мощности и управляемости RBS. Некоторые преимущества RBS по сравнению с EBS приведены в табл. 9.1.
Читать дальше