Платформа 1С позволяет работать с СУБД разных производителей ПП, такими как MS SQL, PostgreSQL, Oracle, DB2. Самая распространенная СУБД для эксплуатации с платформой 1С является MS SQL. В последнее время увеличивается распространенность СУБД PostgreSQL. Многие компании рассматривают возможность внедрения новой инфраструктуры с применением PostgreSQL или оценивают возможность миграции на PostgreSQL. Это задача, которая при определенных условиях достаточно проста. Но как часто бывает, существуют нюансы, которые надо знать, понимать и уметь использовать для успешной реализации проектов миграции.
Исторически ситуация сложилась так, что самая популярная конфигурация систем 1С содержала связку платформы 1С и СУБД MS SQL. 1С рассматривала СУБД MS SQL как наиболее перспективный и массовый программный продукт, что выражалось в более полной поддержке функционала СУБД и проработанных методологий технической поддержки. Таким образом сложилась ситуация, что наибольшее число построенных информационных систем 1С реализованы на базе СУБД MSSQL.
Текущая ситуация в мире привела к тому, что стало невозможно в России официально приобрести СУБД MS SQL и в т.ч. ПП Oracle, DB2. В т.ч. компании оказались без технологической поддержки от производителей ПП СУБД. В таких условиях стало логичным, что для снижения рисков владения ПП и снижения зависимости от решений западных производителей программных продуктов компании стали рассматривать возможность миграции с MS SQL на бесплатное программное обеспечение или платное от отечественных производителей на базе известной СУБД PostgreSQL.
Выбор PostgreSQL
Типовая CУБД PostgreSQL не может работать с 1С без исправлений, реализованных в виде патчей от компании 1С. 1С предоставляет как патчи, так и готовые дистрибутивы содержащие патчи, устраняющие несовместимость с платформой 1С. Сейчас кроме 1С выпускает дистрибутивы PostgreSQL совместимые с платформой 1С несколько крупных производителей ПП.
Анализ исходной системы на базе СУБД MS SQL
Задача миграции на СУБД PostgreSQL достаточно простая для типовых конфигураций 1С. Наибольшую сложность могут вызвать самописные системы 1С и значительно кастомизированные системы 1С или старые не обновляемые конфигурации без оптимизаций алгоритмов и структур хранения с учетом эксплуатации в СУБД PostgreSQL. Необходимо учитывать режим совместимости конфигурации. Для нагруженных систем с высокой конкуренцией доступа к объектам СУБД надо запланировать реализацию задачи повышения уровня совместимости конфигурации, чтобы перевести конфигурацию в режим работы с управляемыми блокировками. При необходимости внести доработки программного кода. Доработки системы 1С в части алгоритмов и пользовательского интерфейса потребуются если исходный режим совместимости был менее чем 8.3.6. Так же при большом объеме хранимых данных в конфигурации при смене режима совместимости может потребоваться большое время на реструктуризацию.
Выполнение установки и настройки рабочего (тестового) контура СУБД PostgreSQL
Задача необходима перед запуском конвертации, для проработки всех регламентов обслуживания операционной системы и СУБД PostgreSQL:
Готовится сервер на платформе Linux. Windows платформа не рекомендуется для эксплуатации PostgreSQL и для Windows нет коммерческих дистрибутивов Enterprise уровня. В подготовку включается планирование выделенных под отдельные цели и назначения логических и физических дисков, количество ядер и объема ОЗУ, настраиваются ряд параметров системы для оптимизации быстродействия.
Готовятся кластеры (инстансы) сервисов PostgreSQL. В подготовку включается расчет и настройка параметров для каждого инстанса. Основное правило, которое надо использовать при планировании размещения баз 1С в инстанс: 1 инстанс - 1 база. Для экономии лицензий PostgreSQL (платные решения) рекомендуется на одном сервер располагать несколько инстанс PostgreSQL.
Для каждого инстанса PostgreSQL настраиваются задачи бэкапирования и обслуживания для обеспечения безопасности хранения данных и быстродействия доступа к данным.
Выполнение тестовой миграции данных в СУБД PostgreSQL
Задача необходима для проверки того, что:
данные, находящиеся в исходной базе данных МS SQL, могут быть сконвертированы в базу данных PostgreSQL
производится замер времени миграции для определения технологического окна, когда система 1С будет недоступна для работы пользователей.
По завершению тестовой миграции в СУБД PostgreSQL необходимо выполнить бэкапирование сконвертированной базы данных и подготовить рабочие места для задач тестирования новой системы.
По итогам работ пунктов 1 и 3 могут быть сформированы задачи на обработку данных и оптимизации отдельных алгоритмов системы.
Для устаревших и не типовых конфигураций может потребоваться переработка алгоритмов и методов, чтобы обеспечить быстродействие требуемого функционала и возможно реализовать ввод ограничений на хранение данных в базе 1С. Для обеспечения оптимальной работы систем 1С рекомендуется использовать последние релизы платформы 1С и СУБД PostgreSQL. Так же надо учитывать, что старые конфигурации могут с ошибками работать с новыми релизами платформы, устаревшие режимы совместимости не в полной мере тестируются и могут содержать ошибки платформы.
Выполнение финальной миграции данных в СУБД PostgreSQL
Для крупных корпоративных систем и систем с глубокой не типовой переработкой, когда может потребоваться адаптация системы 1С задача миграции может выполняться по с элементами проектной методологии с соответствующими этапами оценки, проектирования, тестирования готового решения и промышленной эксплуатацией. Так же крайне желательно запланировать этап нагрузочного тестирования целевой системы в новой среде Linux + PostgreSQL для выявления проблемных "участков" в конфигурации и исключения неожиданных проблем с производительностью на этапе промышленной эксплуатации.
Цена может варьироваться от 8 часов до 24 часов для малых и средних типовых и не типовых систем 1С. Стоимость может быть превышена для обеспечения внутренних стандартов компании Заказчика, обеспечение соответствия регламентам проведения работ, потребности в задачах смены уровня совместимости конфигураций, оптимизации алгоритмов для учета особенностей PostgreSQL, организации встреч и документирования, количеству и составу объектов и настроек целевой инфраструктуры, требованиям отдела безопасности Заказчика.