Представляем Shaman, облачный менеджер Apache Druid

Компания ZeroX рада сообщить об общедоступности Shaman, платформы самообслуживания для развертывания кластеров Apache Druid.

Мы объединили многолетний опыт управления крупномасштабными производственными кластерами Druid в опыт, основанный на приборной панели.

В этом сообщении блога мы рассмотрим все основные функции и изложим наши мысли о будущем продукта.

Схемы данных

Схемы данных предназначены для упрощения совместного использования схем в ваших приложениях, управляемых данными. Это часть всеохватывающего видения Шамана.

Схемы определяют, как данные обрабатываются с точки зрения столбцов. Например, для следующего простого события данных JSON:

Мы можем сгенерировать схему через панель инструментов Shaman. В настоящее время Shaman поддерживает следующие типы столбцов:

  • Длинная
  • Двойной
  • Нить
  • Отфильтрованный счетчик

Столбцы также могут быть вычислены, как в случае bid_requests выше.

Некоторые типы также позволяют использовать специальные триггеры постобработки. Например, вы можете указать, должен ли Shaman подсчитывать уникальные значения, суммировать значения, рассматривать значения как измерения и т. д.

Отфильтрованные подсчеты — это удобные типы, которые позволяют подсчитывать события данных на основе значения определенного столбца. Это упрощает определение более простых и понятных схем.

Схемы данных могут совместно использоваться кластерами и обновляться во время работы кластера.

Развертывание кластера

Мы максимально упростили развертывание кластера. Shaman был разработан для простого предоставления кластеров Druid для настройки разработки, подготовки и производства.

Кластеры с одним узлом чрезвычайно просты и могут обрабатывать базовое количество запросов 1K в секунду. Этой емкости может быть достаточно для создания прототипов и развертывания приложений, не требующих требований SLA, которые требуются для производственного приложения.

Кластеры с несколькими узлами, которые в настоящее время включаются по запросу, предназначены для обеспечения высокой доступности и горизонтального масштабирования. Идеально подходит для приложений со строгими требованиями SLA. Базовые многоузловые кластеры могут обрабатывать базовое количество запросов 8K в секунду.

Емкость может быть добавлена ​​к многоузловым кластерам путем добавления узлов по мере необходимости. Shaman обеспечивает мониторинг и оповещения, чтобы уведомить вас о необходимости добавления емкости в ваш кластер.

Прием в режиме реального времени

Shaman создан для поддержки приема в режиме реального времени с нуля. Мы предоставляем HTTP-шлюз с защитой SSL, который балансирует нагрузку и направляет входящие данные на узел индексирования в реальном времени кластера.

Tranquility прозрачно обрабатывает прием данных в режиме реального времени. Отметка времени события данных должна быть в пределах 5 минут с момента получения запроса Shaman. В противном случае он будет отброшен и будет обрабатываться с помощью встроенной лямбда-архитектуры Shaman.

Когда автоматическое хранилище резервных копий включено, данные, полученные через шлюз реального времени, отправляются в холодное облачное хранилище. Для активации встроенной лямбда-архитектуры Shaman требуется автоматическое резервное копирование.

Лямбда Вакансии

Задания Lambda в настоящее время проходят закрытое тестирование и включаются по запросу. Мы полностью автоматизировали развертывание скрытых кластеров Hadoop для эффективной обработки исторических данных.

Задания Lambda можно запланировать на ежечасное, ежедневное и ежемесячное выполнение. При включении лямбда-заданий данные кластера сжимаются по мере того, как сегменты объединяются и агрегируются, задав соответствующую временную гранулярность.

Дизайн хранилища данных

Встроенная лямбда-архитектура собирает данные в соответствии с диапазоном времени, на который настроено задание: hour, day, week, & month . Благодаря объединению данных исторические отчеты остаются оперативными, сегменты сжимаются и обрабатывают любые данные, отбрасываемые узлами в реальном времени. Предполагается, что эта конструкция работает для большинства приложений.

Визуализация данных с надмножеством

Наконец, мы добавили кастомную версию Apache Superset, платформы бизнес-аналитики для Druid. Это позволяет пользователям мгновенно визуализировать данные в реальном времени и исторические данные в своих кластерах Druid.

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

Будущее

Shaman стремится стать полноценной платформой данных, построенной на основе мощных проектов с открытым исходным кодом. Пользователи могут создавать приложения с интенсивным использованием данных, не беспокоясь об инфраструктуре до тех пор, пока им это не понадобится. Мы разработали базовую лямбда-архитектуру и планируем добавить другие популярные типы кластеров, такие как Apache Spark и Kubernetes.

Наше видение состоит в том, чтобы дать пользователям возможность создавать приложения, управляемые данными, с той же гибкостью и скоростью, что и обычные веб-приложения.

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