Arenadata Streaming (ADS) — масштабируемая отказоустойчивая платформа для потоковой обработки данных в реальном времени, адаптированная для корпоративного использования и реализованная на базе Apache Kafka и Apache NiFi.
Целевые сценарии использования Arenadata Streaming (ADS)
Корпоративная шина обмена данными
Передача данных между различными системами и приложениями компании
Потоковая обработка данных
Возможность обрабатывать большие объёмы данных в реальном времени
Интеграция с различными источниками
Прием данных из баз данных, приложений и IoT-устройств
Среда консолидации потоков
Управление и объединение потоков данных в реальном времени
Разграничение прав доступа
Инструмент для настройки доступа к потокам данных
Отказоустойчивое хранение потоков
Надёжное и долговременное хранение записей потоков данных
Фреймворк для потоковых приложений
Разработка аналитических решений для обработки потоков данных без программирования
Аналитика и обнаружение аномалий
Инструменты для анализа больших данных в реальном времени, включая прогнозы и машинное обучение
Преимущества Arenadata Streaming
Продукт включен в Единый реестр национального ПО и получил сертификат ФСТЭК
Мгновенная обработка аналитических запросов в реальном времени, даже при работе с терабайтами данных
Колоночное хранение и эффективное сжатие позволяют снизить расходы на дисковое пространство
Решение с высокой эффективностью обрабатывает как структурированные, так и неструктурированные данные, обеспечивая обработку сотен тысяч сообщений в минуту
Кластер легко расширяется за счёт добавления новых узлов без прерывания работы системы
Автоматическое восстановление данных при сбоях, не требующее вмешательства администратора
Внедрение Arenadata Streaming (ADS) c Первый Бит
Демонстрация и оценка
Продемонстрируем возможности Arenadata Streaming (ADS) и оценим, насколько продукт отвечает вашим задачам
Проектирование архитектуры
Подберем оптимальную архитектуру решения, спланируем интеграцию с другими ИТ-системами
Продажа лицензий
Поможем купить или продлить лицензии Arenadata Streaming (ADS) без дополнительного договора с вендором
Внедрение
Проработаем с вами техническое задание, проведем необходимые интеграции и настройки платформы, протестируем и обучим сотрудников
Импортозамещение иностранных СУБД
Благодаря высокой технической зрелости и широкому функционалу система Arenadata Streaming способна заменить решения многих иностранных вендоров: Confluent, IBM, SAS, Azure Stream Analytics, TIBC, Cloudera, Informatica.
Состав компонентов Arenadata Streaming
| ADS 3.7.2.1 | ADS 3.9.0.1 | ADS 3.9.1.1 | ADS 3.9.1.2 | ADS 4.1.1.1 | |
|---|---|---|---|---|---|
|
ADCM
Arenadata Cluster Manager — универсальный оркестратор гибридного ландшафта
|
latest | latest | latest | latest | latest |
|
Kafka
Распределённая платформа потоковой передачи для управления приёмом, обработкой и анализом
потоков данных в режиме реального времени
|
3.7.2 | 3.9.0 | 3.9.1 | 3.9.1 | 4.1.1 |
|
Kafka Connect
Платформа интеграции для перемещения данных между Kafka и другими системами. Предоставляет
масштабируемую и отказоустойчивую инфраструктуру для приёма и экспорта данных в Kafka и из
неё
|
3.7.2 | 3.9.0 | 3.9.1 | 3.9.1 | 4.1.1 |
|
Schema Registry
Централизованный репозиторий для хранения и управления схемами данных, создаваемых и
потребляемых Kafka. Позволяет определять, развивать и совместно использовать схемы в
различных
приложениях и системах
|
7.7.2 | 7.9.0 | 7.9.1 | 7.9.1 | 8.1.1 |
|
KsqlDB
Потоковый механизм SQL для обработки потоков данных в реальном времени. Позволяет
запрашивать,
объединять и фильтровать данные по мере их прохождения через систему, упрощая создание
конвейеров данных без сложного программирования
|
7.7.2 | 7.9.0 | 7.9.1 | 7.9.1 | 8.1.1 |
|
Kafka REST
Простой и масштабируемый инструмент интеграции Kafka с другими системами и технологиями,
поддерживающими RESTful API
|
7.7.2 | 7.9.0 | 7.9.1 | 7.9.1 | 8.1.1 |
|
Zookeeper
Служба распределённой координации, используемая для управления конфигурацией и
координацией
кластеров. Помогает обеспечить высокую доступность и отказоустойчивость в кластерах
потоковой
передачи
|
3.8.4 | 3.8.4 | 3.8.4 | 3.8.4 | 3.8.4 |
|
NiFi
Инструмент интеграции для автоматизации потоков данных между различными системами и
технологиями. Предоставляет визуальный интерфейс для проектирования и настройки потоков
данных
|
1.26.0 | 1.28.0 | 1.28.1 | 1.28.1 | 1.28.1 |
|
NiFi 2
Инструмент интеграции для автоматизации потоков данных между различными системами и
технологиями. Предоставляет визуальный интерфейс для проектирования и настройки потоков
данных
|
2.5.0 | 2.5.0 | 2.5.0 | ||
|
NiFi Registry
Система контроля версий и управления для управления потоками данных и другими активами,
созданными с помощью NiFi. Предоставляет центральный репозиторий для хранения и управления
потоками, шаблонами и другими артефактами NiFi
|
1.26.0 | 1.28.0 | 1.28.1 | 1.28.1 | 1.28.1 |
|
MiNiFi
Облегчённый инструмент сбора данных для сбора и предварительной обработки данных на
сетевой
периферии. Предназначен для работы на устройствах с ограниченными ресурсами (датчики и
устройства IoT)
|
1.26.0 | 1.28.0 | 1.28.1 | 1.28.1 | 1.28.1 |
|
C2 Server
Сервер для конфигурирования агентов MiNiFi, управляет версионными классами приложений,
предоставляя REST-подобный API-интерфейс, к которому подключаются агенты для обновления
конфигураций
|
1.26.0 | 1.28.0 | 1.28.1 | 1.28.1 | 1.28.1 |
|
Kerberos
Сетевой протокол аутентификации
|
latest | latest | latest | latest | latest |
Технические возможности Arenadata Streaming (ADS)
Arenadata Streaming (ADS) — платформа потоковой передачи данных на базе Apache Kafka и Apache NiFi, масштабируемая и отказоустойчивая система для потоковой обработки данных в реальном времени, оптимизированная для корпоративных задач.
ADS обладает распределенной архитектурой, обеспечивающей обработку больших объёмов данных из различных источников, таких как базы данных, IoT-устройства, сенсоры и другие источники потоковой передачи информации.
Отличия Arenadata Streaming от Kafka и NiFi
| Характеристика | ADS | Apache Kafka | Apache NiFi |
|---|---|---|---|
| Назначение | Потоковая обработка и маршрутизация данных, объединенная платформа | Передача сообщений и брокер данных | Маршрутизация, управление и преобразование потоков данных |
| Интеграция Kafka и NiFi | Да, обе технологии интегрированы | Нет | Нет |
| Интерфейс управления | Графический + централизованный оркестратор | CLI, базовые GUI | Графический интерфейс Flow-based |
| Простота эксплуатации | Высокая (минимум кода, готовые шаблоны) | Средняя (требуется написание скриптов и настройка) | Высокая (визуальное проектирование потоков) |
| Масштабируемость | Горизонтальная, без остановки кластера, авто-балансировка | Горизонтальная, ручная балансировка | Масштабируемость зависит от архитектуры |
| Отказоустойчивость | Корпоративный уровень, автоматическое переключение | Встроена, требует настройки | Зависит от кластера, требует настройки |
| Tiered Storage (многоуровневое хранение) | Да (поддержка HDFS, S3 и др.) | Ограниченно (в стандартном релизе нет) | Нет |
| Безопасность | Корпоративная (LDAP/LDAPS, Kerberos, SSL/TLS, разграничения прав) | Базовая (SSL, SASL, ACL), корпоративные возможны через доработки | Базовая (SSL, пользовательские политики) |
| Потоки из разных источников | Да (БД, приложения, IoT, сенсоры, файловые системы) | Через коннекторы | Да, широкий набор стандартных процессоров |
| Время хранения данных | Настраиваемое для каждого потока | Параметрично, но без гибкой настройки per stream | Нет, хранит только во время маршрутизации |
| Инструменты анализа и BI | Интеграция с BI, поддержка SQL-запросов и аналитики | Требует сторонних инструментов | Нет |
| Интерфейс потоковой аналитики | Есть, визуальный и SQL | Нет | Нет |
| Поддержка протокола Kafka Raft (KRaft) | Да | В новых версиях | Нет |
| Поддержка корпоративных сценариев | Да, из коробки | Частично, при доработках | Частично, при доработках |
Варианты применения Arenadata Streaming (ADS)
Для эффективной организации обмена сообщениями используются брокеры сообщений — специальные приложения, которые выступают посредниками между источниками и получателями сообщений, позволяя использовать разные протоколы. Kafka обладает рядом преимуществ по сравнению с большинством других брокеров сообщений:
- Высокая пропускная способность. Система способна обрабатывать большой объем данных за короткое время.
- Партиционирование. Продуманное разделение данных на сегменты (партиции) позволяет управлять временем хранения и объёмом информации.
- Репликация. Автоматическое переключение на реплики записей при отказе сервера обеспечивает доступность сообщений даже при сбоях.
- Отказоустойчивость. Система сохраняет сообщения при отсутствии активных подписчиков, чтобы они не терялись и были доступны новым потребителям позже.
Kafka — эффективное средство для мониторинга активности пользователей на веб-сайте. Когда пользователь регистрируется на сайте, его действия отслеживаются следующим образом:
- Пользователь нажимает кнопку (элемент интерфейса) на веб-странице.
- Веб-приложение формирует сообщение с метаданными этого элемента UI.
- Эти сообщения собираются и отправляются в Kafka, где фиксируются в специальных логах (commit log).
- При последующих действиях пользователя сообщения добавляются в логи фиксации, а их положение в очереди обновляется.
В дальнейшем эти данные можно собирать для аналитики, что позволяет видеть использование сайта в режиме реального времени.
Kafka применяется для оперативного сбора метрик различных приложений и операционных данных, включая:
- технологические процессы;
- аудит и сбор статистических данных;
- активность системы;
- агрегацию статистики по приложениям и инфраструктуре;
- отслеживание потребления потоков данных пользователями в режиме реального времени.
Преимущества использования Kafka для мониторинга:
- Можно подключать новых производителей для отправки метрик и использовать одни и те же данные для мониторинга разных систем.
- Анализ можно выполнять в реальном времени на большом массиве данных вместе со сбором метрик.
- Поддерживается минимальный объем кода для обработки данных внутри приложения-потребителя.
- Есть возможность выделять отдельные модули данных для разных целей.
Агрегация журналов (log aggregation) — это один из вариантов применения Kafka. При работе в распределенных средах Kafka часто используется как оптимальное решение для сбора логов. Она собирает журнальные файлы с серверов и отправляет их в централизованное хранилище (например, файловый сервер или HDFS) для дальнейшей обработки.
В сравнении с другими системами Kafka имеет следующие преимущества:
- Система абстрагируется от деталей файлов и предоставляет удобную модель работы с журналами или событиями через поток сообщений, что упрощает поддержку разных источников и распределенного потребления данных.
- Kafka обеспечивает такую же высокую производительность, как аналогичные системы, но гарантирует лучшую отказоустойчивость и меньшую задержку в обработке данных.
Для повышения производительности обмена сообщениями применяется потоковая обработка данных (stream processing). Преимущества передачи данных в потоковом режиме с использованием Kafka по сравнению с пакетной обработкой:
- Сообщения обрабатываются в режиме реального времени.
- К сообщениям можно применять преобразование, фильтрацию, агрегацию и объединение, чтобы публиковать обработанные данные в новых потоках.
- Потоковые конвейеры уменьшают нагрузку на источники данных, поскольку позволяют извлекать нужные данные без выполнения полных запросов, например, из логов или других систем.
- Сообщения могут храниться столько времени, сколько это необходимо.
Kafka — удобное решение для приложений, использующих паттерн event sourcing, предназначенный для обработки событий. Ключевые преимущества Kafka при таком подходе:
- Возможность хранения очень больших объёмов журналов событий.
- Поддержка работы с отложенными событиями благодаря очередям и системе смещений Kafka.
Kafka можно использовать как внешний commit log для распределенных систем. Основные преимущества:
- Поддержка репликации данных между различными узлами.
- Возможность восстановления данных (с помощью механизма повторной синхронизации при сбое узлов).
- Реализована функция сжатия журналов.
Коннекторы ADQM
Специализированный коннектор для интеграции Apache Kafka с Arenadata DB. Позволяет читать и записывать данные в формате AVRO из топиков Kafka, поддерживает чтение CSV и текстовых форматов, а также транзакции в Arenadata DB
Коннектор для интеграции Apache Kafka с Arenadata QuickMarts. Обеспечивает чтение и запись данных в форматах AVRO, JSON и текстовых форматах из топиков Kafka
Механизм репликации данных из исходного кластера Kafka в удалённый, работающий на платформе Kafka Connect
Коннекторы для захвата изменений данных (CDC). Source-коннекторы Debezium собирают изменения в базах данных и записывают их в топики Kafka, после чего эти данные могут быть переданы в другие базы или хранилища. Возможна работа с готовыми и пользовательскими коннекторами
Коннектор для записи потоковых данных из Kafka в таблицы Iceberg. Реализует процесс CDC, интеграцию с оперативными базами в формате Iceberg, поддерживает сложные ETL-процессы и ускоряет внедрение аналитических решений на основе актуальных данных
Дополнительные инструменты
Система централизованного управления политиками безопасности кластера. Обеспечивает комплексную защиту, включая контроль доступа по политикам, авторизацию и безопасный доступ к платформе и её сервисам. Помогает защитить конфиденциальные данные и соответствовать нормативным требованиям
Графический веб-интерфейс для управления потоковыми кластерами. Позволяет работать с несколькими ADS-кластерами, на которых развернуты сервисы Kafka и Kafka Connect. Поддерживает создание, редактирование и удаление коннекторов, контроль потоков данных, отслеживание метрик кластеров, а также быстрое обнаружение и устранение ошибок