Миграция с MS SQL на PostgreSQL: плюсы, минусы, подводные камни

01.08.2022      53010

Миграция с MS SQL на PostgreSQL и Linux для приложений на платформе 1С:Предприятие становится массовой. Рассказываем о том, как организовать процесс перехода, и на что обратить особое внимание.


В каких случаях переход с MS SQL на PostgreSQL неизбежен

На старте политика импортозамещения в России затрагивала в первую очередь, органы исполнительной власти, а также корпорации, в уставном капитале которых государственная доля превышает 50%.

Со временем интерес к отечественному программному обеспечению возник и у коммерческих компаний, которые попали под санкции. А уже в апреле 2022 года, когда большинство зарубежных вендоров прекратили деятельность в России, переход на российский софт начал становиться действительно массовым.

Мигрировать на отечественное программное обеспечение были вынуждены не только государственные учреждения, но и частные компании, запланировавшие апгрейд оборудования или запуск новых проектов, которые предполагают увеличение числа пользователей.

Еще одно обстоятельство, стимулирующее отказ от зарубежных решений, – это отсутствие поддержки и обновлений, и как следствие возможные проблемы совместимости с устаревающими серверными решениями, а также дополнительные уязвимости с точки зрения информационной безопасности.

В свое время для конфигураций на платформе 1С:Предприятие наибольшее распространение получили продукты Microsoft. Сейчас пользователям эти решений нужно обратить внимание на факторы, которые могут создать дефицит лицензий, а значит и дополнительные риски.

 

Продукт

Какие факторы могут создать дефицит лицензий

Microsoft Windows Server

  • при лицензирования по ядрам увеличение мощности сервера
  • при лицензирования по количеству клиентских подключений рост числа пользователей
  • количество терминальных сессий

Microsoft SQL Server

  • при лицензирования по ядрам увеличение мощности сервера
  • при лицензирования по количеству клиентских подключений рост числа пользователей

 

Какие стратегии миграции доступны сейчас

При переносе решений 1С на PostgreSQL до недавнего времени было доступно две базовых стратегии. Или остаться на Windows, и перенести на «импортозамещенное ПО» только сервер СУБД. Или же отказаться от зарубежных продуктов полностью – и от операционной Windows, и от MS SQL.

В основном во внимание принималось, будет ли новая конфигурация системы обеспечивать приемлемый уровень производительности приложений 1С. Но сейчас, когда миграция обусловлена внешними факторами, а не внутренним решением организации, вариант перехода остается один – полный отказ от иностранных продуктов, установка какого-либо linux-а и развертывание на нем оптимальной сборки Postgres.

В качестве компромиссного варианта можно рассмотреть переход к гибридным системам. Например, наиболее критичные участки учета, или те, где без Windows работоспособность обеспечить невозможно, оставить на уже работающей иностранной платформе. А менее критичные переводить на linux и Postgres.

При выборе linux-а можно опираться на системные требования к технологической платформе. Сейчас в списке совместимых с сервером 1С более десятка различных операционных систем. Что касается серверов СУБД, то на данный момент PostgreSQL является единственным доступными совместимым SQL сервером. Выбирать придется разве что между различными сборками «постгреса» – бесплатными и коммерческими.


Как выбрать PostgreSQL, и зачем платить за лицензию при наличии бесплатных сборок

Зарегистрированным пользователям 1С:Предприятие доступен бесплатный дистрибутив PostgreSQL. Загрузить актуальную версию можно в сервисе 1С:Обновление программ.

Но, кроме бесплатной версии, можно использовать одну из коммерческих сборок. Разработчики таких сборок заявляют, что между дистрибутивами на сайте «1С» и их продуктом есть существенная разница: «Конфигурационные параметры для данных сборок автоматически выставлены так, чтобы они соответствовали ресурсам вашей машины. Такая оптимизация позволяет повысить производительность СУБД», – говорится на сайте Postgres PRO.

То есть предполагается, что при покупке коммерческих продуктов Postgres Pro можно будет не углубляться в настройки сервера, и получить рабочий вариант корпоративной информационной системы с минимальными трудозатратами на ее настройку.

