跳至主要内容
在 GitHub 上编辑此页面

架构

此页面旨在让新的管理员了解 Superset 的组件。

组件

Superset 安装由以下组件组成

  1. Superset 应用程序本身
  2. 元数据数据库
  3. 缓存层(可选,但某些功能需要)
  4. 工作器和节拍器(可选,但某些功能需要)

可选组件和关联功能

上述可选组件是启用以下功能所必需的

如果您使用 Kubernetes 或 Docker Compose 安装,所有这些组件都将被创建。

但是,从 PyPI 安装只会创建应用程序本身。从 PyPI 安装的用户如果希望启用上述功能,则需要自行配置缓存层、工作器和节拍器。目前,本文档中未涵盖 PyPI 安装中这些组件的配置。

以下是对每个组件的更详细说明。

Superset 应用程序

这是核心应用程序。Superset 的运作方式如下

  • 用户访问图表或仪表板
  • 这会触发对包含基础数据集的数据仓库的 SQL 查询
  • 生成的数据以数据可视化的形式提供
  • Superset 应用程序由 Python (Flask) 后端应用程序(服务器)、API 层、以及通过 Webpack 构建的 React 前端和应用程序运行所需的静态资产组成

元数据数据库

这里存储了图表和仪表板定义、用户信息、日志等。Superset 已通过测试,可以使用 PostgreSQL 和 MySQL 数据库作为元数据数据库(不要与数据源混淆,例如您的数据仓库,其选项可能更多,例如 Snowflake、Redshift 等)。

某些安装方法,例如我们的快速入门和 PyPI,默认配置为使用磁盘上的 SQLite 数据库。在 Docker Compose 安装中,数据将存储在 PostgresQL 容器卷中。这两种情况都不建议在 Superset 的生产环境中使用。

对于生产环境,建议使用正确配置的、托管的、独立的数据库。无论您使用哪种数据库,您都应该计划定期备份。

缓存层

缓存层主要有两个功能

  • 存储对数据仓库查询的结果,以便当图表加载两次时,它第二次从缓存中提取数据,从而加快应用程序速度并减少数据仓库的负载。
  • 充当工作器的消息代理,启用警报和报告、异步查询和缩略图缓存功能。

大多数人使用 Redis 作为他们的缓存,但 Superset 也支持其他选项。有关更多信息,请参阅 缓存文档

工作器和节拍器

这是一个或多个工作器,用于执行任务,例如运行异步查询或拍摄报告快照并发送电子邮件,以及一个“节拍器”,充当调度程序并告诉工作器何时执行任务。大多数安装使用 Celery 作为这些组件。

其他组件

其他组件可以整合到 Superset 中。了解其他配置的最佳位置是 配置页面。例如,您可以设置负载均衡器或反向代理,以在 Superset 应用程序前面实施 HTTPS,或指定 Mapbox URL 以启用地理空间图表等。

Superset 甚至无法在没有某些配置设置的情况下启动,因此查看该页面至关重要。