О проекте

  • Клиент: Разработчик и поставщик систем для диагностики и мониторинга состояния промышленного оборудования
  • Страна: Россия
  • Используемый продукт: Услуги по конвертации
  • Исходная технология: Microsoft SQL Server, C#
  • Целевая технология: PostgreSQL, C#
  • Объем проекта: 150,000 строк кода
  • Длительность проекта: 1 месяц на миграцию и 1 месяц на приемку

Одним из продуктов нашего заказчика является программное обеспечение, использующее базу данных. Переход на использование PostgreSQL вместо SQL Server стал необходим для целей импортозамещения как нашего клиента, так и конечных пользователей его продукта.

Результаты

  • Обеспечение полноценной технической поддержки для конечных пользователей в России.
  • Экономия средств на покупку СУБД для конечных пользователей из Китая и других стран.
  • Импортозамещение продукта Microsoft на СУБД с открытым программным кодом.
Конвертация скриптов SQL Server в PostgreSQL

Обновление приложения на C#

Задача

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

Общий объем SQL скриптов составлял около 150.000 строк. Кроме того, скрипты содержали запросы INSERT с первичными данными.

Таким образом, комплексная задача по миграции приложения с SQL Server на PostgreSQL включала: конвертацию файлов с SQL кодом, конвертацию первичных данных, конвертацию встроенного SQL и адаптацию кода приложения на C# для работы с новой СУБД.

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

Решение

На первом этапе наши эксперты с помощью Конвертум Мастера выполнили конвертацию файлов с кодом SQL с SQL Server в PostgreSQL. Затем автоматические полученные результаты и код приложения были вручную доработаны для корректной работы с PostgreSQL.

Исходный код содержал лишь небольшое количество специфических или сложных для конвертации конструкций. Вот некоторые из них:

  • Использование запросов к системным таблицам sys.objects, information_schema.columns и т.п. Для большинства СУБД системные таблицы и логика работы с ними имеют существенные отличия.
  • Использование условий на типы столбцов. В SQL Server тип данных является числовым значением, а в PostgreSQL - строкой.
  • Использование функции fn_listextendedproperty и приведение констант типа HEX к дате, которые не имеют прямого аналога в PostgreSQL.
  • Конвертация данных на китайском языке усложнялась использованием различных кодировок в исходной и целевой базах данных.

Преимущества

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

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