Кроме того, выбор именно коммерческих сборок может быть обусловлен тем, что PostgreSQL не может входить в реестр отечественного ПО «Минцифры», поскольку зарегистрировать свободно распространяемую сборку без исключительных прав на нее, согласно правилам формирования единого реестра отечественного ПО, практически невозможно (см. п. 5, пп.а «Правил»). Понятно, что данное обстоятельство может создать проблемы при проверке требований политики импортозамещения.

 

 

Особенности лицензирования продуктов Postgres PRO и условия поддержки

 

PostgreSQL

Postgres Pro Standard

Postgres Pro Enterprise

Postgres Pro Enterprise для 1С

Бесплатно

Бесплатно при прохождении регистрации на сайте разработчика

Платно

Распространяемая свободно СУБД, разработанная международным сообществом

Российская коммерческая СУБД с открытым кодом, разработанная компанией Postgres Professional на основе PostgreSQL

Российская коммерческая СУБД с открытым кодом, разработанная компанией Postgres Professional на основе PostgreSQL для ответственных приложений и высоких нагрузок.

Не содержит каких-то дополнительных настроек по сравнению с Postgres Pro Enterprise, отличается тем, что предназначена только для информационных баз 1С (как лицензии MS SQL Runtime)

 

Лицензии на Postgres Pro можно приобрести по подписке или без ограничений по сроку, доступны варианты покупки по числу ядер или по числу пользователей.

Техническая поддержка, которая оплачивается отдельно, включает следующие опции:

  • прием обращений по телефону, электронной почте и через систему технической поддержки;
  • поиск и идентификация неисправностей и выработке предложений по устранению таких неисправностей;
  • решение проблем с работоспособностью СУБД Postgres Pro и PostgreSQL в программном комплексе Заказчика;
  • помощь с восстановлением работоспособности после сбоев СУБД;
  • поиска уязвимостей и консультирование по применяемым подходам к защите информации в СУБД Postgres Pro;
  • консультирование по вопросам обеспечения высокой доступности и отказоустойчивости СУБД;
  • консультации по возможностям новых версий Postgres Pro и планированию перехода на них;
  • выпуск срочных багфиксов для критических инцидентов;
  • предоставление новых версий СУБД Postgres Pro без дополнительных лицензионных платежей;
  • доступ к сайту технической поддержки

 

 

Что предстоит сделать при переходе с Microsoft на Linux и PostgreSQL

Весь комплекс работ можно разделить на несколько этапов:

  • развертывание и настройка операционной системы и СУБД;
  • собственно перевод информационной базы на новую СУБД;
  • функциональный аудит и адаптация к новым условиям.

Общие методические рекомендации по переходу с MS SQL на PostgreSQL есть на портале ИТС. Также в разделе для администраторов есть полный комплект документации по настройке операционных систем, сервера СУБД и сервера 1С:Предприятие.

Напомним, что недавно «1С» анонсировала новый инструмент для миграции, в том числе на Postgres, для технологической платформы 8.3.23. Ранее методика перехода предполагала выгрузку информационной базы в .dt-файл. Однако выполнить такую операцию не всегда возможно. В 1С:Предприятие 8.3.23 с помощью утилиты ibcmd в режиме infobase и команды replicate можно будет скопировать инфобазу из одного расположения в другое без промежуточного сохранения в *.dt файл.

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

Приведем здесь перечень функциональных решений, которые могут создать наиболее существенный объем трудозатрат при переходе:

 

Решения, которые использовались до перехода

На что обратить внимание

COM-соединение

данная технология все еще широко используется, и очевидно становится недоступной при переходе linux-платформу

подключаемое оборудование

необходимо проверить наличие необходимых драйверов и возможность подключения внешнего оборудования; например, фискального регистратора или принтера

внешние отчеты, обработки, документы

необходимо проверить работоспособность в новых условиях

интеграции

кроме тривиальных обменов между конфигурациями 1С, может потребоваться интеграция с различными ГосИС, отраслевыми системами

