Молотком или отверткой? Как компании выбирают между специализированными и универсальными СУБД
![](http://pics.rbc.ru/img/cnews/article_empty_image.gif)
Антон Коваленко
директор департамента продуктового маркетинга Arenadata.
Данные — новый актив для российских компаний, а выбор инструмента для работы с ними — стратегическая задача, от выполнения которой будет зависеть успех бизнеса и его конкурентоспособность. И тут возникает один из главных вопросов: какую СУБД внедрить — универсальную или специализированную? Антон Коваленко, директор департамента продуктового маркетинга Arenadata, рассказывает, в чем их принципиальные отличия и для каких задач подходит каждая из них.
Универсальные и специализированные СУБД
В мире баз данных существует разнообразие решений, включая универсальные и специализированные системы управления базами данных. Универсальные системы, такие как PostgreSQL, MySQL, MS SQL и Oracle, предназначены для широкого спектра применений: от операционных транзакций до аналитики на небольших объемах данных. «Если речь идет об относительно небольшом объеме и отсутствии жестких требований SLA по производительности, то вполне можно обойтись универсальной СУБД, конечно, при условии, что есть опытная команда администраторов баз данных. Но довольно часто производительность универсальной СУБД может выступать узким горлышком», — поделился мнением Игорь Гончаров, руководитель службы управления данными банка «Уралсиб».
Для решения же более конкретных задач, в том числе таких, как обработка данных в режиме реального времени, выполнение сложных аналитических запросов на больших объемах данных, работа с временными рядами и т.д., были разработаны специализированные СУБД. Среди них Teradata, Greenplum, Vertica, Oracle Exadata, ClickHouse, InfluxDB, Redis и др.
«Обратной стороной универсальности СУБД является жесткое регламентирование процессов и вытекающие из этого ограничения. В аналитических задачах для работы с большими объемами данных лучше всего использовать специализированные СУБД, имеющие наилучшие характеристики под какую-либо задачу. При таком подходе увеличивается ассортимент используемых СУБД, что требует больше ресурсов от команды, но повышается гибкость при проведении анализа и расширяются возможности в применении инструментов. Аналитика должна давать возможность получить несколько value из одних и тех же данных, применив к ним различные инструменты», — говорит Глеб Смирнов, владелец платформы Hadoop в дата-офисе Банка «Санкт-Петербург».
Принципиальные отличия между универсальными и специализированными системами управления базами данных заключаются в их предназначении, архитектуре и функциональности. Пример универсальной СУБД — PostgreSQL. Она предназначена для работы с реляционными данными со строковым хранением.
Если говорить о специализированных системах, то они могут использовать другие способы хранения данных, такие как колоночное хранение, что позволяет им обеспечить высокую производительность. Например, ClickHouse оптимальна для обработки простых аналитических запросов на структурированных данных в режиме реального времени, а Greenplum позволяет использовать различные способы хранения данных и обрабатывать сложные аналитические задачи. «Мы пока не дошли до того уровня объема данных или сложности вычислений, когда у специализированной СУБД будет существенное преимущество над универсальной. Но понимаем, что объемы у нас увеличиваются. На универсальной СУБД такие массивы данных обработать не удастся. Если говорить о ClickHouse, то это прежде всего готовность к масштабированию. Например, на текущем стеке мы просто не построим некоторые дашборды, запросы на которые появляются у наших заказчиков, так как в режиме реального времени потребуется предобрабатывать очень большое количество данных. Та же ClickHouse может просто перемолотить эти миллионы записей очень быстро», — поделился мнением Денис Ерофеев, директор департамента развития бизнес-процессов золотодобывающего предприятия «Полюс».
Роль комьюнити в развитии экосистемы
Развитие экосистемы баз данных играет ключевую роль в обеспечении их успешной адаптации под потребности бизнеса. Например, благодаря открытому исходному коду и активному вкладу мирового сообщества разработчиков СУБД ClickHouse активно совершенствуется и развивается. Компании и сообщество осуществляют вклад в разработку, добавляют новые функции и оптимизируют производительность. Разработчики предлагают свои коммиты в репозиторий проекта через процедуру одобренных запросов сообществом Pull Requests (PR), обсуждают идеи и предложения на форумах разработчиков, помогают тестировать новые функции и исправлять ошибки в рамках открытых бета-тестов.
Аналитики консалтингового агентства BI Consult решили разобраться, кто сегодня развивает ClickHouse. Для этого они исследовали активность участников комьюнити-проектов на GitHub — крупнейшем веб-сервисе для совместной разработки ИТ-проектов. Аналитики оценивали число PR. По итогу выделили пятерку лидеров, помимо основного разработчика проекта ClickHouse — ClickHouse, Inc., в число которых вошли компании Arenadata, Semrush, Altinity, Inc., IBM и Tencent.
Нередко запросы на изменения в проекте происходят в ответ на пожелания бизнеса — конечных пользователей технологий. Так, для одного из крупнейших банков страны разработчиками Arenadata была добавлена поддержка зашифрованных элементов в конфигурационном файле. До этого момента пароли в ClickHouse хранились в виде текста в открытом виде, что было неприемлемо с точки зрения информационной безопасности и создавало значительные риски возникновения инцидентов. Данная доработка позволила хранить пароли в зашифрованном виде так, чтобы пользователь не мог их просмотреть, просто открыв файл. Этот PR позволяет использовать СУБД в других проектах, которые отличаются повышенными требованиями в сфере информационной безопасности.
Для одного из ритейлеров РФ был реализован и добавлен OR-оператор в секции ON для операции Join. Это был важный шаг на пути к полной поддержке стандарта SQL в продукте Arenadata QuickMarts (ADQM) на базе ClickHouse. Он упростил и ускорил работу аналитиков с данной системой управления базами данных, повысив тем самым ее функциональность и удобство использования.
Однако далеко не всегда появление доработки генерируется в связи с каким-либо проектом определенного заказчика. Зачастую идея формируется внутри команды разработчиков и потом транслируется в комьюнити, где уже оценивается ее потенциал и принимается решение об одобрении.
Таким образом был, к примеру, реализован параметр для управления числом активных подключений в рамках одного пользователя. Ранее ClickHouse позволяла администраторам контролировать только общее число подключений, что могло привести к ситуации, когда один пользователь использовал все доступные подключения, оставляя других пользователей без возможности работы. Новый параметр решил эту проблему, позволив ограничить максимальное количество одновременных сессий для каждого аутентифицированного пользователя. Это сделало управление и администрирование ClickHouse более гранулярным и повысило стабильность работы пользователей.
Другой пример — добавление системной таблицы журнала backup_log для отслеживания всех операций Backup и Restore. Таблица backup_log позволила администраторам баз данных более эффективно отслеживать и аудировать все операции резервного копирования и восстановления. Это важно для обеспечения безопасности данных и их целостности, особенно в условиях, когда данные являются критически важными. Возможность видеть историю и статус этих операций позволяет быстро реагировать на возможные проблемы и гарантирует, что данные всегда можно восстановить в случае сбоя или других непредвиденных ситуаций. Кроме того, это повышает прозрачность аудита таких операций.
Современные требования бизнеса по специализации аналитики и больших данных
Сегодня запросы компаний к возможностям СУБД выходят за рамки простого хранения данных.
Например, все чаще требуется обрабатывать и анализировать данные в режиме реального времени. Как результат появления таких требований, одной из важнейших особенностей ClickHouse является очень высокая скорость выполнения SQL-запросов. ClickHouse обрабатывает OLAP-запросы в десятки или даже сотни раз быстрее, чем многие другие СУБД, а ее производительность составляет терабайты данных в секунду. По данным Arenadata, ClickHouse крайне востребована в отрасли финтеха, ритейла и медиа.
Игорь Гончаров поделился опытом банка «Уралсиб»: «В практическом кейсе нашего банка управленческая отчетность в BI строится на подготовленном в DWH массиве проводок, обогащенных необходимыми аналитическими признаками. При этом подразумевается как построение визуализации итоговых форм на любой производный период, так и возможность drill down до первичных операций. Это, с одной стороны, позволяет закрыть вопрос «мы не понимаем / не сходимся с вашими значениями» раз и навсегда, с другой — элементарные операции агрегации, наложения фильтров в дашборде даже при условии, что выполнение этих операций осуществляется через push down на высокопроизводительный сервер универсальной СУБД, приводят к длительному «зависанию» и никак не укладываются в наши стандарты, что обновление дашборда не должно превышать 10 секунд». Он добавил, что для банка эту задачу легко решить, если таблицу с первичными данными на многие сотни миллионов строк поместить в ClickHouse, которую можно поднять на относительно небольшом виртуальном сервере.
Бизнесу нужны решения, которые способны обеспечить высокую производительность, гибкость и функциональность, соответствующие их конкретным потребностям и стратегии развития. Именно поэтому специализированные СУБД становятся все более популярными среди компаний, где используются большие данные. Это позволяет быстро адаптироваться к изменяющимся условиям рынка и масштабировать свои базы данных в соответствии с ростом бизнеса.
■ erid:LjN8KDNpMРекламодатель: ООО «Аренадата Софтвер»ИНН/ОГРН: 7713468845 /1197746413160Сайт: https://arenadata.tech