«Диасофт» рассказал о критериях выбора российских СУБД и подходах к миграции
23 октября состоялся эфир AM Live «Российские СУБД», организованный порталом Anti-Malware. Представители российских компаний-разработчиков системного ПО обсудили развитие отечественного рынка СУБД, его перспективы и вызовы, а также вопросы импортозамещения СУБД и критерии их выбора для корпоративных систем.
В дискуссии принял участие Константин Варов, главный архитектор компании «Диасофт». Он рассказал, на что обращать внимание при выборе СУБД.
Константин Варов: «Выбор должен начинаться с определения задачи, под которую выбирается СУБД, ее класса: будет ли это OLTP, OLAP, HTAP или HSAP. Какая модель или, может быть, модели работы с данными нужны: только ли реляционная или документ-ориентированная, графовая, векторная, либо вообще гибридная. Далее смотрим, какие есть требования к согласованности данных: нужен ли строгий ACID или достаточно BASE. Ответ на каждый такой вопрос будет сокращать число претендентов более чем вдвое. Затем смотрим, какие есть требования к надежности, отказоустойчивости, производительности. У СУБД они должны быть даже более жесткие, чем у всей информационной системы в целом. Также нужно проверить, на каком классе оборудования они достигаются – укладываетесь ли Вы в бюджет по совокупной стоимости владения этой СУБД и лежащей под ней инфраструктурой. Наконец, заявленные вендорами характеристики решений необходимо проверять в «песочнице» в ходе испытаний, приближенных к «боевой» нагрузке. Даже Oracle далеко не сразу смог достичь того, о чем писал в своих рекламных материалах на заре развития компании. Поэтому доверяйте, но проверяйте. И тогда не придется жалеть о сделанном выборе».
Отдельное внимание эксперт уделил сложностям миграции с зарубежных СУБД. Многие корпоративные приложения используют специфические возможности Oracle Database и Microsoft SQL Server. При переходе на СУБД с другой архитектурой и более бедными функциональными возможностями это может потребовать существенной переработки прикладного кода и привести к значительным затратам.
«Для примера, оценочные затраты на перевод всех российских бизнес-приложений с Oracle и MS SQL на PostgreSQL (если делать это классическим способом - т.е. «в лоб» переписывать код) составляют 6 годовых бюджетов нашей страны. В экономике просто нет таких денег!», – отметил Константин.
По словам эксперта, есть более эффективный подход – обеспечить совместимость новой СУБД с теми возможностями иностранных СУБД (включая их диалекты SQL), что используются существующими российскими приложениями, чтобы избежать переписывания кода.
В качестве примера такого подхода эксперт представил СУБД Digital Q.DataBase. Реляционная часть СУБД включает три независимых компонента:
- Pearl – обеспечивает максимальную совместимость с PostgreSQL и регулярно тестируется на соответствие стандартному PostgreSQL.
- Marble – воспроизводит функциональность Microsoft SQL Server, включая выполнение T-SQL, и позволяет в совместимых сценариях сохранить существующие хранимые процедуры без изменения кода. В составе Marble также реализованы независимо воспроизведенные компоненты инфраструктуры, такие как Service Broker, SSRS (подсистема отчетности, встроенная в Microsoft SQL Server). Сейчас совместимость Digital Q.DataBase c Microsoft SQL Server 98%.
- Onyx – воспроизводит функциональность Oracle Database. Поддерживает выполнение существующего PL/SQL-кода, как в оригинальной СУБД, и наиболее востребованные системные пакеты DBMS, что позволяет сохранить существующие хранимые процедуры и бизнес-логику приложений. Совместимость Digital Q.DataBase c Oracle сейчас – 82%.
Константин также рассказал о подходах к проверке совместимости и оптимизации производительности. В «Диасофт» конструкции языков Oracle Database и Microsoft SQL Server проверяют на реальных приложениях, а обнаруженные расхождения превращают в тест-кейсы.
Эксперты «Диасофт» регулярно участвуют в отраслевых дискуссиях, делятся практическим опытом и обсуждают с профессиональным сообществом актуальные задачи импортозамещения. Дискуссии с экспертами рынка позволяют сопоставлять подходы к развитию отечественных СУБД и вырабатывать еще более эффективные стратегии их развития.