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
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
-- 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.comQuery Snippets
-- 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 editorRedash 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 |
FAQ
Q: Redash or Metabase — which should I choose? A: If your team is comfortable writing SQL, Redash feels more natural. If non-technical users need to explore data on their own, Metabase's visual query builder is friendlier. Both can be self-hosted for free.
Q: Is Redash still actively maintained? A: After Databricks acquired Redash, official development slowed down, but the community is still actively maintaining it (merging PRs and fixing bugs). For new projects, Metabase or Apache Superset are also worth considering.
Q: Can I visualize data from APIs? A: Yes. Redash supports JSON APIs and Python scripts as data sources. You can write Python code to call any API and return the results for visualization.
Sources & Credits
- GitHub: getredash/redash — 28.3K+ ⭐ | BSD-2-Clause
- Website: redash.io