1С-ЭДО, 1С-Отчетность

необходимо проверить работоспособность средств криптозащиты, а также работу сервисов, использующих УКЭП

клиент-банк

необходимо проверить возможность работы решений, которые поставляются банками, в новой среде

почтовый клиент и напоминания

отправка на почту уведомлений об изменении состоянии заказов, поступлениях и прочих событиях в базе может быть значимой для пользователей функциональностью, которую нужно будет либо поддержать на новой платформе, либо найти альтернативное решение для уведомлений

работа с файлами

необходимо проверить работоспособность в новых условиях

аудит кода на наличие конструкций, используемых в среде Windows

после перехода на Linux необходимо проверить работоспособность тех модификаций, которые содержат соответствующие конструкции

 

Отдельно следует сказать об использовании web-клиента. Если в планах есть перевод пользователей на такой способ подключения к базе, нужно проверить, все ли требуемые функциональные возможности 1С доступны в таком типе клиента.


Жизнь после MVP. Что дальше

 

 

После того, как система запущена, и способна соответствовать требованиям MVP (minimum viable product – минимально жизнеспособный продукт), можно подумать о задачах, которые откладывались на начальном этапе:

Например, можно запланировать для внутренних ИТ-специалистов и системных администраторов, которые ранее занимались поддержкой решений на Windows, обучение по новым для них направлениям.

Чтобы сохранять актуальные знания и быть в курсе последних событий, можно проанализировать доступные открытые ресурсы и тематические сообщества.

Собрали здесь наиболее важные ссылки для тех, кто переходит с Microsoft на PostgreSQL и Linux.


Обучение и методические материалы

 

 

Полезные ссылки


Чтобы проконсультироваться по переходу на СУБД PostgreSQL, звоните нам по телефону: 8 800 555-52-56, пишите в комментариях или оставляйте заявку на консультацию у наших специалистов
 

Получить консультацию


Автор:
Обозреватель


См. также

Новость 1С:Документооборот

Фирма «1С» сообщила об изменении состава расширенного бандла 1С:Корпорация. Теперь пользователям будет доступен еще и 1С:Документооборот холдинга, предназначенный для автоматизации распределённых систем документооборота.

27.11.2024    489    ЕленаЧерепнева    0       

3

Новость ИТ-Новость

China Hi-Tech Fair – одно из самых значимых мероприятий в сфере информационных технологий в Восточной Азии. Рассказываем, какие компании и какие технологии были представлены российской делегацией в этом году.

25.11.2024    561    ЕленаЧерепнева    1       

4

Новость УСН ИТ-Новость Налоги ФНС

В октябре был опубликован федеральный закон, который разрешает применять автоматизированную упрощенную систему налогообложения во всех регионах РФ. Кто, когда и как может перейти на новый режим налогообложения?

22.11.2024    623    user1915669    0       

2

Новость

Фирма «1С» выпустила отраслевое решение для молочного производства, главная особенность которого – интеграция с автоматизированными линиями и с оборудованием. Рассказываем о возможностях конфигурации и об особенностях лицензирования нового продукта.

22.10.2024    1090    ЕленаЧерепнева    0       

4

Новость

Для тех, кто не смог присоединиться в бесплатному вебинару по «Автоматизации производственного и бюджетного планирования с решением Бюджетир», мы подготовили видеозапись встречи, а также публикуем ответы на вопросы участников и рассказываем про решение.

17.10.2024    1211    AnastasiaKl    0       

16

Новость

Фирма «1С» сообщила об обновлении локального приложения 1С:Касса. В релиз 4.1.1 включили новые возможности для ведения товарного учета, а также существенное расширили возможности обменов и совместной работы локальной и облачной версии.

17.10.2024    1266    ЕленаЧерепнева    1       

2

Новость Финансовые услуги, инвестиции

Фирма «1С» сообщила о начале продаж прикладной конфигурации для автоматизации банковской деятельности. Решение разработано на технологической платформе 1С:Предприятие и поддерживает работу при высоких нагрузках.

