Направление систем управления базами данных (СУБД) является одним из старейших в ИТ, возможно, оно даже старше «операционных систем». За всю его полувековую историю можно выделить несколько периодов развития, и, наверное, не будет большой ошибкой сказать, что предпоследний этап начался в конце 1990-х, когда группу лидеров во главе с Oracle стала нагонять Microsoft со своим SQL Server. С появлением этого активного игрока конкурентная ситуация, естественно, резко обострилась, в результате чего начались процессы поглощения ИТ-гигантами специализированных разработчиков, и к середине прошлого десятилетия в данном сегменте, где ключевые позиции заняла «большая тройка» — IBM, Microsoft и Oracle, установилось относительное спокойствие. Но затишье было недолгим, поскольку вскоре появилось новые «возмутители порядка» — сначала ряд Open Source-проектов, а потом и разработчики решений на базе качественно новых архитектур и технологий (non-SQL, in-memory). Мировой рынок СУБД опять пришел в движение...

К этому надо добавить, что стабильность в сфере СУБД (а точнее, всех корпоративных ИТ) была потревожена в нынешнем году в России из-за изменений в отношениях с западным миром, в результате чего актуальной задачей стал поиск возможных альтернатив традиционным ИТ-поставщикам. Отечественные заказчики, системные интеграторы, разработчики стали активнее изучать весь спектр возможных предложений в данной сфере. Помочь в этом деле может вышедший минувшей осенью очередной отчет Gartner «Магический квадрант для операционных СУБД» (Magic Quadrant for Operational Database Management Systems).

Что такое операционные СУБД

Это довольно странно, но в публикациях, посвященных классификации СУБД, практически нет категоризации систем по типам решаемых задач. В частности, Википедия приводит классификацию СУБД, но она связана исключительно с архитектурно-технологическими аспектами: по модели данных (иерахические, сетевые, реляционные, объектно-ориентированные, объектно-реляционные), по степени распределенности (локальные и распределенные), по способу доступа (файл-серверные, клиент-серверные и встраиваемые). Но из простого житейского опыта мы отлично знаем, что с точки зрения пользователя есть два основных класса задач: изменение содержимого БД (редактирование) и извлечение (просмотр). Довольно долгое время в ИТ «редактирование» считалось главной задачей, а просмотр рассматривался как крайне упрощенный ее вариант. Но со временем по мере роста объема накапливаемой информации актуальность вопросов хранения уже записанной информации и ее обработки стала неизменно повышаться. В результате еще во второй половине 1990-х произошло довольно четкое разделение двух направлений использования СУБД: это направление, ориентированное на поддержку задач, связанных с оперативной деятельностью предприятий (с постоянным притоком новой информации, с большим числом запросов и с требованиями по минимизации скорости реакции и обработки), и направление по созданию хранилищ информации больших объемов, которые предназначены в том числе (а часто и в первую очередь) для ее аналитической обработки.

Из теории и практики хорошо известно, что при решении этих двух классов задач (операционных и информационно-аналитических) предъявляются различные, порой даже прямо противоположные, требования к архитектуре организации баз данных. Именно поэтому классический подход к реализации комплексных решений с большими объемами информации обычно подразумевает использования для каждого класса задач отдельной базы данных, заточенной именно под конкретную задачу. При этом информационное взаимодействие этих баз данных, как правило, выполняется с помощью средств, функционирующих в офлайновом режиме. Соответственно, на рынке есть СУБД, изначально ориентированные на тот или иной класс задач, однако большинство лидирующих СУБД представляют собой достаточно универсальные платформы, которые можно использовать в обоих вариантах. Эффективность их применения для решения задач разного класса достигается за счет гибких средств выбора и настройки архитектуры конкретного решения и использования различных дополнительных средств и инструментов.

Довольно долгое время автоматизация текущей работы предприятий была ориентирована на обеспечение деловых процессов (банковские и биржевые системы, ERP, CRM и пр.), характеризующихся обработкой разного рода структурированной информации (учетных данных). Однако в последнее десятилетие основная деятельность организаций все больше связана с необходимостью использования неструктурированного контента, причем зачастую тоже в реальном времени. Речь идет о более широком применении различных ECM-приложений.

