Использование Apache Superset для оптимальной масштабируемости

Введение

Apache Superset для производственных рабочих нагрузок и информационных панелей корпоративного класса

Инструменты визуализации данных и инструментальных панелей, являющиеся частью современной экосистемы бизнес-аналитики (BI), получили новые функции и возможности. Хотя большинство этих инструментов являются проприетарными, Apache Superset представляет собой исключение. Вы можете проверить нашу предыдущую запись в блоге об областях исследования данных с помощью Apache Superset.

Помимо того, что исходный код с открытым исходным кодом, Apache Superset также известен своей масштабируемостью и способностью обрабатывать тонны данных для мощных визуализаций и интуитивно понятных информационных панелей. Когда вы рассматриваете платформу визуализации данных и информационных панелей с открытым исходным кодом с возможностями пользовательской визуализации корпоративного уровня, Apache Superset предлагает наиболее надежное решение.

В этом сообщении блога мы стремимся объяснить возможности Apache Superset для создания масштабируемых визуализаций данных и информационных панелей для удовлетворения различных потребностей предприятия.

Понимание архитектуры Apache Superset

Apache Superset — это мощный и масштабируемый инструмент визуализации данных, который был развернут в производственных средах, таких как Airbnb, Dropbox, Twitter, Udacity, Lyft, Alibaba и многих других. Он использует балансировщик нагрузки и группу масштабирования для разделения веб-серверов и рабочих процессов, обеспечивая независимое масштабирование. Кроме того, он имеет настраиваемый кеш с использованием Redis для снижения нагрузки на хранилище данных.

Superset можно легко развернуть с помощью таких инструментов, как docker-compose или диаграмма управления. Он также построен на SQLAlchemy, который обеспечивает поддержку подключения к различным базам данных и облачным хранилищам данных. Кроме того, он поддерживает аутентификацию OAuth для обеспечения безопасности на основе ролей и маскирования данных.

Благодаря примерам облачной архитектуры на ведущих платформах, таких как AWS, Microsoft Azure и GCP, документация по Apache Superset становится понятной. Эти примеры можно легко продемонстрировать с помощью таких инструментов, как Terraform или Pulumi, которые могут управлять метаданными в различных управляемых базах данных.

Обзор производительности в условиях крупного предприятия

Для любого предприятия масштабирование исследования данных всегда остается ключевой задачей, и в этом отношении Apache Superset выделяется среди конкурентов. Вот некоторые характерные возможности Apache Superset, которые решают проблемы масштабируемости.

  • Слой потребления данных через Интернет: Apache Superset представляет собой стек визуализации данных через Интернет и, следовательно, позволяет обрабатывать тяжелые данные через подключенную базу данных вместо хранения данных на платформе. Это дает большую масштабируемость уровню потребления данных. Кроме того, он обеспечивает гибкость настройки внешнего вида приложения и добавления пользовательских визуализаций в зависимости от потребностей предприятия.
  • Облачная архитектура: Apache Superset поставляется с облачной архитектурой, обеспечивающей большую гибкость при выборе между различными механизмами метаданных, механизмами кэширования и веб-серверами. Из-за этих облачных характеристик Apache Superset можно обрабатывать как через собственные собственные системы, так и через сторонних поставщиков SaaS.
  • Укоренившийся семантический анализ: Apache Superset использует семантические уровни, чтобы неуклонно повторно использовать прошлые запросы, что обеспечивает более быстрое время отклика и масштабируемость.
  • Детальная фильтрация безопасности: в условиях предприятия масштабируемость процессов, управляемых данными, не может поставить под угрозу безопасность, а Apache Superset позволяет создавать детализированные элементы управления и фильтры на основе ролей, обеспечивающие строгую аутентификацию и обработку сеансов.
  • Предотвращение тайм-аутов для расширенных запросов. В рамках своих функций масштабируемости Apache Superset предлагает надежный механизм кэширования. Помимо кэширования метаданных и диаграмм, Superset позволяет кэшировать асинхронные запросы, чтобы пользователи не сталкивались с тайм-аутами для длинных и расширенных запросов.
  • Совместное использование несколькими командами: Apache Superset предлагает большую гибкость для совместного использования несколькими командами благодаря оптимизированному доступу к данным.

Использование Apache Superset для оптимальной масштабируемости

Таким образом, Apache Superset оснащен всеми функциями и возможностями, гарантирующими оптимальную масштабируемость информационных панелей и визуализации данных. Теперь для обеспечения масштабируемости Apache Superset требует 3 этапа настройки, таких как сопоставление контейнера Superset с конкретным вариантом использования, использование строгого кэширования для обработки множественных и расширенных запросов и использование множества интеграций в соответствии с требованиями варианта использования.

Давайте объясним каждый из них здесь ниже.

Контейнер, соответствующий варианту использования Superset

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

Вам нужно выбрать образ Apache Superset, официально доступный на DockerHub . Теперь, чтобы сопоставить это с вашим конкретным вариантом использования, вам нужно включить множество зависимостей, таких как ваши предпочтительные драйверы базы данных.

Убедитесь, что вы сохранили совершенно новую пользовательскую конфигурацию в файле superset_config.py после внесения изменений в основной файл конфигурации Apache Superset. При новой настройке вы можете установить новые правила аутентификации для таймаута запросов.

