QuadCode

Хранилище данных для лидера в индустрии онлайн-трейдинга

QuadCode выбрали Arenadata DB (ADB) как основу высоконадёжного, масштабируемого корпоративного хранилища данных. К платформе для управления данными компания предъявляла два ключевых требования: возможность быстрого масштабирования и высокая скорость обработки данных.

О компании QuadCode

Это международная компания по разработке программного обеспечения, основным продуктом которой является платформа для онлайн-торговли. Бренд QuadCode активен во всём мире и работает на 13 языках, предлагая возможность торговать различными инструментами, включая Forex, CFD, криптовалюты и опционы. Компания занимает первые позиции мировых лидеров в индустрии онлайн-трейдинга. Текущее хранилище на текущий момент содержит более 20 ТБ данных.

Предпосылки создания проекта

Все решения трейдеров основаны на аналитике. Анализ не ограничивается изучением цены активов и их поведения, а включает в себя аналитику социальных и политических тенденций, мониторинг клиентов и поведения на фондовом рынке. Все эти аспекты генерируют огромное количество данных, которые необходимо сводить в аналитические дашборды в режиме реального времени. К корпоративной технологической платформе для управления данными компания предъявляла два ключевых требования:
  • возможность быстрого масштабирования;
  • высокая скорость обработки данных.
QuadCode планировали заменить «ванильный» Greenplum 5 на высокопроизводительное решение для сложных запросов, обрабатывающее большие объёмы данных со сложными аналитическими функциями (отчётность, глубокий AD-HOC анализ и предиктивная аналитика). Выбор был сделан в пользу корпоративной версии колоночной массивно-параллельной СУБД на базе Greenplum Arenadata DB 6 (ADB 6), предназначенной специально для хранения и обработки огромных объёмов данных и «тяжёлой» аналитики.
Александр Иванов
главный системный архитектор компании QuadCode.

«В ближайшие 5-7 лет благодаря мощным инструментам аналитики Big Data рынок торговли финансовыми активами и валютами изменится больше, чем за последние несколько десятилетий. Уже сейчас QuadCode активно использует Open Source технологии для хранения данных и принятия решений, но мы отказались от «ванильных» сборок из-за того, что нам самим приходилось собирать, тестировать и поддерживать решения, а также решать проблему с интеграцией разрозненных компонентов. Так для задач хранения мы мигрировали на платформу Arenadata DB с открытой гибридной архитектурой и технической поддержкой».

Хранилище данных QuadCode на базе Arenadata DB

Как до, так и после проекта миграции с Open Source версии Greenplum 5 на Arenadata DB 6, компания Arenadata оказывает QuadCode услуги технической поддержки. Анализ возможностей и пилотное тестирование Arenadata DB показали, что миграция на новую платформу сможет обеспечить QuadCode важные технические преимущества, включая:
  1. Встроенные средства мониторинга работоспособности серверов кластера (на базе Grafana и Graphite) по 19 ключевым показателям, включая:
    • Database is (мониторинг доступности базы данных);
    • Mirrors as primaries (переключение основных сегментов на их зеркала);
    • Database Segments (текущее состояние сегментов);
    • Master Replication State (состояние репликации между мастер-сервером и standby мастер-сервером);
    • Системные метрики, которые контролируют состояние операционной системы и другие показатели.
  2. Полностью автоматизированные установка, настройка и обновление системы, а также простые инструменты для горизонтального масштабирования.
  3. Алгоритм компрессии Zstandard (ZSTD) — алгоритм эффективного сжатия данных без дополнительной нагрузки на CPU.
  4. Встроенная установка фреймворка PXF (Platform eXtension Framework) для параллельного обмена данными со сторонними системами.
В составе решения Arenadata DB реализован протокол параллельного обмена данными со сторонними системами — PXF. На основе данного протокола и с помощью механизма внешних таблиц на базе Greenplum можно строить очень производительные и гибкие платформы обработки данных. Например, благодаря PXF можно хранить горячие данные в Oracle, тёплые — в Greenplum, холодные — в Hadoop. При этом пользователю даже не надо знать, где хранятся данные. Он просто выполняет запрос к таблице, а уже сам Greenplum понимает откуда забрать данные.

Проект миграции был успешно реализован в начале 2020 года. В настоящий момент Arenadata продолжает оказывать QuadCode услуги технической поддержки, которые включают:

  1. Vendor Support, включая гарантированный SLA (Service Level Agreement) по времени обслуживания; оперативную диагностику и локализацию проблем; своевременное устранение сбоев, помощь в проведении обновлений, устранение багов в продукте версий и другие опции.
  2. DBA как сервис — администрирование высоконагруженных критичных систем в режиме 24х7. Включает поддержку работоспособности сервисов, администрирование, резервное копирование и восстановление, проактивный мониторинг доступности; регламентные работы и другие операции.

Текущая конфигурация кластера QuadCode — 13 nodes и 2 master-сервера.

Эффективное сжатие данных

Эффективность компрессии — один из самых важных параметров для современных аналитических систем управления базами данных. Zstandard пришёл на смену Zlib, который использовался в Greenplum 5. Zstandard имеет более высокие коэффициенты сжатия, затрачивая меньше времени на обработку сжатых данных. По факту такая компрессия позволяет снизить нагрузку на достаточно дорогую дисковую подсистему кластера, загрузив сравнительно недорогие CPU. При последовательном чтении и записи больших объёмов данных это, в свою очередь, позволяет существенно снизить TCO.

Arenadata реализовала поддержку ZSTD для колоночных таблиц в коммерческой версии собственного продукта Arenadata DB 5 (и позднее ADB 6), а также добавила этот алгоритм в Open Source-версию Greenplum (соответствующее обновление появилось в релизе Greenplum 6.0).

Сложности в проекте миграции

  1. Перенос данных на новый кластер.

    Обычно происходит с помощью функций backup-restore. Однако на историческом кластере не было достаточно места для полноценного backup. В результате воспользовались специальным плагином для выполнения backup на внутреннем сервисе S3-хранилище.

  2. Восстановление данных после переноса

    Были нюансы с восстановлением данных в связи с изменениями DDL отдельных представлений и функций. В релизе Greenplum 6 (по сравнению с версией 5) некоторые представления ссылались на колонки, которые были переименованы в Greenplum 6. В результате внесли изменения в DDL в ручном режиме и после этого завершили тестовый перенос данных.

Спасибо, что написали нам!

Мы обработаем заявку и свяжемся с вами в ближайшее время.

Будем рады помочь!

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

Фамилия *
Имя *
Эл. почта *
Телефон *
Наименование компании *
Опишите ваш вопрос
ошибка! проверьте правильно ли вы заполнили поля

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