Название «операционные СУБД» (ОСУБД) Gartner стала использовать относительно недавно, только в прошлогоднем аналогичном обзоре. До этого применялся термин OLTP (Online Transaction Processing, онлайновая транзакционная обработка), который подразумевал, что база данных ориентирована на режим работы системы, часто в реальном времени, с реализацией относительно небольших по размерам транзакций, но идущих достаточно большим потоком; при этом критически важным для пользователя параметром является время реакции на его запросы. Эксперты Gartner и сейчас говорят об ориентации ОСУБД на создание транзакционных приложений корпоративного уровня, но при этом само понятие «транзакция» трактуется в более широком смысле. Если ранее под транзакцией обычно подразумевались операции со структурированной информацией (с фиксацией изменения данных), инициированные какими-то деловыми или производственными событиями (как правило, в рамках предопределенных бизнес-процессов), то сейчас они включают другие события и обработку иных типов данных.

В частности, Gartner вводит в обиход два новых класса данных: interaction data (данные взаимодействия) и observation data (данные наблюдений). Первый вариант связан в первую очередь с социальными моделями общения людей (твиты, посты, блоги) и обработкой сведений об их действиях в этих средах. В этому же классу данных относятся и более традиционные, но все же слабо структурированные типы данных, такие как архивы электронной почты, репозитарии контента, аудио- и видеозаписи. Второй новый тип данных генерируется разного рода «соединенными» устройствами, в основном мобильными, причем, как правило, в автоматическом режиме. Например, это данные геолокации, сведения о свойствах предметов в рамках модели Интернета вещей, какие-то дополнительные сведения о записях телефонных звонков. Казалось бы, эти данные являются вполне структурированными (как в традиционном варианте), но по сути для своей обработки (причем достаточно простой) они требуют создания нового класса приложений и выдвигают некоторые новые требования к СУБД.

Эксперты Gartner отмечают, что новые форматы данных сейчас используются не только аналитиками, но и в самих деловых транзакциях. Из опроса заказчиков следует, что 75% респондентов задействуют в транзакциях интерактивные данные, 50% — данные наблюдений.

Архитектурные и технологические тенденции

В течение многих лет (или даже десятилетий) в области транзакционных СУБД доминировали системы с реляционной архитектурой организации данных. Но сейчас авторы отчета специально подчеркивают, что ОСУБД используют как реляционные, так и нереляционные подходы. Повышение популярности нереляционных архитектур непосредственно связано с расширением спектра автоматизации операционной деятельности предприятий, с появлением новых классов транзакцией и типов обрабатываемых данных. Gartner отмечает, что важные изменения на рынке произошли в связи с осуществлением проектов NoSQL и Hadoop, в которых была выполнена поддержка неструктурированных данных в транзакциях, а также с реализацией идей «вычисление в памяти». С появлением данных возможностей многие организации начали применять эти новые СУБД-движки для реализации качественно новых концепцией, таких, например, как глобальное масштабирование Web-приложений.

Одним из требований к ОСУБД является наличие у них программных интерфейсов для взаимодействия с независимыми приложениями, а также инструментов управления производительностью, в том числе с учетом различных конкурентных типов рабочих нагрузок, хотя речь сегодня все же не идет о поддержке всего возможного спектра моделей данных. Но ОСУБД обязательно должны иметь функции резервного копирования и восстановления данных, причем желательно с поддержкой каких-то форм транзакционной надежности (transaction durability), но все же применение модели ACID (atomicity, consistency, isolation, durability — атомарность, согласованность, изолированность, надежность) не является обязательным.

Важным фокусом развития этого рынка является поддержка вычислений in-memory. Большинство вендоров начинают добавлять эту функциональность к своим СУБД, в том числе в варианте «только in-memory». Именно эта модель особенно востребована при обработке новых типов данных «взаимодействия» и «наблюдения». Сегодня объем доступной оперативной памяти на отдельных серверах уже достигает 32–64 Тб.