16.10.2024    1583    ЕленаЧерепнева    0       

2

Новость Новый релиз

Фирма «1С» выпустила версию 3.1 решения для управления проектами на базе 1С:УНФ. Среди нового – работа с многомерными проектами, расширенные возможности планирования и бюджетирования в новом табличном редакторе, интеграция с Битрикс24 и 1С:Смета.

01.10.2024    1276    ЕленаЧерепнева    0       

1
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. sapervodichka 6918 01.08.22 23:27 Сейчас в теме
нужный материал, только ссылок на выборку статей Инфостарта не хватает
JohnyDeath; m_aster; ЕленаЧерепнева; +3 Ответить
2. a.doroshkevich 1513 03.08.22 03:45 Сейчас в теме
Таблица в разделе "Что предстоит сделать при переходе с Microsoft на Linux и PostgreSQL" ни коим образом не относится к этому переходу.
Не вводите людей в заблуждение.
Вы описали в этой таблице перевод сервера 1С с Windows на Linux.
FReIM; stepan_s; G.Shatrov; +3 Ответить
3. m_aster 114 04.08.22 08:46 Сейчас в теме
(2)Ну что ж Вы так нападаете на человека? Клиентскую часть совсем не рассматриваете? То, что описано в таблице вполне относится и к клиентской части(та же касса, принтер), потому что при переходе(а он очень возможен, т.к. в нынешнем положении неизвестно как поведет себя Microsoft с текущими лицензиями, обновлениями и т.д. в будущем) необходимо рассматривать не только серверную часть, а всю экосистему в целом, и это логично. А уж про организации с КИИ(критической информационной инфраструктурой) и говорить нечего.
5. a.doroshkevich 1513 04.08.22 10:41 Сейчас в теме
(3) Я так среагировал, потому что это очень распространённое заблуждение.
Почему-то многие в принципе не отделяют понятие сервера 1С и СУБД, а это крайне важно, особенно в процессах перехода. Надо очень чтко понимать что от чего зависит, а что нет
FReIM; stepan_s; +2 Ответить
4. a.doroshkevich 1513 04.08.22 10:15 Сейчас в теме
(3) Ну так и клиентская часть никак не относится "Миграция с MS SQL на PostgreSQL"
stepan_s; G.Shatrov; +2 Ответить
6. m_aster 114 04.08.22 13:55 Сейчас в теме
(4) Вы все верно говорите, и раньше были переходы именно серверов на Linux и Postgres. Но в начале статьи речь о сегодняшней ситуации, когда из-за политики Microsoft ожидается если не массовый, то очень близкий к нему переход на отечественное ПО, а это именно Linux, поэтому в таком ключе подразумевается обновление и клиентской части. Тем более, что такой опыт уже есть и он не вчера возник. Надеюсь, что и 1С при выпуске своих продуктов все больше будет уделять внимания специфике работы именно с Postgres.
13. anosin 29 18.08.22 10:41 Сейчас в теме
(6) дело же не в политике Microsoft
14. m_aster 114 18.08.22 14:20 Сейчас в теме
(13)А в чем же, как не в политике Microsoft? По сведениям Bloomberg и CNews Microsoft вполне может ограничить поддержку текущих лицензий в плане критических обновлений для коммерческих структур в России.
Так что переход на Postgres вопрос времени.
Посмотрите клиентов на сайте PostgresPro, в их числе Сбер и другие серьезные структуры.
7. mixsture 08.08.22 00:49 Сейчас в теме
Таблица по версиям СУБД, кхм, сомнительная. Там из всех пунктов архиважен "оптимизатор запросов". Насколько я помню, ребята из постгресПро как раз делали оптимизации для движка 1с и даже в бесплатной их сборке есть модули постгреса о них. А из таблицы складывается ощущение, что разницы между чистым постгресом и сборкой от постгресПро нет вообще.

