
一个让产品 / 运营 / 分析师都能写 SQL、画图、订告警的浏览器 BI 工具。12 年迭代、BSD-2-Clause、被 Grafana 收购后仍在独立维护,是 ” 自托管 SQL 协作 BI” 的事实标准之一。
写在前面
数据团队每天都被一类需求包围:产品要看昨天的新增用户、运营要一张按渠道拆分的留存图、老板要把上周的 GMV 看板钉在会议室大屏上。
Superset 给的是 ” 分析师玩的花活 ”,Metabase 给的是 ” 老板拖两下的清爽 ”,而 Redash 卡在中间那个最实用的位置:让任何会写 SQL 的人 5 分钟搭一个可分享、可定时刷新、可告警的看板。
它不追求可视化多么惊艳、SQL 编辑器多么智能,它的核心承诺只有一条——“ 连接任何数据源,写 SQL,发个链接给同事,就这么简单 ”。12 年过去,这个定位依然成立。
一、它解决什么问题
一句话卖点:自托管 SQL 协作 BI 标准件,35+ 数据源 + 浏览器 SQL 编辑器 + 可分享仪表盘 + 条件告警。
| 维度 | 信息 |
|---|---|
| 项目名 | Redash |
| 维护方 | getredash 组织(2020 年被 Grafana Labs 收购) |
| Stars | 28,742 |
| Forks | 4,615 |
| License | BSD-2-Clause |
| 主语言 | Python 56% + JavaScript 38% + TypeScript |
| 创建时间 | 2013-10-28(12 年常青树) |
| 最新稳定版 | 26.3.0(Docker: redash/redash:26.3.0) |
| 最近 Push | 2026-08-10(3 天前,仍活跃) |
| Open Issues | 797 |
| Subscribers | 563 |
| 技术栈 | Python 3 + Flask + Celery/RQ + React + viz-lib |
| 在线 Demo | https://redash.io/ |
二、核心能力:SQL 优先的浏览器 BI
2.1 35+ 数据源是它的护城河
Redash 内置的数据源覆盖了几乎所有常见场景,下表按类别整理(精选自 README 的完整列表):
| 类别 | 代表数据源 |
|---|---|
| 数仓 / OLAP | Redshift / BigQuery / Snowflake / Databricks / ClickHouse / Apache Druid / Apache Pinot / Apache Impala / Firebolt / Rockset |
| 关系数据库 | PostgreSQL / MySQL / SQL Server / Oracle / MariaDB / CockroachDB / TiDB / DB2 / Greenplum |
| 大数据查询 | Presto / Trino / Hive / Drill / Spark (via Thrift) / Athena / Kylin |
| 时序 / 监控 | InfluxDB / Prometheus / Graphite / CloudWatch / Azure Kusto |
| NoSQL / 文档 | MongoDB / Elasticsearch / Couchbase / Cassandra / ScyllaDB |
| SaaS / API | Google Sheets / JIRA (JQL) / Salesforce / JSON / SPARQL / Python / Shell Scripts |
对比优势:Metabase 数据源 ~25 个、Superset 数据源 ~50+ 但配置繁琐。Redash 处于 ” 够用且不折腾 ” 的甜区——新增数据源只需写一个 query runner 类(Python)。
2.2 浏览器 SQL 编辑器
- Schema Browser:左侧自动列出当前数据源的所有表 / 字段,点击即插入
- Auto-complete:表名、字段名补全
- Snippets:把常用 SQL 片段(WITH 子查询、聚合模板)存成 snippet,跨数据源复用
- 参数化查询:
{{param}}语法,URL 传参实现 ” 同一查询不同筛选 ” - 查询历史:每一次 Run 都存档,方便回溯
2.3 可视化 + Dashboard
- 拖拽式可视化:柱状 / 折线 / 饼图 / 箱线 / 地图 / 桑基 / 透视 / 箱线 /cohort 等 30+ 图表
- Dashboard 组合:把多个 Query 的可视化拖到一个 Dashboard,支持 grid 布局
- Public Link:每个 Query 和 Dashboard 都有可分享 URL,支持公开访问(无需登录)
- 定时刷新:按 cron 表达式自动跑查询,缓存结果到 PostgreSQL
2.4 告警(Alerts)
这是 Redash 的 杀手锏:
- 基于 Query 结果设阈值(如
SELECT count(*) FROM events WHERE ... > 100) - 当结果满足条件 → 发通知
- 通知渠道:Email / Slack / Webhook / PagerDuty / HipChat
- 告警状态机:
TRIGGERED/OK/UNKNOWN三态 - 适用场景:DAU 跌破阈值 / 错误率飙升 / 订单金额异常 / 队列积压
对比:Metabase 的告警功能是 2020 年后才加的,体验不如 Redash 成熟。Superset 直到 3.0 才有原生告警。
三、生态扩展:API + Alert + Schedule
3.1 REST API
所有 UI 操作都有对应 API:
| 端点 | 功能 |
|---|---|
POST /api/queries |
创建 Query |
POST /api/query_results |
异步执行查询 |
POST /api/alerts |
创建告警 |
GET /api/dashboards/{slug}/public |
拿公开分享链接 |
价值:可以把 Redash 嵌入到内部系统(如用后端调 API 创建 Query,前端 iframe 嵌 Dashboard),也可以做 ”Query 即服务 ”。
3.2 数据源扩展
新增数据源只需 3 步:
- 实现
redash.query_runner.BaseQueryRunner子类 - 注册到
redash.settings.query_runners - 重启服务
社区贡献了大量 query runner(80+ 在 issues/discussions 里),覆盖 ClickHouse / Databend / DuckDB / RisingWave 等新数据库。
3.3 配套工具
- redashbot(doiken/redashbot):Slack Bot,问 ”DAU 是多少 ” 机器人自动跑 Redash 截图给你
- AWS/GCE 镜像:官方提供一键部署镜像(适合不想碰 Docker 的人)
- Docker Compose:标准部署方式,5 分钟起一个实例
四、对比 Superset / Metabase / Lightdash
| 维度 | Redash | Superset | Metabase | Lightdash |
|---|---|---|---|---|
| Stars | 28K | 60K+ | 38K+ | 6K |
| License | BSD-2-Clause | Apache-2.0 | AGPL-3.0 + 商业 | MIT + Enterprise |
| 主打定位 | SQL 协作 BI | 企业级数据探索 | 全民 BI(拖拽) | dbt 语义层 BI |
| 数据源数 | 35+ | 50+ | 25+ | 仅 dbt 支持的 |
| 告警 | ✅ 原生,成熟 | ✅ 3.0+ | ✅ 较弱 | ✅ 标准 |
| SQL 编辑器 | ✅ 优秀 | ⚠️ 一般 | ⚠️ 基础 | ⚠️ 借 dbt |
| 可视化丰富度 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| 自托管难度 | ⭐ 简单 | ⭐⭐⭐ 中等 | ⭐⭐ 简单 | ⭐⭐ 简单 |
| 企业级特性 | ⭐⭐ 较弱 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
| 学习曲线 | 低(SQL 用户) | 高 | 极低 | 中(需懂 dbt) |
结论:
- 选 Redash —— 团队会 SQL、想要 ” 写一次 Query 全公司复用 ”、告警是关键需求
- 选 Superset —— 大厂、需要分析师深度探索、愿意吃 Apache 全家桶
- 选 Metabase —— 非技术用户多、要 ” 老板能自己拖 ”
- 选 Lightdash —— 已经上 dbt、要语义层统一
五、实战:3 步跑通
5.1 一键 Docker 部署
# 1. 拉官方 compose
git clone https://github.com/getredash/setup.git && cd setup
# 2. 改 cookie_secret 和 database password
echo "export REDASH_COOKIE_SECRET=$(openssl rand -hex 32)" >> .env
echo "export REDASH_DATABASE_PASSWORD=$(openssl rand -hex 16)" >> .env
# 3. 起来
docker-compose -f docker-compose.yml run --rm server create_db
docker-compose -f docker-compose.yml up -d
# 访问 http://localhost:5000
5.2 接 PostgreSQL + 跑第一个 Query
- 登录 → 右上角 “+ New Data Source” → PostgreSQL → 填连接信息
- “+ New Query” → 选数据源 → 写 SQL:
sql
SELECT date_trunc('day', created_at) AS day,
count(*) AS new_users
FROM users
WHERE created_at > '{{start_date}}'
GROUP BY 1 ORDER BY 1; - 点 “Execute” → 切到 Visualization 选图表 → 保存为 Dashboard 一部分
5.3 加告警(DAU 跌破阈值)
- 打开已保存的 Query → “Alerts” Tab → “Add Alert”
- 选列(
new_users)、条件(< 100)、触发时机(cron0 9 * * *) - 通知渠道填 Email 或 Slack Webhook
- 保存 → 第二天早上 9 点自动检查,跌破就发通知
六、风险与坑
| 风险 | 说明 | 缓解 |
|---|---|---|
| 维护节奏放缓 | 2020 年被 Grafana 收购后,主线仍活跃但 PR 合并节奏不如收购前密集 | 社区活跃、issue 响应尚可;可考虑 fork 自维护 |
| Django 1.x 依赖 | 后端代码仍有部分 Django 1.x 残留,新 Python 版本需要适配 | Docker 镜像已处理好,无需手动踩 |
| 前端技术栈陈旧 | 前端用 React + Ant Design 老版本,性能和体验不如新 BI | 适合内部使用,公网 2C 慎选 |
| 告警在大规模下不稳 | 单实例告警任务多了 Celery/RQ 队列会堵 | 多 worker 横向扩展;或迁移到外部告警系统 |
| 缺少数据血缘 / Catalog | 不像 Superset 有 metadata DB 完整血缘 | 配合 dbt + Lightdash 做语义层 |
| 认证授权粒度粗 | 只能控制到 ” 能不能看 Dashboard”,细到行级权限需要外部包装 | 中小公司够用,大企业需自研 |
七、总结
Redash 最适合的三个场景:
- SQL-native 团队 —— 大家都会 SQL,只缺一个 ” 能分享 + 能告警 ” 的轻量 BI
- 告警驱动运维 —— DAU、错误率、订单量等关键指标的阈值监控,比 Prometheus 友好
- 多数据源 + 快速验证 —— 35+ 数据源覆盖主流数据库,5 分钟接一个
一句话建议:
如果你的团队 ” 会写 SQL 的人多、需要告警、不想折腾复杂 BI”,先用 Redash,它会在 1 周内成为内部最高频的 BI 工具;如果半年后撞到天花板(权限 / 血缘 / 可视化不够),再迁移到 Superset。
先试一周:Docker compose 跑起来 → 接 PostgreSQL → 跑 3 个核心指标 → 设 1 个告警。这一周你会知道它是不是你团队的 ” 标准 BI 答案 ”。
参考
- getredash/redash — GitHub 仓库
- Redash 官网 — 官方主页
- Redash 文档 — 完整文档
- Redash Release Notes — 版本更新日志
- Docker 安装教程 — 官方安装指南
- doiken/redashbot — Slack 机器人集成
- GitHub Issues — 797 个待解决 issue
- Superset / Metabase / Redash 对比 — 经典三方对比(中文)
研究文档(引用来源参考)
(no reference document available)