# Redash — Open Source Data Visualization & Dashboard Tool > Redash connects to any data source, lets you query with SQL, visualize results, and build shareable dashboards. The SQL-first open-source BI tool for data teams. ## Install Save in your project root: ## Quick Use ```bash git clone https://github.com/getredash/setup.git redash-setup cd redash-setup docker compose up -d ``` Open `http://localhost:5000` — create your admin account and connect your first data source. ## Intro **Redash** is an open-source data visualization and dashboarding tool designed for data analysts and engineers. It connects to virtually any data source, provides a powerful SQL editor with autocomplete, and lets you build interactive dashboards that can be shared across your organization. With 28.3K+ GitHub stars and BSD-2-Clause license, Redash is the go-to SQL-first BI tool for teams that prefer writing queries over drag-and-drop builders. ## What Redash Does - **SQL Editor**: Full-featured SQL editor with schema browser, autocomplete, and query history - **50+ Data Sources**: PostgreSQL, MySQL, BigQuery, Snowflake, Redshift, ClickHouse, MongoDB, APIs, and more - **Visualizations**: Charts, tables, maps, pivot tables, word clouds, and more from query results - **Dashboards**: Compose visualizations into interactive dashboards with filters and parameters - **Alerts**: Automated alerts when query results match conditions (email, Slack, webhook) - **Scheduled Queries**: Auto-refresh queries on a schedule (hourly, daily, weekly) - **Sharing**: Share queries and dashboards with team via links or embedding - **API**: Full REST API for programmatic access to queries and results - **Parameters**: Parameterized queries for dynamic, interactive dashboards ## Architecture ``` ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ Browser │────▶│ Redash │────▶│ Your Data │ │ Dashboard │ │ Server │ │ PostgreSQL │ └──────────────┘ │ (Python/ │ │ MySQL │ │ Flask) │ │ BigQuery │ └──────┬───────┘ │ Snowflake │ │ │ ClickHouse │ ┌──────┴───────┐ │ 50+ more │ │ Redis + │ └──────────────┘ │ PostgreSQL │ │ (Metadata) │ └──────────────┘ ``` ## Self-Hosting ### Docker Compose ```yaml services: redash: image: redash/redash:latest command: server ports: - "5000:5000" environment: REDASH_DATABASE_URL: postgresql://redash:redash@postgres/redash REDASH_REDIS_URL: redis://redis:6379/0 REDASH_SECRET_KEY: your-secret-key depends_on: - postgres - redis worker: image: redash/redash:latest command: worker environment: REDASH_DATABASE_URL: postgresql://redash:redash@postgres/redash REDASH_REDIS_URL: redis://redis:6379/0 scheduler: image: redash/redash:latest command: scheduler environment: REDASH_DATABASE_URL: postgresql://redash:redash@postgres/redash REDASH_REDIS_URL: redis://redis:6379/0 postgres: image: postgres:16-alpine environment: POSTGRES_USER: redash POSTGRES_PASSWORD: redash POSTGRES_DB: redash volumes: - pg-data:/var/lib/postgresql/data redis: image: redis:7-alpine volumes: pg-data: ``` ## Key Features ### Parameterized Queries ```sql -- Parameters appear as {{param_name}} in queries SELECT date_trunc('{{period}}', created_at) as period, COUNT(*) as orders, SUM(total) as revenue FROM orders WHERE created_at BETWEEN '{{start_date}}' AND '{{end_date}}' AND status = '{{status}}' GROUP BY 1 ORDER BY 1 -- Parameters become dropdown/date picker controls in the dashboard -- period: day, week, month (dropdown) -- start_date, end_date: date pickers -- status: completed, pending, cancelled (dropdown from query) ``` ### Visualization Types | Type | Best For | |------|----------| | Line/Area Chart | Time series trends | | Bar Chart | Category comparisons | | Pie/Donut | Proportions | | Scatter | Correlations | | Pivot Table | Multi-dimensional analysis | | Map (Choropleth) | Geographic data | | Counter | Single KPI number | | Funnel | Conversion analysis | | Word Cloud | Text frequency | | Cohort | Retention analysis | ### Scheduled Queries & Alerts ``` Query: "Daily Active Users" Schedule: Every day at 8am Alert: When result < 1000 → Send to Slack #metrics → Email to team@company.com ``` ### Query Snippets ```sql -- Save reusable SQL snippets -- Snippet: "date_filter" WHERE created_at BETWEEN '{{start_date}}' AND '{{end_date}}' -- Snippet: "user_join" LEFT JOIN users u ON u.id = t.user_id -- Use with trigger keyword in SQL editor ``` ## Redash vs Alternatives | Feature | Redash | Metabase | Grafana | Superset | |---------|--------|----------|---------|----------| | Query approach | SQL-first | Visual + SQL | PromQL + SQL | SQL + visual | | Data sources | 50+ | 20+ | 100+ | 30+ | | Ease of use | Medium (SQL) | Easy (no-code) | Medium | Medium | | Best for | Data/SQL teams | Business users | DevOps/SRE | Data teams | | Alerts | Yes | Yes | Yes | Yes | | Embedding | Basic | Advanced | Yes | Yes | | Community | Large | Very large | Very large | Large | ## 常见问题 **Q: Redash 和 Metabase 怎么选?** A: 如果你的团队习惯写 SQL,Redash 更自然。如果团队中有非技术人员需要自主探索数据,Metabase 的可视化查询构建器更友好。两者都可以免费自托管。 **Q: Redash 还在积极维护吗?** A: Redash 被 Databricks 收购后,官方开发节奏放缓。但社区仍在活跃维护(合并 PR 和修复 bug)。对于新项目,也可以考虑 Metabase 或 Apache Superset。 **Q: 可以可视化 API 数据吗?** A: 可以。Redash 支持 JSON API 和 Python 脚本作为数据源。你可以写 Python 代码调用任何 API 并返回结果用于可视化。 ## 来源与致谢 - GitHub: [getredash/redash](https://github.com/getredash/redash) — 28.3K+ ⭐ | BSD-2-Clause - 官网: [redash.io](https://redash.io) --- Source: https://tokrepo.com/en/workflows/a20e0e3e-34d0-11f1-9bc6-00163e2b0d79 Author: AI Open Source