Большинство традиционных поставщиков используют технологии in-memory для поддержки аналитических функций. Вариант с применением флэш-памяти пока еще не получил широкого распространения, но экспертам Gartner он видится весьма перспективным. Конечно, NAND-флэш работает медленнее, чем DRAM, но все же она более эффективна в качестве прямо адресуемой памяти, чем кэширование на диске. Среди тенденций развития СУБД отмечается также рост интереса разработчиков к использованию формата JSON (JavaScript Object Notation) при работе со структурами данных.

Сегодня ОСУБД представлены как проприетарными продуктами, так и отрытыми проектами. Открытые системы обычно распространяются под лицензиями GPL или аналогичными, но в большинстве случаев в качестве обязательного требования заказчики выдвигают наличие сопровождения и технической поддержки от вендора, который является владельцем кода или имеет права на управлением им.

Конкурентная ситуация

В нынешний магический квадрант Gartner включила системы, которые поддерживают множество структур и типов данных, таких как XML, текст, JSON, аудио, изображения, видео. Они должны включать механизмы изоляции ресурсов для различных рабочих нагрузок и контроля за широким набором параметров доступа конечных пользователей в рамках управляемых экземпляров данных. Но в отчет не попали некоторые развивающиеся технологии, такие как «только облачные» СУБД или узкоспециализированные механизмы (например, поддерживающие только объекты или графы). Не включены также продукты, относящиеся к категории «дополнительного слоя», т. е. играющие вспомогательную роль для других коммерческих продуктов (в частности, не включен Oracle MySQL). Не рассматриваются и чисто «потоковые» механизмы обработки данных.

В то же время в квадранте представлены именно поставщики, а не отдельные продукты (как это обычно делает Forrester), т. е. каждый вендор представлен всем набором своих продуктов, удовлетворяющих требованиям отбора. При этом СУБД могут поддерживать множество моделей развертывания: это могут быть автономные программные продукты, разного рода сертифицированные конфигурации, различные облачные версии (публичные и частные), а также программно-аппаратные комплексы.

Если посмотреть на рынок ОСУБД с точки зрения расстановки сил, то при сравнении квадрантов 2013 и 2014 гг. нетрудно увидеть заметные изменения. Общим является то, что тут четко выделяются две группы участников — лидирующая с большим отрывом четверка ИТ-гигантов (к былой «тройке» — Oracle, IBM, Microsoft — еще несколько лет назад, во многом благодаря сделанным приобретениям, присоединилась SAP) и большая команда «догоняющих». Некоторые подвижки этого года видны в ведущей команде — сейчас уже нельзя говорить о безусловно первом месте Oracle. Но самые главные изменения произошли в группе преследователей: она увеличилась численно, визуально получила более линейную структуру (что само по себе характеризует повышение зрелости рынка), а ее передовая часть (сразу четыре компании) вошла в сегмент лидеров.

При этом даже те, кто сейчас находится в категории нишевых игроков, предлагают достаточно продвинутые решения, правда обычно с поддержкой ограниченного числа (одного-двух) моделей организации и типов данных. Лидеры же имеют в своем арсенале широкий диапазон моделей и типов данных, обеспечивая при этом высокий уровень масштабируемости и доступности.

Появление заметного числа новых игроков на рынке ОСУБД говорит о возросшей динамике его развития. Во многом это связано с использованием новых архитектур и технологий. Новички берут на себя функции пионеров в освоении инноваций, а более опытные вендоры внимательно следят за их опытом и включают востребованные заказчиком функции в свой арсенал.

Хотя Gartner не включила в свой отчет вариант «только облачные» СУБД, эксперты считают, что облачное направление является одним из перспективных направлений развития рынка. Они ожидают, что в ближайшие годы большинство вендоров будут предлагать облачные версии своих СУБД, причем в разных моделях — начиная с простейшего IaaS-варианта и заканчивая полноценными облачными СУБД-платформами с поддержкой эластичной масштабируемости и многоарендных архитектур. Наличие облачного развертывания (особенно на базе гибридной схемы) станет скоро важным конкурентным преимуществом, а затем и обязательным требованием для операционных СУБД.