Переход крупных корпоративных систем на отечественные СУБД остается одной из наиболее актуальных задач последних лет. Однако основная сложность подобных проектов заключается не столько в переносе данных, сколько в сохранении работоспособности существующих приложений, написанных под Microsoft SQL Server и Oracle Database.
Именно поэтому развитие Digital Q.DataBase сосредоточено сразу на нескольких направлениях: расширении совместимости с зарубежными СУБД, автоматизации миграции и создании инструментов, позволяющих минимизировать объём ручной доработки приложений.
Версия 18.2 стала одним из наиболее масштабных обновлений платформы. В релиз вошли изменения архитектуры продукта, значительное развитие совместимости с Microsoft SQL Server и Oracle Database, новые возможности мастера миграции, первая версия службы построения отчётов, совместимой с SQL Server Reporting Services, а также десятки других улучшений.
Рассмотрим основные изменения подробнее.
Новая архитектура Digital Q.DataBase
Одним из ключевых изменений версии 18.2 стало развитие модульной архитектуры платформы.
Теперь каждый из трех субмодулей Digital Q.DataBase, соответствующий отдельному SQL-диалекту, может устанавливаться и обновляться независимо. Такой подход делает сопровождение системы более гибким и позволяет обновлять только необходимые компоненты без переустановки всей платформы.
Для повышения совместимости с существующими приложениями в PostgreSQL-диалекте по умолчанию используются стандартные номера портов и имена пользователей. Кроме того, подготовлена специальная версия pg_upgrade, предназначенная для перехода с предыдущих версий Digital Q.DataBase на новую модульную архитектуру.
Существенное развитие совместимости с Microsoft SQL Server
Наиболее крупный объем изменений в версии 18.2 связан с развитием Microsoft SQL Server-совместимого диалекта.
В новой версии значительно расширена поддержка языка T-SQL и системных объектов, благодаря чему ещё больше существующих приложений могут работать без изменения серверной логики.
Одним из наиболее заметных нововведений стала поддержка синонимов (Synonyms). Теперь поддерживаются их создание, использование в запросах и операторе EXEC, работа с пользовательскими функциями, составными именами и удалёнными объектами. Для повышения производительности был реализован общий кэш разрешения синонимов.
Получила развитие система разграничения доступа. Расширена поддержка команд GRANT и REVOKE, реализована работа с правами на функции и объекты различных владельцев, улучшено отображение прав в SQL Server Management Studio (SSMS), а также ускорена обработка ограничений DENY. Дополнительно появилась частичная поддержка GRANT VIEW DEFINITION, необходимая для корректной работы ряда системных процедур.
Продолжилось развитие механизмов выполнения кода. Реализована поддержка режима EXECUTE AS для функций T-SQL, позволяющего выполнять код от имени вызывающего пользователя, владельца объекта или указанной учётной записи.
Значительно расширены возможности работы с XML. Добавлена поддержка конструкций FOR XML EXPLICIT, WITH XMLNAMESPACES, функции OPENXML, системных процедур подготовки XML-документов, а также изменения XML-данных методом modify() непосредственно в операторе UPDATE.
Получили развитие средства полнотекстового поиска и индексации. Добавлена поддержка полнотекстовых каталогов, XML-индексов на уровне метаданных, расширены возможности работы с FULLTEXT INDEX, реализована системная процедура sp_helpindex, а также поддержка индексов в табличных переменных.
Важные изменения коснулись операций администрирования и языка определения данных. Реализована поддержка ALTER VIEW, ALTER TRIGGER, изменения NULL и NOT NULL через ALTER TABLE, команд CREATE OR ALTER FUNCTION и CREATE OR ALTER PROCEDURE, а также ряда системных процедур и служебных команд, используемых существующими сценариями администрирования Microsoft SQL Server.
Продолжилось развитие языка T-SQL. В версии 18.2 реализована поддержка команды MERGE, добавлена работа с IDENTITY для типа numeric, расширена поддержка курсоров, улучшена работа переменных и операторов присваивания, а также выполнены многочисленные доработки парсера и механизмов совместимости.
Отдельное внимание уделено вопросам производительности и интеграции. Ускорена работа ряда системных представлений и процедур, реализована поддержка дополнительных возможностей протокола TDS, ODBC-функций, появилась возможность настройки имени сервера и сервиса через конфигурационный файл, а также реализован модуль qdb_trace для трассировки запросов.
Развитие Oracle-совместимого режима
Версия 18.2 также получила ряд важных улучшений Oracle-совместимого диалекта.
В состав платформы включены новые Oracle-пакеты DBMS_DB_VERSION и OWA_COOKIE. Расширена поддержка Bind-параметров, улучшена работа процедур и функций с параметрами IN и OUT, доработаны механизмы вызова методов с направленными параметрами и расширены возможности работы с курсорами.
Кроме того, повышена совместимость JDBC-драйвера и обновлена библиотека OCI, что позволяет повысить уровень совместимости существующих Oracle-приложений при переносе на Digital Q.DataBase.
Новые возможности мастера миграции
Одним из ключевых компонентов Digital Q.DataBase остается мастер миграции баз данных, который также получил большое количество улучшений.
В новой версии реализован механизм разрешения схем и поддержка межсхемных внешних ключей, а обработка CHECK-ограничений выделена в отдельный этап миграции. Улучшена генерация ограничений, включая PRIMARY KEY, UNIQUE CONSTRAINT и filtered unique indexes, а также расширены возможности переноса пользователей базы данных и применения привилегий.
Особое внимание уделено удобству использования инструмента. Добавлена возможность продолжения процесса миграции после его прерывания, улучшен журнал результатов, реализован выбор рабочей директории и переработан пользовательский интерфейс мастера. Для Oracle-сценариев оптимизированы процессы выгрузки и загрузки объектов, что позволяет сократить время выполнения операций переноса.
Развитие поддержки CLR-сборок
Продолжилось развитие средств миграции приложений, использующих CLR. Конвертер CLR-сборок теперь учитывает зависимости между сборками, поддерживает перенос устаревших ASMX-сервисов через WSDL и заранее диагностирует неподдерживаемые Windows-зависимости. Также устранен ряд ошибок выполнения CLR-функций, связанных с обработкой строковых типов данных и возвратом строковых значений, исправлены утечки соединений после возникновения ошибок и скорректирована комплектация поставляемых пакетов.
Развитие Service Broker
В версии 18.2 продолжилось развитие поддержки Service Broker. Расширены возможности операторов RECEIVE, BEGIN DIALOG и SEND, появилась поддержка явного указания идентификатора брокера, а также разделены механизмы обработки локальных очередей и очередей Microsoft SQL Server.
Первая версия службы построения отчетов
Одним из наиболее заметных новых компонентов Digital Q.DataBase стала первая версия службы построения отчетов, совместимой с Microsoft SQL Server Reporting Services.
Новый компонент поддерживает формат RDL (Report Definition Language) и обеспечивает получение данных, выполнение выражений, построение группировок, вычисление агрегатов и работу элемента Tablix.
Кроме того, реализована поддержка отчетов типа master-detail, изображений, форматирования числовых и текстовых данных, пагинации, колонтитулов и оформления. Готовые отчеты могут формироваться в форматах HTML и PDF, что позволяет использовать существующие отчёты SQL Server Reporting Services с минимальными изменениями.
Итоги
Версия Digital Q.DataBase 18.2 стала важным этапом развития платформы. В релиз вошли изменения архитектуры продукта, существенно расширена совместимость с Microsoft SQL Server и Oracle Database, значительно развиты средства миграции, улучшена поддержка CLR и Service Broker, а также представлена первая версия службы построения отчётов, совместимой с SQL Server Reporting Services.
Все эти изменения направлены на решение одной общей задачи — максимально упростить перенос корпоративных информационных систем на отечественную платформу, сохранив существующую серверную логику, привычные инструменты разработки и процессы сопровождения. Благодаря этому Digital Q.DataBase продолжает развиваться как платформа, позволяющая организациям выполнять миграцию с зарубежных СУБД быстрее, безопаснее и с минимальным объемом доработок существующих приложений.
ссылка на оригинал статьи https://habr.com/ru/articles/1057896/