Пакетировать

Материал из ODANT Wiki
Перейти к: навигация, поиск

Пакетировать - собирать объекты в классе в пакеты. Пакетирование изменяет способ хранения объектов в классе. Объекты в классе хранятся в файлах, один файл - один пакет.

Пакетирование - это фактически динамический фильтр по полю или выражению, в соответствии с которым объекты сохраняются в базе. Пакет - конечный файл (*.oml) в котором хранятся объекты, соответствующие пакетным фильтрам. При изменении значений фильтров в объектах, объекты могут мигрировать из пакета в пакет.

Пакетирование очень эффективно в нескольких случаях: 1. Пакетирование по времени. Применяется для документов, проводок и т.п. Позволяет поддерживать постоянную высокую производительность при работе с документами, т.к. как правило, пользователи активно работают с новыми документами и лишь изредка обращаются к старыми. Соответственно, новые документы постоянно попадают в новые пакеты, а старые пакеты хранятся, но не задействованы в работе. Пакеты по дате можно устанавливать по дням, по месяцам или по годам. Период пакетирования выбирается в соответствии с предполагаемой интенсивностью формирования документов в классе. Чем выше интенсивность, тем меньше период пакетирования. Оптимально чтобы в 1 пакет входило от 1 000 до 10 000 документов.

2. Пакетирование для экономии сетевого трафика. Спакетированные данные могут быть вызваны полностью (по пакетам млм, по маскам пакетов), это позволяет загружать на клиентское рабочее место не все данные, а только необходимые для работы, что существенно экономит и трафик и время загрузки (при узком канале). Например, справочники можно пакетировать по алфавиту (по первой букве из названия объекта), т.к. обычно, их чаще всего по алфавиту и рассматривают.

3. Статусное пакетирование применяется для выделения наборов объектов в некие статусные группы (например: письма прочитанные, непрочитанные, удаленные и т.д.)

4. Смешанное пакетирование - можно задать все формы пакетирования одновременно, настройка пакетирования предполагает такую возможность (главное потом, не запутаться в многоэтажных группировках  :-))

Внимание! Если вы пакетируете или перепакетируете класс, уже имеющий данные, то это может занять какое-то время (в зависимости от количества имеющихся объектов), т.к. процедура достаточно сложная и ресурсоемкая.