Общий обзор¶
Arenadata Streaming (ADS) – платформа распределенных потоковых операций, включающая интегрированный набор компонентов корпоративного уровня на базе решений с открытым исходным кодом. Платформа содержит в себе все необходимые компоненты для потоковой передачи и обработки данных в реальном времени, их преобразования, взаимодействия и хранения, передачи в семантике “exactly-once delivery”, интеграции, безопасности и администрирования. Также платформа может выступать в качестве корпоративной шины данных и ETL-инструмента.
Идея платформы распределенных потоковых операций заключается в обеспечении:
- Единой точки доступа – возможность использования в качестве корпоративной шины обмена данными для приложений;
- Легкого, безопасного и надежного способа управления потоком данных – возможность безопасного сбора больших потоков данных и эффективного управления ими в режиме реального времени;
- Политики безопасности – возможность создания потоков данных с поддержкой разграничения прав доступа к ним;
- Быстрой и непрерывной разработки – возможность разработки потоковых аналитических приложений за считанные минуты в режиме реального времени без единой строчки кода.
Одной из особенностей реализации платформы является применение техники, сходной с журналами транзакций, используемыми в системах управления базами данных. ADS обладает следующими отличительными техническими качествами:
- Отказоустойчивость;
- Масштабируемость;
- Распределенность;
- Доступное оборудование;
- Реальное время;
- Безопасность;
- Интеграция;
- Простота и гибкость.
Arenadata Streaming (ADS) – это полноценный дистрибутив платформы потоковых операций на базе Apache Kafka, адаптированный для корпоративного использования. Apache Kafka – распределённый программный брокер сообщений, проект с открытым исходным кодом, разработанный в рамках Apache Software Foundation.
Текущий релиз версии ADS 1.0.0 вышел во втором квартале 2018 года. В состав версии входят следующие компоненты: Ambari, Zookeeper, NiFi, Kafka. Интеграция с ZooKeeper позволяет системе работать не только быстро и слаженно, но безопасно, что особенно важно в случае больших данных.
Платформа потоковой передачи данных имеет три ключевые возможности:
- Публикация и подписка на потоковую передачу данных, похожую на очередь сообщений или корпоративную систему обмена сообщениями;
- Хранение потоков записей отказоустойчивым способом;
- Обработка потоков записей по мере их возникновения.
Платформа ADS, как правило, используется для двух обширных классов приложений:
- Создание канала для потоковой передачи данных в реальном времени с целью надежного обмена данными между системами и приложениями;
- Создание приложений для потоковой передачи данных в реальном времени с целью их преобразования и взаимодействия с другими потоками.
Несколько концепций Arenadata Streaming:
- ADS запускается как кластер на одном или нескольких серверах, которые могут располагаться в разных центрах обработки данных;
- В кластере ADS потоки записей хранятся по категориям, называемым topics (топики);
- Каждая запись состоит из ключа, значения и временной метки.
ADS имеет четыре основных API (Рис.3.):
- Producer API (поставщик) позволяет приложению публиковать поток записей по одному или нескольким топикам платформы. Примеры использования приведены в javadocs;
- Consumer API (потребитель) позволяет приложению подписываться на один или несколько топиков и обрабатывать принадлежащие им потоки записей. Примеры использования приведены в javadocs;
- Streams API позволяет приложению выступать в качестве stream processor (потокового процессора), потребляя входной поток данных из одного или нескольких топиков и создавая выходной поток данных так же для одного или нескольких топиков, эффективно преобразуя входные потоки в выходные. Примеры использования приведены в javadocs;
- Connector API позволяет создавать и запускать повторное использование поставщиков и потребителей, которые связывают топики с существующими приложениями или системами данных. Например, коннектор для реляционной базы данных может записывать каждое изменение в таблицу. Примеры использования приведены в javadocs.

Рис. 3. API платформы ADS
Kлиенты для работы с Apache Kafka доступны на многих языках программирования (Clients).
Сервис NiFi в составе платформы ADS мощный инструмент для построения масштабируемых ориентированных графов маршрутизации данных и их преобразования. Некоторые из высокоуровневых возможностей и целей NiFi:
- Веб-интерфейс пользователя
- Разработка, управление и мониторинг в едином интерфейсе
- Гибкое конфигурирование в зависимости от потребностей
- Устойчивость к потерям или гарантированная доставка
- Низкая задержка или высокая пропускной способности
- Динамическое определение приоритетов
- Возможность изменения потока во время выполнения
- Происхождение данных
- Отслеживание потока данных от начала до конца
- Расширение функционциональных возможностей
- Возможность создания собственных процессоров и многого другого
- Обеспечение быстрой разработки и эффективного тестирования
- Безопасность
- SSL, SSH, HTTPS, зашифрованный контент и т.д.
- Multi-tenant авторизация и внутренняя авторизация/управление политикой
В документации приведены концепции хранения в платформе Arenadata Streaming, гарантии и рекомендации по использованию ADS. Раздел предлагается к прочтению перед переходом к непосредственной установке системы.
Important
Контактная информация службы поддержки – e-mail: info@arenadata.io