Когда вы завершите загрузку новой конфигурации в контейнер, Apache Superset, распознав ее, реализует ее.

Управление доступом на основе ролей (RBAC)

Apache Superset имеет встроенную функцию управления доступом на основе ролей (RBAC), которая позволяет вам контролировать доступ к различным функциям и функциям платформы на основе ролей пользователей. С помощью RBAC вы можете назначать определенные роли пользователям и ограничивать доступ к определенным частям приложения или данным на основе этих ролей.

В Superset доступны следующие роли: «Администратор», «Альфа», «Гамма», «Зритель» и «Общедоступный». Роль «Администратор» имеет самый высокий уровень доступа и разрешений, а роль «Общедоступный» — самый низкий уровень. Доступ к этой функции можно получить через вкладку «Доступ» в разделе «Управление» веб-интерфейса Superset, где вы можете назначать роли пользователям и группам и управлять доступом к информационным панелям, срезам и наборам данных.

Единый вход (SSO)

Он не имеет встроенной функции единого входа (SSO). Однако его можно интегрировать с внешними решениями SSO, такими как Okta, Auth0 и Keycloak, чтобы включить SSO для пользователей Superset. Этого можно добиться, настроив Superset на использование внешней службы SSO для аутентификации и авторизации.

Возможности пользовательского интерфейса

Apache Superset предоставляет пользовательский веб-интерфейс (UI), который позволяет пользователям взаимодействовать с данными и исследовать их. Пользовательский интерфейс в некоторой степени настраивается, что позволяет пользователям изменять макет, цветовую схему и фирменный стиль интерфейса.

Можно создавать настраиваемые типы визуализации и настраиваемые действия путем создания новых диаграмм и/или настройки существующих. Superset предоставляет набор встроенных типов визуализации, таких как гистограммы, круговые диаграммы и линейные диаграммы. Кроме того, это позволяет расширить функциональность платформы, создав собственный код Python и интегрировав его с пользовательским интерфейсом Superset. Это также позволяет создавать настраиваемые действия, которые можно выполнять с данными, такие как фильтрация и агрегирование.

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

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

Оповещения о данных

Apache Superset предоставляет функцию оповещения, которая позволяет пользователям настраивать оповещения для данных, которые они анализируют. Эту функцию можно использовать для уведомления пользователей при выполнении определенных условий, например, когда метрика превышает определенный порог.

Функция оповещений в Superset позволяет создавать оповещения на определенных диаграммах и информационных панелях. После настройки оповещения Superset будет периодически проверять данные на соответствие заданным условиям, и если условия соблюдены, срабатывает оповещение. Оповещения могут доставляться по различным каналам, таким как электронная почта, Slack и PagerDuty, и могут быть настроены для уведомления определенных пользователей или групп пользователей.

Здесь важно отметить, что функция оповещения Superset основана на задаче celery, это означает, что для функции оповещения требуется работающий рабочий celery, и что оповещения запускаются периодически, а не в режиме реального времени. Кроме того, важно настроить расписания и работников в соответствии с желаемой частотой оповещений.

Различные методы кэширования для масштабируемости

Распространенной проблемой, с которой мы сталкиваемся при согласовании нескольких баз данных с Apache Superset, является проблема обработки слишком большого количества запросов после открытия панели мониторинга. Выполнение нескольких запросов будет препятствием для масштабируемости.

Чтобы решить эту проблему, Apache Superset допускает несколько различных способов кэширования. Как только вы создадите диаграмму, Apache Superset сохранит ее во вновь настроенном кэше. Это поможет сделать данные мгновенно доступными для пользователя, не требуя новых запросов. Это не только повышает производительность, но и обеспечивает лучшие возможности обработки запросов.

Apache Superset создан с помощью Flask AppBuilder и, естественно, использует встроенное решение для кэширования под названием Flask Cache. Это решение для кэширования предлагает поддержку нескольких различных серверных платформ кэширования, включая Redis и Celery. Последнее также можно использовать для настройки серверной части для обработки длинных асинхронных запросов.

Интеграция Apache Superset: просто спросите, что вам нужно

Одной из основных причин использования Apache Superset является огромный выбор настраиваемых интеграций, доступных для обеспечения масштабируемой производительности приложения. От хранения данных до поддержки облака, от ведущих баз данных до множества платформ SaaS, Apache Superset практически предлагает целый ряд интеграций, поддерживающих все требования к разработке и развертыванию информационных панелей.

Некоторые из наиболее известных интеграций, доступных для Apache Superset, включают Data Lake & Storage, такие как Amazon S3, Azure Blob, Azure Table, Couchbase, Google Cloud, базы данных, такие как Amazon DocumentDB, Azure Cosmos DB, Azure SQL, PostgreSQL, MongoDB, а также широкий спектр SaaS-решений.

Заключительные примечания

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

Ivan Shamaev (Admin)
Работаю с Apache Superset с 2021 года. Веду этот блог, чтобы систематизировать свои знания и поделиться ими с другими специалистами. Подписывайтесь на мой телеграм канал @apache_superset_bi
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x