Поводом задуматься о дальнейшей целесообразности использования в России продуктов традиционных поставщиков коммерческих СУБД стали два события: в стране утвержден план импортозамещения в сфере ПО и в июне 2015 года корпорация Oracle объявила о повышении цен на лицензии продуктового портфеля и на техническую поддержку. Почти одновременно с этим в «магическом квадранте» Gartner Magic Quadrant for Operational Database Management Systems вместе с дюжиной новых имен, отсутствующих в нем годом ранее, появилась компания TmaxSoft (СУБД Tibero, монитор транзакций, сервер приложений, решения для работы с Большими Данными на базе технологий Hadoop, инструменты с интерфейсом SQL), открывшая недавно свое представительство в России, что лишний раз свидетельствует об обострении конкуренции на рынке СУБД и актуальности проблемы выбора [1].
Изначально Tibero создавалась для замещения СУБД Oracle в Южной Корее, и определяющими качествами продукта, естественно, были поддержка большинства технологий этой СУБД и наличие механизма миграции. СУБД Tibero занимает промежуточное положение между многофункциональными и дорогими решениями от лидеров рынка и свободно распространяемыми СУБД типа PostgreSQL. Кластерная архитектура СУБД Tibero призвана обеспечить надежность инфраструктуры и оптимизировать использование системных ресурсов для выполнения высоких нагрузок. В отличие от Oracle Database, в Tibero используется мультипроцессорная организация с множеством серверных потоков в каждом процессе, что позволяет снизить издержки, связанные с переключением контекстов процессов при работе СУБД. Главной особенностью Tibero является именно мультипоточная технология, обеспечивающая высокую производительность.
Применяемая в Tibero технология резервирования и восстановления данных с использованием утилиты Tbrmgr дает возможность создавать «горячие» резервные копии базы данных, что позволяет восстанавливать базу полностью, отдельно по табличным пространствам или файлам данных. Этот функционал может быть реализован как для выделенной конфигурации, так и с использованием TAC (Tibero Active Cluster) — кластера одного узла, позволяющего задействовать второй узел кластера для повышения производительности резервного копирования без остановки продуктивной СУБД.
Обязательным условием для современной СУБД является обеспечение интеграции с Oracle, Microsoft SQL Server и IBM DB2 в гетерогенных конфигурациях на уровне механизмов ODBC, OCI и API, а также с использованием собственных инструментов. Миграция с уже существующих систем происходит при минимальных затратах на функционирование критичных для бизнеса приложений. Для выполнения миграции в Tibero предлагаются средства переноса в новую среду таблиц, последовательностей, таблиц данных, хранимых процедур, синонимов, функций, пользователей, пакетов, индексов, видов и т. п. В Tibero имеются механизм двухсторонней репликации данных ProSync CDC (Change Data Capture) и средство автоматической миграции tbMigrator.
Утилита tbMigrator устанавливает соединения к источнику и новой СУБД, запуская процесс миграции, включающий перенос DDL-структур хранения данных (таблицы, представления, индексы и пр.), кода PL/SQL, который переносится без изменений, и миграцию собственно данных. По завершении процесса инженеру предоставляется отчет о состоянии перенесенных объектов, и далее все работы проводятся уже на стороне СУБД Tibero для проверки и компиляции необходимых объектов.
Опыт проведения такой миграции имеет компания «Мосэнергосбыт», в которой был выполнен перенос базы системы расчетов с контрагентами на платформе СУБД Oracle объемом около 1 млрд записей. Средствами tbMigrator было выполнено 98% работ (записи, таблицы, структура, триггеры, функции и т. п.), а 2% данных были перенесены с привлечением собственных средств компании. Основной целью проекта было межплатформное резервирование СУБД и использование Tibero c применением двухсторонней репликации данных ProSync, что позволило сократить издержки на лицензирование.
В качестве средства разработки и администрирования в Tibero предлагается утилита TbAdmin, предоставляющая инструменты администратора и разработчика, средства экспорта и загрузки данных, мониторинга производительности СУБД, а также инструменты для автоматизации создания объектов базы данных. Разработчики получают в свое распоряжение ряд шаблонов кода PL/SQL — в Tibero используется собственный язык программирования PSM (Procedure Storage Module), включающий поддержку PL/SQL от Oracle — средства диагностики и отладки, предназначенные для создания необходимой среды управления.
Для создания законченных комплексных прикладных решений компания сотрудничает с отечественными разработчиками, в частности с «Аладдин — Крипто БД» для криптографической защиты базы данных, а также обеспечивает работу с сертифицированными ОС на базе Linux (Astra Linux, РОСА). Сейчас в Tibero используется AES (Advanced Encryption Standard) с длиной ключа 128 бит, в следующих версиях предполагается поддержка AES-192 и AES-256. Кроме того, TmaxSoft взаимодействует с такими разработчиками приложений, как «БАРС», «Прогноз», «Парус» и ЦФТ.
Согласно заявлению производителя, СУБД Tibero позволяет снизить показатель TCO благодаря политике лицензирования, в которой применяется самый низкий по сравнению с другими СУБД вес ядра при подсчете лицензионных коэффициентов. Это дает возможность обойтись меньшим количеством лицензий на аналогичную конфигурацию оборудования.
Данных по тестированию производительности СУБД Tibero пока очень мало — имеется лишь результат по TPC-H (оценка производительности СУБД путем подсчета количества нерегламентированных запросов, выполненных за час на заданном объеме данных [2]), позволяющий сравнить эту базу с Oracle при работе на идентичной конфигурации. На компьютере HP Superdome 2 показатели Tibero и Oracle — 129,941 и 140,181 QphH@1000GB соответственно.
В апреле 2014 года было проведено исследование СУБД Tibero на базе Федерального центра информатизации Счетной палаты РФ, в процессе которого на одинаковой аппаратной конфигурации проводилось сравнение работы около 50 функций Tibero и Oracle при выполнении синтетических тестов. Тестирование показало сопоставимый уровень предоставляемых функциональных решений и возможностей, технологий резервного копирования и восстановления данных.
Сегодня в России в стадии реализации находятся около 50 проектов, использующих СУБД Tibero. Такие проекты ведутся в МТС, Министерстве обороны РФ, «Мосэнергосбыте», Счетной палате РФ, Банке России, Федеральной службе по тарифам и других организациях. Показателен проект для Национальной системы платежных карт, где СУБД Tibero была выбрана в качестве платформы поддержки хранилищ данных (см. рисунок) на базе Tibero Standby Cluster. В этом проекте Tibero применялась для крупномасштабного анализа большого объема данных, хранящихся в базе СУБД MySQL, и их пакетной обработки с высоким уровнем доступности, обеспечиваемым благодаря трехузловой конфигурации архитектуры хранилища.
СУБД Tibero в проекте НСПК |
Несмотря на первые положительные результаты применения продукции TmaxSoft, российские пользователи пока с осторожностью подходят к решениям компании. Одна из причин — недостаточный уровень документирования и отсутствие поддержки СУБД Tibero со стороны производителей оборудования для систем резервного копирования. Кроме того, в Tibero пока нет набирающего популярность в задачах онлайн-аналитики функционала обработки в памяти (in-memory). Отсутствует также индексация bitmap, что приводит к формированию больших по объему индексов при работе по нескольким столбцам таблицы. Вдобавок к этому, работы по миграции либо синхронизации с экземплярами СУБД Oracle требуют привлечения разработчиков приложений и программистов TmaxSoft, а в ряде случаев может потребоваться изменение кода до 3% программных модулей.
***
В условиях, когда предпринимаются шаги к достижению технологической независимости, СУБД Tibero может потенциально стать альтернативой другим решениям при выполнении ряда нишевых задач. Вместе с тем к вопросу перехода на эту СУБД надо подходить взвешенно с учетом как финансовых преимуществ, так и рисков [3], связанных с необходимостью доработки уже имеющихся у пользователей конфигураций.
Литература
- Сергей Муравьев, Сергей Дворянкин, Игорь Насенков. СУБД: проблема выбора // Открытые системы.СУБД. — 2015. — № 1. — С.22–24. URL: http://www.osp.ru/os/2015/01/13045322 (дата обращения: 18.08.2015).
- Леонид Черняк. Снова о тестах TPC // Открытые системы.СУБД. — 2000. — № 11. — С.34–36. URL: http://www.osp.ru/os/2000/11/178309 (дата обращения: 31.08.2015).
- Александр Лашманов. Импортозамещение: риски и иллюзии // Открытые системы.СУБД. — 2015. — № 1. — С.34–35. URL: http://www.osp.ru/os/2015/01/13045326 (дата обращения: 19.09.2015).
Дмитрий Семынин (dsemynin@amt.ru) — директор департамента инфраструктуры информационных систем, компания AMT Group (Москва).