架构
本页面旨在让新管理员了解 Superset 的组件。
组件
Superset 安装由以下组件组成
- Superset 应用程序本身
- 元数据数据库
- 缓存层(可选,但某些功能必需)
- 一个工作器和 beat(可选,但某些功能必需)
可选组件和相关功能
上述可选组件对于启用这些功能是必需的
如果您使用 Kubernetes 或 Docker Compose 安装,所有这些组件都将被创建。
但是,从 PyPI 安装只创建应用程序本身。从 PyPI 安装的用户如果希望启用上述功能,则需要自行配置缓存层、工作器和 beat。本文档目前不涵盖这些组件在 PyPI 安装中的配置。
以下是每个组件的详细信息。
Superset 应用程序
这是核心应用程序。Superset 的运行方式如下
- 用户访问图表或仪表盘
- 这会触发对保存底层数据集的数据仓库的 SQL 查询
- 生成的数据将以数据可视化的形式呈现
- Superset 应用程序由 Python (Flask) 后端应用程序(服务器)、API 层以及通过 Webpack 构建的 React 前端和应用程序工作所需的静态资产组成
元数据数据库
这里存储图表和仪表盘定义、用户信息、日志等。Superset 经过测试可以与 PostgreSQL 和 MySQL 数据库作为元数据数据库(不要与数据源混淆,例如您的数据仓库,它可能有更多种选择,如 Snowflake、Redshift 等)。
某些安装方法,例如我们的快速入门和 PyPI,默认配置为使用基于磁盘的 SQLite 数据库。而在 Docker Compose 安装中,数据将存储在 PostgreSQL 容器卷中。这两种情况都不推荐用于生产环境的 Superset 实例。
对于生产环境,建议使用配置正确、托管的独立数据库。无论使用何种数据库,都应计划定期备份。
缓存层
缓存层主要有两个功能
- 存储对数据仓库的查询结果,以便图表第二次加载时从缓存中拉取,从而加速应用程序并减少数据仓库的负载。
- 充当工作器的消息代理,启用警报和报告、异步查询和缩略图缓存功能。
大多数人使用 Redis 作为缓存,但 Superset 也支持其他选项。有关更多信息,请参阅缓存文档。
工作器和 Beat
这是一个或多个工作器,它们执行诸如运行异步查询或截取报告快照并发送电子邮件等任务,以及一个充当调度器并告诉工作器何时执行任务的“beat”。大多数安装使用 Celery 作为这些组件。
其他组件
其他组件可以集成到 Superset 中。了解更多配置的最佳位置是配置页面。例如,您可以设置负载均衡器或反向代理以在 Superset 应用程序前面实现 HTTPS,或者指定 Mapbox URL 以启用地理空间图表等。
如果未建立某些配置设置,Superset 甚至无法启动,因此务必查看该页面。