Еще слышал ругань, что оптимизатор у постгреса плохо обрабатывает соединение основных таблиц выборки с РС, отказываясь при этом использовать индексы основной таблицы (и сам сталкивался с этим, но очень давно и это была древняя сборка от самой 1с). Решалось отдельной выборкой из основной таблицы во временную, а уже временную соединяли с РС - но решение так себе, из разряда "а давайте перепишем треть конфигурации". У кого-нить есть актуальные данные, как с этим сейчас?
15. stepan_s 17.10.22 07:15 Сейчас в теме
(7)сам факт что таблица есть - уже хорошо. Если есть конструктив всегда стоит предлагать, автор полюбому подправит. Ну или в коменты изменения внести...
8. TimofeySin 173 15.08.22 10:38 Сейчас в теме
Я правильно понимаю, что "Лицензия СУБД Postgres Pro Enterprise для 1C на 1 сервер" ограничена 50 пользователями, и если у нас более 50 пользователей, то вариант лицензирования только 1, это покупка "Лицензия СУБД Postgres Pro Enterprise для 1C на 1 ядро x86-64" ?
9. пользователь 15.08.22 12:41
Сообщение было скрыто модератором.
...
10. RKurbanov 55 16.08.22 13:39 Сейчас в теме
(8) Можно лицензировать и более 50-и пользователей, ограничений нет. Но в таком случае выгодней лицензироваться по ядрам.
11. TimofeySin 173 17.08.22 10:51 Сейчас в теме
(10) Да я понял, спасибо, просто хотелось сервер за 29069р :)
А есть сравнение по скорости Postgres и Postgres Pro Enterprise? Было бы очень интересно узнать как на это влияет платный оптимизатор запросов.
12. RKurbanov 55 17.08.22 10:55 Сейчас в теме
(11) Есть статья по этому поводу, https://infostart.ru/1c/articles/1429971/
16. пользователь 24.10.22 11:51
Сообщение было скрыто модератором.
...
17. user1107899 21.08.24 11:45 Сейчас в теме
# Путь к утилите ibcmd.exe
$pathToIbCmd = "C:\Program Files\1cv8\8.3.22.2501\bin\ibcmd.exe"

# Параметры подключения к MS SQL Server
$sqlServer = "IP_MSSQL_SERVER"
$sqlUser = "DBUser"
$sqlPassword = "DBPass"

# Параметры подключения к PostgreSQL
$pgServer = "IP_PG_SERVER"
$pgUser = "DBUser"
$pgPassword = "DBPass"

# Путь для временного хранения выгруженных файлов
$tempPath = "C:\tmp\"

# Убедитесь, что папка для временных файлов существует
if (!(Test-Path -Path $tempPath)) {
    New-Item -ItemType Directory -Path $tempPath | Out-Null
}

# Список баз данных для переноса
$databases = @("UNF_1", "UNF_2") # Замените на реальные имена баз данных

# Процесс переноса для каждой базы данных
foreach ($dbName in $databases) {
    # Имя файла для выгрузки базы данных
   $dumpFile = Join-Path -Path $tempPath -ChildPath "$dbName.dt"

   # Шаг 1: Выгрузка базы данных из MS SQL Server
   $exportArgs = "infobase --dbms=MSSQLServer --db-server=$sqlServer --db-name=$dbName --db-user=$sqlUser --db-pwd=$sqlPassword dump $dumpFile"

    Write-Output "Выгрузка базы данных $dbName из MS SQL Server"
    Start-Process -FilePath $pathToIbCmd -ArgumentList $exportArgs -Wait -NoNewWindow
   
   # Шаг 2: Создание и загрузка базы данных в PostgreSQL
   $importArgs = "infobase create --dbms=PostgreSQL --db-server=$pgServer --db-name=$dbName --db-user=$pgUser --db-pwd=$pgPassword --create-database --restore=$dumpFile"

    Write-Output "Загрузка базы данных $dbName в PostgreSQL"
    Start-Process -FilePath $pathToIbCmd -ArgumentList $importArgs -Wait -NoNewWindow
}

# Пауза в конце выполнения скрипта
Write-Output "Процесс завершен. Нажмите Enter для выхода..."
Read-Host
Показать
Оставьте свое сообщение