Общее описание WDC-Платформы
Компоненты WDC-Платформы
Архитектура
Визуализация
В WDC-Платформе “из коробки” реализована концепция альтернативной визуализации со встроенной поддержкой Apache Zeppelin, Splunk Search Head и собственной среды EVA.
EVA – разработанная компанией ISGNEURO интерактивная среда визуализации, уникальная тем, что объединяет императивный и декларативный подходы к организации описания интерфейса пользователя и позволяет реализовать сложную логику интерактивных дашбордов без программирования.
Предназначена как для предварительного интерактивного исследования данных, так и для максимально простого построения конечных дашбордов высокого уровня сложности.
Функционально состоит из:
Apache Zeppelin – популярное Open Source решение компании Apache, предназначенное для реализации единого интерфейса визуализации данных, полученных в результате их анализа различными инструментами.
Предназначена как для предварительного интерактивного исследования данных, так и для максимально простого построения конечных дашбордов высокого уровня сложности.
Функционально состоит из:
- Инструмента анализа данных с возможностью экспорта результатов анализа в виде готового к применению в продуктивной среде дашборда.
- Среды управления дашбордами.
Apache Zeppelin – популярное Open Source решение компании Apache, предназначенное для реализации единого интерфейса визуализации данных, полученных в результате их анализа различными инструментами.
Моделирование
Функционал моделирования в WDC-Платформе предоставляется пользователю в виде двух специализированных языков обработки данных: ОТL и SMaLL.
OTL – язык верхнеуровневой работы с данными для организации конвейерной (по типу вызова цепочки связанных через потоки ввода-вывода утилит в unix/linux) их обработки.
Изначально разрабатывался на основе языка SPL компании Splunk и является по большинству функций обратно совместимым с ним.
Язык OTL обеспечивает крайне эффективное решение целого ряда задач обработки, прежде всего данных в виде машинно-сгенерированных журналов – логов. Основными функциями языка являются:
SMaLL (Simple Machine Learning Language) – язык, расширяющий возможности OTL и позволяющий использовать все возможности WDC-Платформы без знаний в области машинного обучения или инженерии данных.
Основной идеей SMaLL является приведение решения большинства аналитических задач к трём стандартным фиксированным последовательностям конвейера команд – паттернам:
Такой подход позволяет скрыть от конечного пользователя рутинные подробности работы с данными и сконцентрировать его усилия на достижении конечного результата.
Особенностью SMaLL является наличие обязательной команды Explain, которая интерпретирует модель машинного обучения и представляет её в понятном человеку виде, что позволяет не только понять и скорректировать получившуюся модель, но и привнести в неё знания, известные человеку, но недоступные в конкретном наборе обучающих данных.
Изначально разрабатывался на основе языка SPL компании Splunk и является по большинству функций обратно совместимым с ним.
Язык OTL обеспечивает крайне эффективное решение целого ряда задач обработки, прежде всего данных в виде машинно-сгенерированных журналов – логов. Основными функциями языка являются:
- полнотекстовый поиск и фильтрация по всему содержимому сообщений;
- выделение и поиск по выделенным полям;
- агрегация;
- объединение;
- обогащение данных по внешним или внутренним источникам;
- расчёт статистических показателей;
- математические преобразования данных;
- подготовка данных для отображения в конкретных видах визуализации;
- обучение и применение моделей машинного обучения из широкого набора открытых библиотек.
SMaLL (Simple Machine Learning Language) – язык, расширяющий возможности OTL и позволяющий использовать все возможности WDC-Платформы без знаний в области машинного обучения или инженерии данных.
Основной идеей SMaLL является приведение решения большинства аналитических задач к трём стандартным фиксированным последовательностям конвейера команд – паттернам:
- Паттерн обучения модели (GetData | Fit | Explain | Score | Show).
- Паттерн применения модели (GetData | Apply | Score | Show).
- Паттерн работы со справочниками (GetData | Eval | Put).
Такой подход позволяет скрыть от конечного пользователя рутинные подробности работы с данными и сконцентрировать его усилия на достижении конечного результата.
Особенностью SMaLL является наличие обязательной команды Explain, которая интерпретирует модель машинного обучения и представляет её в понятном человеку виде, что позволяет не только понять и скорректировать получившуюся модель, но и привнести в неё знания, известные человеку, но недоступные в конкретном наборе обучающих данных.
Обработка данных
Основой вычислительных возможностей WDC-Платформы является движок Apache Spark, которые обеспечивает эффективную реализацию параллельных вычислений и быстрого доступа к информации, распределённой по различным точкам хранения.
Кроме непосредственно вычислений Apache Spark позволяет использовать и расширять возможности системы за счёт постоянно развивающегося набора библиотек машинного обучения, создаваемых участниками сообщества этого продукта.
Кроме непосредственно вычислений Apache Spark позволяет использовать и расширять возможности системы за счёт постоянно развивающегося набора библиотек машинного обучения, создаваемых участниками сообщества этого продукта.
Языки SMaLL и OTL являются надстройками над функционалом Apache Spark и обеспечивают существенное снижение барьера входа для применения возможностей этого инструмента.
Хранение данных
Основной идеей организации хранения данных в WDC-Платформе является концепция No DataBase. Данная концепция позволяет не строить систему на основе одной или нескольких специализированных под конкретные задачи БД, а реализовать её в виде эффективного распределённого Хранилища, обеспечивающего требуемый уровень производительности, надёжности и масштабируемости, поверх которого реализуется гибридная БД, основанная на расчёте всех требуемых для эффективной работы с конкретными данными индексов и агрегирующих структур. Это позволяет унаследовать достоинства всех эффективных структур хранения и минимизировать влияние их недостатков.
В текущей реализации подсистемы хранения используется распределённая файловая система GlusterFS, а в качестве оптимального формата хранения данных в гибридной БД – формат Apache Parquet.
Такой подход гарантирует возможность горизонтального масштабирования при увеличении объемов хранимых данных и высокую надёжность итоговой системы.
При возникновении необходимости обработки особенно больших объёмов исторических данных (>0.5 PB) возможна прозрачная для пользователя частичная или полная замена GlusterFS на файловую систему HDFS (Apache Hadoop).
Такой подход гарантирует возможность горизонтального масштабирования при увеличении объемов хранимых данных и высокую надёжность итоговой системы.
При возникновении необходимости обработки особенно больших объёмов исторических данных (>0.5 PB) возможна прозрачная для пользователя частичная или полная замена GlusterFS на файловую систему HDFS (Apache Hadoop).
Загрузка данных
Загрузка данных из разных источников обеспечивается средствами Apache NIFI. С помощью NIFI входящие данные проходят предварительную обработку, проводится вычисление всех требуемых для организации эффективной работы с ними индексов и агрегатов, после чего они распределяются по устройствам хранения.
Установка и сопровождение
Дистрибутив WDC-Платформы поставляется в виде виртуальной машины формата OVF. Подробно процесс установки и запуска WDC-Платформы описан в соответствующем разделе документации.
Устанавливая WDC-Платформу, пользователь принимает лицензионное соглашение.
Устанавливая WDC-Платформу, пользователь принимает лицензионное соглашение.
Сопровождение ПО WDC-Платформы осуществляется разработчиком – компанией ISGNEURO.
Обновление отдельных самостоятельных компонент, входящих в состав WDC-Платформы, вне общего обновления всего дистрибутива не предполагается, так как может нарушить функционирование всего комплекта из-за возможной кастомизации этих компонент в процессе разработки.
Обновления всего дистрибутива и отдельные критические исправления распространяются только разработчиком системы. В случае самостоятельного обновления отдельных компонент конкретная инсталляция системы продолжает поддерживаться компанией-разработчиком, но по специальному SLA, не предполагающему вмешательство в изменённые пользователем части Системы.
Разработчик WDC-Платформы не имеет возможности получения скрытого удаленного доступа к инсталляциям Платформы.
Обновление отдельных самостоятельных компонент, входящих в состав WDC-Платформы, вне общего обновления всего дистрибутива не предполагается, так как может нарушить функционирование всего комплекта из-за возможной кастомизации этих компонент в процессе разработки.
Обновления всего дистрибутива и отдельные критические исправления распространяются только разработчиком системы. В случае самостоятельного обновления отдельных компонент конкретная инсталляция системы продолжает поддерживаться компанией-разработчиком, но по специальному SLA, не предполагающему вмешательство в изменённые пользователем части Системы.
Разработчик WDC-Платформы не имеет возможности получения скрытого удаленного доступа к инсталляциям Платформы.
Разработка и размещение приложений на базе WDC-Платформы
В WDC-Платформе предусмотрена возможность разработки законченных приложений, содержащих в одном месте описание сбора, обработки и визуализации информации. Приложения включают в себя:
- описание уникальных для приложения источников данных и правил выделения полей из них;
- множество поисковых запросов, используемых в приложении;
- визуальные компоненты, дашборды, отчеты, графики, алерты, правила обогащения;
- метаинформацию, такую как версия и название приложения, визуальный стиль, иконки, список зависимостей (иных приложений, внешних библиотек).