В мире информационных технологий роль данных становится все более критической. Компании и организации по всему миру сталкиваются с огромными объемами информации, которую необходимо хранить, обрабатывать и анализировать для принятия обоснованных решений. В этом контексте базы данных играют ключевую роль, и выбор правильной системы управления данными становится важным стратегическим шагом.
Одной из перспективных альтернатив среди современных аналитических баз данных является Arenadata DB. Эта реляционная СУБД с открытым исходным кодом, построенная на основе Greenplum, предоставляет организациям мощный инструмент для работы с большими объемами данных.
В данной статье мы рассмотрим определение Arenadata DB, ее разновидности и основные области применения в IT-сфере, а также рассмотрим ее преимущества и недостатки, чтобы помочь вам принять информированное решение о ее использовании в вашем проекте.
Общие сведения
Arenadata DB представляет собой аналитическую базу данных на основе Greenplum с открытым исходным кодом. Эта база данных является масштабируемой и используется в критически важных системах, которые оперируют большими объемами данных. Её возможности для хранения данных не ограничены, и она обеспечивает более высокую производительность на 20% по сравнению с другими системами управления базами данных.
Arenadata DB в форме сервиса представляет собой быстрое кластерное решение, которое позволяет развернуть базу данных для обработки и хранения больших объемов данных всего в несколько кликов, без необходимости создавать и поддерживать собственную инфраструктуру.
Краткая история разработки и предпосылки появления
Системы с массово-параллельной обработкой (MPP) состоят из отдельных узлов, каждый из которых имеет свой собственный процессор, оперативную память, и другое оборудование. Каждый узел функционирует независимо, и доступ к его памяти и жестким дискам ограничивается только его собственному процессору. Узлы соединяются между собой и с управляющим мастер-сервером через высокоскоростные коммуникационные каналы со скоростью 10 Гбит/с и выше.
Основные преимущества MPP-систем включают:
- Быструю обработку больших объемов данных при выполнении сложных SQL-запросов благодаря параллельному выполнению операций и отсутствию необходимости в синхронизации процессоров на каждом такте.
- Простоту горизонтального масштабирования до сотен узлов.
- Устойчивость к сбоям благодаря зеркалированию и резервированию.
На протяжении длительного времени на рынке аналитических MPP-СУБД существовало всего несколько основных решений, таких как Vertica, Teradata, Netezza и Greenplum.
Greenplum представляет собой горизонтально масштабируемую реляционную СУБД с хранением данных в столбцах. Она базируется на объединении СУБД PostgreSQL в кластеры, где каждый узел имеет свою собственную память, операционную систему и жесткие диски, что характерно для архитектуры MPP.
Особенность Greenplum заключается в наличии резервного сервера, который активируется при возникновении проблем с основным сервером, повышая таким образом устойчивость системы к сбоям.
В 2017 году компания Pivotal, владеющая Greenplum, опубликовала исходный код СУБД под лицензией Apache. На основе этого кода компания Arenadata, основанная бывшими сотрудниками Pivotal и компании Mirantis, представила свое собственное решение — Arenadata DB (ADB).
Область применения
Arenadata DB представляет собой корпоративную базу данных, которая может быть использована в различных секторах бизнеса, включая банковское и финансовое дело, страхование, телекоммуникации, государственные органы, промышленные предприятия, розничную торговлю, логистику и другие организации, как основное хранилище данных и аналитическую платформу.
Для корпоративной аналитики, начиная с бизнес-аналитики и заканчивая искусственным интеллектом, Arenadata DB обладает широкими возможностями обработки транзакций и поддержкой потоковых данных.
Она способна хранить и обрабатывать огромные объемы данных, начиная от небольших единиц и заканчивая сотнями терабайт. Это делает ее подходящей для предиктивной аналитики, создания корпоративных хранилищ данных, формирования отчетов и решения других задач, связанных с большими объемами данных.
Важным аспектом является защита целостности данных, что делает Arenadata DB идеальным решением для критически важных систем, где потеря данных неприемлема. Резервное копирование и аварийное восстановление обеспечивают надежное сохранение информации компании.
Назначение
Наши СУБД наиболее эффективно применяются в следующих областях:
- Обработка сложных запросов, включая аналитические функции, которые работают с большими объемами данных, включая анализ поведения пользователей.
- Создание различных видов отчетности, включая операционную, управленческую и обязательную регуляторную.
- Проведение глубокого анализа данных на основе AD-HOC запросов.
- Эффективное объединение больших таблиц данных.
- Поддержка систем маркетинговых кампаний и программ лояльности.
- Разработка различных видов скорингов.
- Предсказательная аналитика, включая прогнозирование спроса и управление остатками.
С использованием Arenadata DB можно решать следующие задачи:
- Создание корпоративных хранилищ больших данных, включая классические хранилища данных, которые обновляются в реальном и околореальном времени.
- Виртуализация и федерация данных, обеспечивая доступ ко всем данным через SQL-запросы в единое окно.
- Разгрузка инженерных систем с использованием ПАК на базе Arenadata DB и Arenadata QuickMarts, что может привести к упрощению эксплуатации данных и миграции с Hadoop на Arenadata DB.
- Интеграция с различными BI-системами, совместимыми с JDBC/ODBC, позволяя быстро разворачивать и сворачивать зоны «песочниц» для пилотных проектов и проверки статистических гипотез.
- Возможность работы со всеми аналитическими инструментами.
Принцип работы
Arenadata DB, так же как и её «родительская» реляционная СУБД, имеет массово-параллельную архитектуру без разделения ресурсов и способна хранить и обрабатывать огромные объёмы данных, вплоть до нескольких петабайт.
Архитектура ADB представляет собой классический кластер, который включает в себя основной и резервный мастер-серверы, а также несколько серверных сегментов, соединенных быстрыми интерконнектами. В каждом серверном сегменте имеются несколько сегментов PostgreSQL, содержащих информацию. Если возникают проблемы с одним или несколькими сегментами, они могут быть заменены их «зеркалами» с использованием технологии опережающей записи (Wright Ahead Log, WAL). Такая система обеспечивает заранее заданный уровень отказоустойчивости, даже при выходе из строя половины серверов.
Использование нескольких интерконнектов позволяет повысить пропускную способность канала между сегментами и обеспечить отказоустойчивость путем перераспределения трафика. Распределение сегментов по сетевым интерфейсам настраивается индивидуально в соответствии с задачами кластера.
ADB поддерживает классическую схему разделения данных, где каждая таблица состоит из N таблиц, размещенных на N сегментах кластера. Тип и уровень сжатия можно настраивать для каждой колонки таблицы. В ADB также доступен алгоритм сжатия zstandard, который обеспечивает высокую производительность в сравнении с zlib.
Arenadata DB позволяет хранить данные в разных форматах, включая вертикальное и колоночное хранение, но для пользователя это выглядит как один объект.
Система обеспечивает безопасность данных через шифрование данных и соединений «сервер-клиент» по протоколу SSL на всех этапах их жизненного цикла. Разграничение доступа и прав доступа осуществляется с помощью ролевой модели, что позволяет гибко настраивать правила доступа к информации.
ADB обеспечивает высокую производительность при обмене данными с внешними системами с помощью протокола параллельного обмена данными, что позволяет взаимодействовать с внешними системами сразу со всеми сегментами кластера.
Arenadata DB можно устанавливать как on-premise, так и в облаке, воспользовавшись «базой данных как сервисом» в облаках крупных российских провайдеров, таких как VK Cloud Solutions, Cloud.ru, beeline cloud, DataLine и других.
Особенности
Многие российские разработки используют продукты с открытым исходным кодом в своей работе. Однако важно понимать, насколько эти продукты дорабатываются и усовершенствованы, а не просто «переклеивается шильдик».
Arenadata DB отличается в этом отношении, так как Greenplum, на котором она основана, может быть названа «российской» в значительной мере. В 2022 году компания Arenadata внесла 44% всех утвержденных изменений в последнюю, на данный момент, версию Greenplum от международного сообщества разработчиков. На втором месте идет китайская компания Alibaba с 15%, а на четвертом месте — российская компания «Яндекс» с 13%. Похожая ситуация была и в 2021 году: 30% от Arenadata, 18% от Alibaba и 18% от «Яндекса».
Эта статистика учитывает только внесенные независимыми контрибьюторами изменения, не учитывая усовершенствования от владельца продукта, компании VMware Tanzu. Это говорит о том, что Arenadata активно вносит вклад в развитие Greenplum.
Одним из важных усовершенствований от Arenadata был алгоритм сжатия zstandard, который был внедрен сначала в Arenadata DB 5, а затем в Greenplum 6.
Другим важным преимуществом Arenadata DB является то, что она не является изолированным продуктом. Arenadata разработала семейство продуктов, которые формируют платформу для управления данными, что делает работу с СУБД более эффективной.
В 2020-2022 годах семь основных продуктов компании были включены в Реестр российского программного обеспечения. А в 2023 году Arenadata получила лицензии Федеральной службы по техническому и экспортному контролю на разработку и производство средств защиты конфиденциальной информации и технической защите конфиденциальной информации.
Arenadata DB также получила сертификат соответствия ФСТЭК РФ № 4675 от 2 июня 2023 года, став первой в России сертифицированной аналитической, распределенной СУБД, построенной на MPP-системе с открытым исходным кодом.
Ключевые особенности Greenplum:
- Минимальная предобработка данных. Greenplum способен работать с данными из различных источников с минимальной необходимостью в предварительной обработке.
- Поддержка реляционной модели данных. Greenplum легко интегрируется с PostgreSQL и другими реляционными решениями, обеспечивая гибкость в работе с информацией.
- Изоляция различных типов нагрузок. Greenplum позволяет разделить разные виды нагрузок друг от друга, что способствует эффективному выполнению параллельных операций.
- Высокая скорость обработки сложных аналитических запросов. Благодаря MPP-архитектуре (Massively Parallel Processing) Greenplum быстро обрабатывает сложные аналитические запросы.
- Анализ данных в режиме реального времени. Greenplum позволяет анализировать информацию в реальном времени и делать прогнозы на основе полученных результатов.
- Интеграция с другими аналитическими решениями. Greenplum предоставляет доступ к данным через интерфейс, который легко интегрируется с другими аналитическими решениями, обеспечивая более широкий спектр возможностей.
Преимущества
Преимущества использования Arenadata DB в облаке:
- Готовая база данных в облаке. Нет необходимости приобретать и обслуживать собственные серверы и инфраструктуру. Вы получаете готовое решение в облаке.
- Совместимость с PostgreSQL. Просто переносите данные из реляционных СУБД без необходимости перестраивать логику работы с данными, так как Arenadata DB совместима с PostgreSQL.
- Обработка любых данных. Эта база данных может служить основой для Data Lake и принимать данные с минимальной предварительной обработкой.
- Масштабирование. Выбирайте необходимый объем ресурсов без необходимости заботиться о конфигурациях машин, начиная от гигабайт и до сотен терабайт.
- Снижение общей стоимости владения (TCO). Вы оплачиваете только за использованные ресурсы, а не за лицензии, что позволяет снизить общие затраты.
- Интеграция с Big Data. Легко интегрируйте инструменты анализа данных в сервисе Cloud Big Data от VK, включая Hadoop, Spark и Airflow.
Недостатки
Разумеется, помимо преимуществ, у этой СУБД также есть и слабые стороны.
В списке ниже собраны недостатки Arenadata DB:
- Ограниченная популярность. Arenadata DB не так широко распространена и популярна, как некоторые другие реляционные базы данных, что может означать ограниченное количество сообщества для поддержки и меньше доступных ресурсов для обучения.
- Ограниченная экосистема. Недостаточное количество инструментов и решений, разработанных специально для Arenadata DB, может усложнить интеграцию с другими системами и требовать дополнительной разработки.
- Сложность установки и настройки. Некоторые пользователи могут столкнуться с трудностями при установке и настройке Arenadata DB, особенно если они не имеют опыта работы с подобными системами.
- Ограниченная документация. Может быть ограниченный объем документации и руководств по использованию и настройке Arenadata DB, что затрудняет обучение и решение проблем.
Заключение
Arenadata DB представляет собой современную базу данных с открытым исходным кодом, разработанную на основе Greenplum и ориентированную на аналитические задачи. Она обладает массово-параллельной архитектурой, позволяя эффективно обрабатывать большие объемы информации. В IT-сфере сегодня существует множество разнообразных систем управления БД, и Arenadata DB предоставляет важную альтернативу для организаций, которые нуждаются в высокоэффективной и горизонтально масштабируемой аналитической СУБД.
Arenadata DB находит применение в различных областях IT-сферы, начиная от банков, финансовых компаний и страховых организаций, и заканчивая промышленными предприятиями и логистическими компаниями. Ее возможности в обработке информации позволяют эффективно выполнять сложные SQL-запросы, работать с большими объемами информации и обеспечивать отказоустойчивость. Она также подходит для аналитики поведения пользователей, создания корпоративных хранилищ информации и предсказательной аналитики.
Среди преимуществ Arenadata DB стоит выделить ее способность обрабатывать данные из разных источников, поддержку реляционной модели данных, высокую производительность при выполнении аналитических запросов, а также возможность анализа данных в режиме реального времени. Однако, несмотря на ее многие достоинства, она также имеет свои недостатки, включая ограниченную популярность и некоторые сложности в установке и настройке.