SharePoint 2010: Оптимизируйте SharePoint за счет использования внешнего хранилища

OSzone.net » Microsoft » Sharepoint » SharePoint 2010: Оптимизируйте SharePoint за счет использования внешнего хранилища
Автор: Икбал Хан
Иcточник: Журнал TechNet
Опубликована: 31.03.2011

SharePoint ясно доказал свою способность служить основной платформой для организации совместной работы. Такая работа подразумевает совместное использование документов, поэтому помимо других возможностей SharePoint поддерживает управление документами. По этой причине многие используют SharePoint как место хранения своих документов, чтобы было проще совместно использовать их с другими.

При добавлении документов в SharePoint размер базы данных увеличивается. Обычный размер документа составляет от 500 КБ до 2 МБ, иногда больше. Когда речь идет о добавлении в SharePoint сотен, тысяч или даже миллионов документов, возникает проблема хранения и обработки такого огромного объема. SharePoint хранит все эти документы в базе данных SQL Server. При приближении размера базы данных к определенному порогу становится трудно ею управлять и падает производительность — как SharePoint, так и SQL Server.

Как и другие реляционные базы данных, сервер SQL Server разрабатывался для хранения структурированных реляционных данных, а не документов (в терминах SharePoint они называются большими двоичными объектами, или BLOB). SharePoint хранит все документы в базе данных как большие двоичные объекты, а в этом случае размер базы данных SQL Server может расти особо быстро (рис. 1).

*

Рис. 1. Увеличившаяся в размере база данных становится «бутылочным горлышком», снижающим производительность

Ситуация остается под контролем, пока размер базы данных SQL Server не превышает 20 ГБ. Во многих случаях база данных SQL Server увеличивается до сотен гигабайт или даже может достигать терабайта. При таком размере операции управления базой данных становятся намного более сложными и трудоемкими, а неполадки устраняются труднее. Простые операции резервного копирования и восстановления приобретают совершенно другой смысл.

Кроме того, когда все документы хранятся в SQL Server, может страдать производительность SharePoint. В SharePoint предусмотрен простой механизм хранения документов в SQL Server, который позволяет архивировать старые документы на более дешевых носителях, обеспечивая хранение документов на протяжении предписанного регулирующими органами обязательного срока хранения.

Переносите большие двоичные объекты во внешние хранилища, оптимизируйте хранение

Единственное действенное решение проблемы хранения проблем производительности состоит в переносе всех документов (больших двоичных объектов) из базы данных SQL Server во внешние хранилища. Помимо прочих преимуществ, эта процедура позволит моментально уменьшить почти на 95% размер базы данных SQL Server. В этом случае независимо от размера и числа документов, размещенных в SharePoint, размер базы данных SQL Server будет оставаться небольшим, потому как все документы будут размещаться на внешних носителях.

SharePoint предоставляет два механизма вынесения BLOB-объектов во вне. Первый называется EBS (external BLOB storage) и поддерживается Microsoft Office Server 2007 SharePoint и SharePoint 2010. Однако в составе SharePoint нет готовых провайдеров EBS — придется воспользоваться сторонним провайдером EBS.

Помимо EBS сервер SharePoint 2010, работающий в связке SQL Server 2008 R2, поддерживает механизм удаленного хранения больших двоичных объектов, или RBS (remote BLOB storage). В отличие от EBS, в SharePoint 2010 есть готовый провайдер RBS для потоковой передачи файлов. По сути, RBS — это новая функциональность SQL Server 2008 R2, которая, собственно, и используется в SharePoint 2010. Предоставив RBS в составе SQL Server 2008 R2, компания Microsoft по существу признала, что неразумно хранить большие двоичных объектов в базе данных — практически всегда оказывается удобнее размещать их во вне.

Установив «родной» или предоставленный сторонним поставщиком провайдер EBS или RBS, вы сможете быстро вынести свои большие двоичные объекты из SQL Server. Большинство этих провайдеров устанавливаются на внешние веб-серверы и предоставляют средства администрирования с графическим интерфейсом (обычно входящего в состав графического интерфейса администрирования SharePoint).

После подключения модуля EBS или RBS к веб-серверам SharePoint переправляет в них все запросы документов (на чтение или запись). Этот модуль тогда отвечает за чтение или запись BLOB-объектов во внешнее хранилище. Таким образом все документы, созданные или измененные во время исполнения, автоматически сохраняются на внешних носителях.

Варианты внешнего хранения

Решив использовать провайдер RBS или EBS стороннего производителя, надо выбрать один из многих вариантов хранения (рис. 2). Перед переносом BLOB за пределы базы данных необходимо сделать выбор. Вот возможные варианты.

.

*

Рис. 2. Хранение BLOB-объектов в SharePoint во внешнем RBS- или EBS-хранилище

