Управление большими списками в SharePoint 2010

Как вы знаете, в SharePoint 2010 Service Pack 1 произошли изменения в ограничениях для хранилищ данных. Рекомендую ознакомиться со статьей и дополнительной информацией, ссылки на которую можете найти там же. Если вы уже используете большие списки, то надеюсь, что при работе с ними у вас не возникает больших проблем.

Если у вас есть списки с количеством элементов, превышающим 5000, то могут возникнуть проблемы. Первая мысль, которая приходит в голову, это увеличить ограничение на число элементов (рис. 1). Звучит просто, не так ли? Сначала вы можете не заметить последствия, но по мере увеличения объема списка порога может и не хватать. Руководство Designing Large Lists and Maximizing List Performance настоятельно рекомендует не изменять значение параметра по умолчанию.

image

Рис. 1. Параметры регулирования ресурсов веб-приложения

Также в документе описано, что перестает работать при превышении числа элементов в списке

  • Добавление/удаление/изменение столбца списка
  • Добавление/удаление/изменение типа контента списка
  • Создание/удаление индекса
  • Управление файлами без возвращенной версии
  • Удаление списка
  • Удаление сайта
  • Сохранение списка с данными в качестве шаблона
  • Отображение итогов в представлениях списка
  • Включение/отключение вложений
  • Разрешения на уровне списка и его элементов

Полезную информацию для себя можете найти в серии обучающих видео Списки SharePoint: работа с большими списками, а также в Кратком справочнике по работе с большими списками.

Принципы управления большими списками:

  • Создание и использование индексов – индексы позволяют использовать представления списка с отфильтрованными элементами с количеством элементов, не превышающим максимально допустимое для представления. Создать новый индекс можно в параметрах списка, кликнув под группой Столбцы на Индексированные столбцы.
  • Управление большими списками с помощью папок – для списков данная возможность по умолчанию отключена (активируется в дополнительных параметрах списка). Даже если в списке хранится больше элементов, чем пороговое значение представления списка, можно организовать хранение с использованием папок (при этом возможно придется использовать вложенные папки), и проблема с ограничениями будет решена.
  • Представление таблицы данных – при использовании служб Access можно использовать представление таблицы данных размером до 50100 элементов.
  • Ежедневный временной интервал для больших запросов – для добавления индекса, столбца или других изменений лучше настроить ежедневное окно для больших запросов (это время, в которое можно просматривать фильтры и представления без ограничений). Замечание – настроить данный параметр (рис. 2) может только администратор фермы в параметрах веб-приложения.

image

Рис. 2. Настройка ежедневного окна для больших запросов

  • Быстрая фильтрация данных с помощью ключевых фильтров – поля с некоторыми типами данных можно использовать в качестве ключевых фильтров, после чего пользователи могут просматривать содержимое большого списка в рамках определенного ими диапазона. Для настройки ключевых фильтров в параметрах списка перейти к Настройке навигации для метаданных и выбрать поля из списка.
  • Перенос списка за пределы сайта группы
    • SharePoint Workspace – с помощью данного инструмента можно синхронизировать до 30000 элементов. Удобно, что при синхронизации передаются только данные в измененных элементах.
    • Excel – можно синхронизировать до 52000 элементов, но при этом изменения, сделанные в файле, не отразятся на портале.
    • Access – возможность изменять данные в клиентском приложении (при этом изменения отражаются на портале).

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

Ссылки

Manage lists and libraries with many items

Working with Large Lists in SharePoint 2010 – List Throttling

Capacity planning for a large scale document repository

Programmatically Using the Object Model Override for the List View Threshold

Обработка больших папок и списков

Managing Large Lists in SharePoint for Users and Site Admins

7 thoughts on “Управление большими списками в SharePoint 2010

      • Т.е. если ошибочно “залил” список из, например, 10000, то его, получается, можно грохнуть только путем удаления по 100 записей :(

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

  1. Есть список в котором более 3000 элементов. Создали папку, в которую нужно переместить часть элементов. Но в режиме “Содержимое и структура” при кликании на нужный список тут же вылетает ошибка.

    Возникла неожиданная ошибка.
    Устранение неполадок в работе службы Microsoft SharePoint Foundation.
    Идентификатор взаимосвязи: 6d583340-30a0-47cc-9120-b45d2d1d7061
    Дата и время: 02.04.2013 12:54:17

    По логам ничего не понять. Гугл про такие ошибки ничего не выдает.

    Куда копать? Список основной (можна сказать, что на нем все держится) – пересоздать со структурой папок кажется невозможным, так как используется во всех других списках как подстановка.

    Помогите, пжлста :)

    • Попробуйте все же логи посмотреть, возможно тот же Event Viewer что-нибудь показывается. Или поставьте ULS Log Viewer, чтобы смотреть логи SP в более удобном виде.

      Если это не поможет, можете выводить какое-то более user-friendly сообщение об ошибке.

  2. все это, все эти рекомендации – ХЕРНЯ! БООООООООООЛЬШАЯ, прям ОГРОМАДНАЯ херня. у нас требование по 4000 новых заявок в день!!! раскладываем по папкам – ясень пень, никакие индексы (причем мега глючные как показывает практика) – не помогают вывести нужное представление, падает с трелдшотом. писали свой фильтр который при выводе ограничивает по ID по 5 тыщ, ну плюс индексы на поля и фильтр по ним типа “где я ответственный” позволяет еще расширить диапазон до 100 тыщ просматриваемых элементов. самое тошное во всем этом, решение тормозит, жутко тормозит, выгрузку в excel любого кол-ва выполнить нельзя. тормоза на стороне БД – запросы выполняются медленно, ибо индусы все запросы хинтами упичкали типа Join hints и Force order (если которые удалить, запросы за доли секунд, а так по 50 сек).
    Короче – если у вас планируется больше 5000 элементов на список, или суммарно всех списков в одной коллекции с общим кол-вом строк в 400 тыщ – НЕ ПОЛЬЗУЙТЕСЬ SP. ну и как вы догадались, в нормальной конторе только справочник договоров больше 5 к , т.е. SP – только для детского баловства пригоден.

Leave a comment