部署总架构
目标
服务器用于承载实训项目的数据可视化成果入口、交互式分析应用和 BI 面板。服务器不作为原始大 CSV 的长期仓库。
推荐访问结构
| 入口 | 工具 | 作用 |
|---|---|---|
/ |
Nginx 静态主页 | 项目总入口,链接到各展示工具 |
/dashboard/ |
Pyecharts / ECharts 静态 HTML | 满足任务书看板交付,稳定、可截图、可离线备份 |
/app/ |
Streamlit | 动态筛选、推荐查询、扩展分析 |
/bi/ |
Metabase | BI 仪表盘、SQL 探索、多维分析 |
/docs/ |
MkDocs 静态文档 | 操作手册、指标字典、看板说明、过程文档 |
数据流
原始 CSV 分片
-> Python / DuckDB 清洗
-> Parquet 中间层
-> 汇总指标表
-> 静态 HTML / Streamlit / MySQL / Metabase
联动方式
这些工具不直接互相改数据,统一通过“汇总层数据”联动:
- 静态 HTML 读取导出的 JSON/CSV 或内嵌图表数据。
- Streamlit 读取汇总 CSV、Parquet 或 DuckDB 文件。
- Metabase 连接 MySQL 中的汇总表。
- 主页只负责导航和展示状态,不承载分析逻辑。
为什么仍然需要静态 HTML
即使部署 BI 面板,也必须保留静态 HTML:
- 任务书明确允许并推荐 HTML/Pyecharts 交付。
- 静态 HTML 可离线打开,适合答辩备用。
- 静态 HTML 适合截图放入 PPT。
- BI 面板更适合探索分析,但账号、网络、服务状态都可能影响答辩稳定性。
推荐优先级
- Nginx 静态主页
- Pyecharts / ECharts 静态看板
- MkDocs 文档站点
- Streamlit 动态分析应用
- Metabase BI 面板
前 3 项保障基础交付,后 2 项用于提高展示深度和完成质量。