Поставляемый в составе SharePoint провайдер RBS предлагает только один вариант хранения — в файловой системе. Однако можно воспользоваться решениями сторонних поставщиков, которые могут оказаться намного проще в работе и поддерживать больше вариантов хранения.

Миграция BLOB-объектов без простоев

В очень больших базах данных SharePoint перенос всех BLOB-объектов из базы во внешнее хранилище может занять много времени. Однако на время переноса BLOB-объекты сервер SharePoint останавливать нельзя.

Решение стороннего поставщика поможет запустить процесс перемещения, не прекращая доступ пользователей к SharePoint. Вы сможете следить за процессом перемещения, а в это время пользователи получат возможность читать и записывать документы в SharePoint. Все документы, добавленные или измененные во время миграции, будут также перемещены в процесс переноса.

Поскольку перенос больших двоичных объектов из базы данных занимает довольно много времени, используемый при этом провайдер должен предоставлять определенные возможности:

Простота импорта унаследованных документов

Если у вас много старых документов, которые вы недавно отсканировали или еще не перенесли в SharePoint, надо подумать, как лучше это сделать. Можно задействовать стандартную функцию импорта SharePoint и загрузить все документы в базу данных SQL Server, но это нежелательно по двум причинам: во-первых, хранить такое большое количество больших двоичных объектов в SQL Server неразумно, а во-вторых, копирование такого большого объема данных из места их хранения в базу данных SQL Server не самая удобная процедура. Скорее всего, старые документы хранятся в файловой системе. Если для переноса во внешнее хранилище использовать провайдер стороннего поставщика, лучше всего переместить их во внешнее хранилище самостоятельно, после чего запустить функцию импорта, предусмотренную в стороннем провайдере. Такой процесс импорта должен просто итеративно «пройти» по папкам этого хранилища, добавляя в базу данных SQL Server только метаданные проанализированных документов. Это ускорит импорт унаследованных документов.

Многоуровневое хранение и архивирование

Теперь при переносе документов из базы данных SQL Server во внешние хранилища надо определить уровни хранилищ (рис. 3). У каждого уровня есть свой приоритет:наиболее активно используемые и самые новые документы размещаются на самом высокоприоритетном уровне. Менее активно используемые и старые документы размещаются на менее приоритетных уровнях.

Многоуровневость хранилища предоставляет определенные преимущества. Во-первых, можно увеличить общий размер системы хранения, так как каждый уровень скорее всего представляет собой отдельное физическое хранилище. Во-вторых, вы можете добиться повышения производительности SharePoint, потому что на каждом активном уровне будет храниться меньше документов. Это позволит SharePoint быстрее получать документы из папок.

*

Рис. 3 Многоуровневое хранение и архивирование позволяет удовлетворить требования по производительности и размеру хранилища

Еще одна важная особенность многоуровневого хранилища — возможность определять правила архивирования. По мере устаревания документов их можно перемещать на менее приоритетные уровни. Кроме того, старые документы изменяются нечасто, поэтому можно упростить общие задачи по управлению документами (в том числе резервное копирование и восстановление).

Автоматическое архивирование также полезно, если компания вынуждена выполнять определенные требования закона или регулирующих органов, например хранить документы в течение определенного периода времени, но вы не хотите перегружать данными первый уровень хранилища. Архивирование старых документов на втором уровне освободит пространство на первом уровне.

Архивирование также позволяет удалять документы, если правила предписывают удаление тех или иных данных по истечении определенного времени. Можно настроить систему на автоматическое выполнение всех задач архивирования.

Помимо других преимуществ, внешнее хранение — если оно основано на решении сторонних поставщиков, позволяет кешировать в оперативной памяти данные списков и больших двоичных объектов. Кеширование BLOB-объектов на внешних веб-серверах сильно сокращает время отклика SharePoint и делает этот сервер более масштабируемым, потому что кеширование избавляет от необходимости дополнительных обращений к базе данных и даже во внешнее хранилище (рис. 4).

*

Рис. 4 Кеширование BLOB-объектов и списков для повышения производительности SharePoint

Можно определять, сколько памяти должно выделяться под кеш на внешних веб-серверах. Это позволяет регулировать объем памяти, доступный другим приложениям. Вы также можете определять время жизни BLOB-объектов и списков в кеше, чтобы они хранились там только необходимое время.

Перемещение документов из базы данных SharePoint может оказаться непростым делом, но это позволит хранить их во внешнем хранилище, что является важным преимуществом. Помимо этого производительность SharePoint можно повысить за счет использования кеширования. Но перед внедрением этого решения надо тщательно взвесить все преимущества переноса больших двоичных объектов во внешнее хранилище с использованием EBS- или RBS-провайдеров сторонних поставщиков.

Материалы по теме

       

Ссылка: http://www.oszone.net/14862/SharePoint_2010