Между Сциллой и Харибдой. Как создавалась высокопроизводительная отечественная NoSQL база данных

Не зря говорят, что реальность зачастую интереснее любых фантазий. Особенно сейчас, в сфере ИТ. Стоит заглянуть чуть глубже привычного — и открываются истории, достойные эпоса. Подобно мореплавателям древности компании отправляются в свои путешествия, где их ждут испытания, открытия и успехи.

Между Сциллой и Харибдой. Как создавалась высокопроизводительная отечественная NoSQL база данных
© It-world

У каждой компании свои цели, но всех объединяет необходимость балансировать между противоречивыми требованиями. Это напоминает путь «Арго» через узкий пролив между Сциллой и Харибдой. Для одних путеводной звездой становится зрелость продукта и скорость релиза, для других — производительность системы и ее стоимость, для третьих — оптимальность решений и требования регуляторов. Справиться с этими задачами непросто, особенно в условиях стремительных изменений. Но именно здесь рождаются лидеры — те, кто умеет соединять все факторы и двигаться вперед без потерь и компромиссов.

SMART technologies SOFT (вместе с системным интегратором SMART technologies компания образует группу SMART) более четырех лет занималась поддержкой open source-решений. И речь идет не только о базовых задачах: в исходный код вносились изменения, проводилась интеграция с различными системами, добавлялся функционал (особенно в части безопасности и логирования), которого не хватало заказчику. Так формировалась сильная экспертиза. В определенный момент в компании решили, что пришло время предложить рынку собственное решение — безопасное, высокофункциональное и адаптированное к российским реалиям. Появилась распределенная СУБД Haribda — высокопроизводительная NoSQL-база данных с широкими столбцами.

Что в имени тебе моём?

Haribda опирается на подходы, реализованные в продукте Scylla, но вышла на новый уровень: это самостоятельное решение с собственным уникальным функционалом. Одной из ключевых областей его применения разработчики называют обработку больших данных. Но этим спектр задач не ограничивается: Haribda востребована там, где критически важны высокая производительность, масштабируемость (как горизонтальная, так и вертикальная) и минимальные задержки. Это финтех, интернет вещей, медицинские исследования, социальные сети, игровая индустрия, телеком, электронная коммерция, а также платформы логирования, системы оповещения и мониторинга.

Важно подчеркнуть, что Haribda — зрелый продукт, зарегистрированный в Реестре российского ПО (№26717 от 28.02.25). Его преимущества подтверждены независимыми тестами. Так, например, в рамках проекта для крупной финансовой организации Haribda 6.2.3 оказалась почти вдвое эффективнее Apache Cassandra 4.1.9 — 223 тыс. операций в секунду против 126 тыс. при записи. При чтении Haribda быстрее на 9,7%, а при смешанной нагрузке обеспечивает на 42% большую пропускную способность, сохраняя низкий уровень отклика. Эти показатели особенно важны для сценариев реального времени и высоконагруженных систем. Достичь их удалось благодаря применению C++ и векторизованному исполнению запросов.

Глазами заказчика

Итак, SMART technologies SOFT обладает обширным опытом доработки ПО под нужды заказчиков, а потому хорошо понимает их реальные потребности. Исходя из этого, компания добавила в продукт наработки в области автоматизации: скрипты развертывания с подробной документацией, Ansible-роли и плейбуки, которые позволяют запустить кластер одной командой, поддержку контейнеризации и оркестрации через Kubernetes и платформу «Боцман», коробочное решение для эффективного использования и управления кластерами баз данных внутри организации (эта разработка также начиналась в SMART technologies SOFT). Вместе с Haribda и системой управления и мониторинга «СТ.Монитор» они формируют развивающуюся экосистему. Ожидается, что в будущем ее дополнят и другие продукты.

Особое внимание уделено администрированию системы. Для упрощения повседневной работы с Haribda был разработан собственный инструмент администрирования — SQL Commander. Его интуитивно понятный веб-интерфейс позволяет комфортно управлять кластерами, выполнять SQL-запросы, отслеживать состояние системы и настраивать доступ пользователей. В первую очередь такой интерфейс ориентирован на использование аналитиками и администраторами, которые привыкли работать в визуальной среде. SQL Commander также ускоряет доступ к данным. Помимо этого, он интегрируется с системой ролей и событий, а также поддерживает визуализацию метрик и логов. Кроме того, доступен командный интерфейс CQL CLI, который позволяет техническим специалистам выполнять администрирование непосредственно из операционной системы, например, управлять пользователями, правами доступа, просматривать системные таблицы и метаданные, осуществлять мониторинг сессий и запросов.

Для отслеживания состояния узлов, производительности, отклонений и нагрузки в режиме реального времени Haribda может интегрироваться и выгружать метрики в различные open-source-инструменты, например, Prometheus и Elasticsearch. Или в уже упомянутый «СТ.Монитор». При этом поддерживается полный журнал событий, как технических, так и связанных с безопасностью. Эти данные могут понадобиться для расследования инцидентов, аудита и соответствия требованиям регуляторов.

Вопрос надежности

Кибербезопасность всегда имела ключевое значение. В случае Haribda этот аспект особенно важен, ведь решение в перспективе может использоваться на объектах критической инфраструктуры и в госсекторе. Поэтому вопросам безопасности уделено повышенное внимание.

В частности, в Haribda реализован полный и детальный аудит событий с возможностью выбора категории операций, уровня логирования и места хранения — в таблицах или системных логах. Централизованная аутентификация обеспечивается поддержкой LDAP.

Гибкая политика паролей позволяет задать сложность, срок действия, историю и правила блокировки при неудачных попытках входа. Кроме того, можно ограничить доступ к конкретным объектам или операциям.

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

Взгляд в будущее

Haribda уже является зрелым решением, отвечающим многим требованиям рынка, и её развитие продолжается. В первую очередь это касается сертификации ФСТЭК. Без этого невозможно работать в определенных областях. Разработчики уверены, что Haribda соответствует требованиям регулятора, поэтому получение сертификата — лишь вопрос времени.

Еще одно ключевое направление — создание облачной версии Haribda. Сейчас доступно on-premise-решение, что во многом связано с требованиями безопасности. Однако не все нуждаются в полностью изолированной инфраструктуре. Кроме того, некоторым компаниям сложно поддерживать собственную инфраструктуру, а облако позволит снизить порог входа для них.

Упомянутый ранее веб-интерфейс планируется расширить так, чтобы он включал встроенный мониторинг, просмотр логов, удобные визуальные панели и инструменты для быстрого анализа состояния кластера. Это еще один шаг навстречу заказчикам со средними инсталляциями, ведь зачастую у них может не быть отдельных команд DevOps или внешних систем мониторинга. Разработчики продолжат повышать производительность и масштабируемость Haribda. Для этого планируется использовать как собственные наработки, так и опыт open source-сообщества. Интерфейс и инструменты администрирования станут еще удобнее для пользователей. Планируется внедрение поддержки нескольких паролей на одного пользователя, внутренняя проверка согласованности данных и расширение механизмов резервного копирования и автоматического восстановления.

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