НАЧАЛО >> Оглавление >> Серверный АРМ Администратор ИРБИС 64 >> Основные режимы работы >> Режимы АКТУАЛИЗАЦИЯ >> Режим СОЗДАТЬ СЛОВАРЬ ЗАНОВО
Содержится в пункте АКТУАЛИЗАЦИЯ главного меню.
Режим служит для формирования заново всего файла словаря (инвертированного файла) на основании всех документов текущей БД.
Режим применяется в случае, когда необходимо актуализировать инвертированный файл в связи со значительным количеством неактуализированных документов (т.е. когда значение системного параметра ЗАПИСЕЙ НЕАКТУАЛИЗИРОВАННЫХ достаточно велико по сравнению с общим объемом базы данных), а также в случае восстановления БД после ее разрушения или утраты.
Процесс формирования словаря заново для больших баз данных может оказаться достаточно продолжительным - поэтому система предлагает возможность поэтапного выполнения этого процесса. Для этого существуют три подрежима, реализующие основные этапы процесса создания словаря:
|
Этапы должны выполняться строго в той последовательности, как они указаны в меню. |
Процесс формирования инвертированного файла - полностью или отдельные его этапы - завершается выводом соответствующих сообщений.
Режим является монопольным, т.е. вызывает монопольную блокировку БД.
|
ВНИМАНИЕ! Если процесс формирования инвертированного файла или его отдельные этапы завершаются аварийно - завершающее сообщение не получено, - необходимо запустить их повторно. При этом аварийное завершение полного процесса или его последнего этапа (ТОЛЬКО ЗАГРУЗКА) означает, что инвертированный файл БД разрушен (является недоброкачественным). Если повторный запуск процессов не приводит к положительному результату, необходимо провести действия по восстановлению БД в целом. |
Введена МНОГОПРОЦЕССОРНАЯ технология для режима СОЗДАТЬ СЛОВАРЬ ЗАНОВО, что позволяет СУЩЕСТВЕННО ускорить выполнение этого режима (дополнительно используется исполняемый модуль IrbisMultiLoad.exe).
Выигрыш по времени получается существенным на БОЛЬШИХ БД (>100 тыс.) и при количестве ядер (процессоров) не менее двух.
В связи с этим введен параметр в IRBISA.INI в секции [MAIN]
MULTILOAD=N
где N - количество параллельных процессов.
Значение параметра MULTILOAD по умолчанию - равно реальному количеству ядер/процессоров в системе.
Также введен дополнительный параметр (в секции [MAIN]):
MULTISORT=
который имеет смысл ТОЛЬКО при MULTILOAD>1 и определяет: используется (значение 1 - по умолчанию) или не используется (значение 0) многопроцессорная обработка на этапе СОРТИРОВКИ при создании словаря.
|
Введение данного параметра связано с тем, что при определенных условиях (зависящих от кол-ва процессов и объема БД) многопроцессорная сортировка оказывается МЕДЛЕННЕЕ однопроцессорной. Связано это с тем, что собственно процесс сортировки включает разбиение исходных данных на части. Тестирование показало, что на двухядерной машине (MULTILOAD=2) при любых объемах БД многопроцессорная сортировка (MULTISORT=1) идет быстрее, чем однопроцессорная. А вот на машине с 8 процессорами для БД объемом в диапазоне 200-300тыс. многопроцессорная сортировка идет медленнее однопроцессорной (при объемах БД меньше и больше этих значений многопроцессорная "выигрывает") Ниже приводятся результаты испытаний загрузки для БД Электронного каталога объемом 485 тыс.документов на компьютерах разной мощности: Компьютер Pentium Dual-Core (2-ух ядерный) 2.6 ГГц, 2 Гб ОЗУ
Компьютер Intel Xeon 8 процессоров 2.6 ГГц, 2 Гб ОЗУ
|