вторник, 25 января 2022 г.

Многострадальным администраторам программы M.E.Doc посвящается!. Укрощение монстра. 2 серия (Победа!).

Больше года назад я провел очередной эксперимент по уменьшению базы программы MeDOC. В тот раз все закончилось отсутствием в программе возможности выгружать в архив документы, которые собственно и раздувают базу.
Я на форуме MeDOC создал тему на эту тему
И вот, спустя уже больше года, вышло обновление 11.02.066, в котором видим:

К счастью у меня сохранилась стендовая виртуалка с прошлого эксперимента

40 обновлений это надолго

Размер базы на начало эксперимента следующий:

После того, как мы обновились до актуальной версии переходим к архивированию документов (в первую очередь J1312603, F1312603, J1314901, F1314901, 1312303, F1312303, J1360102, F136010 - всех, которые предполагают прикрепление "документів довільного формату")

Помістити в архів
12Gb в архиве

После помещения в архив 12 гигабайт документов, размер исходного файла не изменился.
Проделываем с ним все, что я описывал в предыдущем посте:

Переименовываем нашу подопытную базу в zvit.fdb.old (у меня она лежит в папке документы пользователя User), после чего запускаем интерфейс командной строки windows

Win-R
cmd

Переходим в каталог установки Firebird:

cd "c:\Program Files\Firebird\Firebird_3_0"

Делаем бэкап нашей базы:

gbak.exe -b -user SYSDBA -pass masterke -v -g \Users\User\Documents\zvit.fdb.old \Users\User\Documents\zvit.fdb.bak

Начнется весьма продолжительный процесс создания бэкапа:

Разворачиваем бэкап с созданием новой базы:

gbak.exe -user  SYSDBA -pass masterke -v -c \Users\User\Documents\zvit.fdb.bak \Users\User\Documents\zvit.fdb

Смотрим что у нас вышло:

5Gb вместо 21Gb

В итоге папка db нашего Медка теперь выглядит так:

5Gb база и 12Gb архив
Резюме
Наконец то, спустя 6 лет после первых попыток, мне удалось существенно уменьшить размер базы медка и ускорить его работу
P.S.
Пару обновлений назад была анонсирована поддержка сетевым Медком PostgreSQL - дальнейшие надежды связываю именно с использованием нормальной СУБД

3 комментария:

  1. Доброго дня, можете поділитися як зараз працює медок на базі PostgreSQL?

    ОтветитьУдалить
    Ответы
    1. Я на PostgreSQL не пробовал - только прочитал про появившуюся поддержку

      Удалить
    2. перешел 10 месяцев назад. работает хорошо

      https://4admin.info/medoc-migrating-postgresql/

      Удалить