Overview
Discover what makes Redash powerful
Redash is an open‑source analytics platform that exposes a unified query, visualization, and sharing layer over dozens of data sources. From a developer’s standpoint it functions as a **query orchestration engine**: users write SQL or NoSQL queries in a browser, Redash sends them to the appropriate backend driver, materializes results into its own PostgreSQL cache, and then feeds those rows to a lightweight rendering stack that produces interactive charts or dashboards. The entire workflow is exposed through a REST API, enabling automation of query execution, result retrieval, and dashboard generation from external tools or CI pipelines.
Web Server
Background Workers
Result Cache
Data Source Drivers
Overview
Redash is an open‑source analytics platform that exposes a unified query, visualization, and sharing layer over dozens of data sources. From a developer’s standpoint it functions as a query orchestration engine: users write SQL or NoSQL queries in a browser, Redash sends them to the appropriate backend driver, materializes results into its own PostgreSQL cache, and then feeds those rows to a lightweight rendering stack that produces interactive charts or dashboards. The entire workflow is exposed through a REST API, enabling automation of query execution, result retrieval, and dashboard generation from external tools or CI pipelines.
Architecture
Redash is built on a Python/Django backend that serves the web UI and API. The core components include:
- Web Server – Django + Gunicorn behind Nginx, handling authentication (OAuth/OIDC), role‑based access control, and WebSocket endpoints for real‑time query status updates.
- Background Workers – Celery workers (Redis broker) execute queries asynchronously, schedule refreshes, and push alerts. Workers can be scaled horizontally to handle high query concurrency.
- Result Cache – A PostgreSQL database stores query metadata, cached result sets (as JSONB), dashboards, visualizations, and user accounts. The cache is sharded per tenant in multi‑tenant deployments.
- Data Source Drivers – Each supported source implements a Python adapter that translates Redash’s query language into the native connector (e.g.,
psycopg2for PostgreSQL,sqlalchemyfor generic SQL). The driver layer is pluggable; adding a new source involves implementing theDataSourceinterface and registering it in the registry. - Front‑end – A single‑page React application powered by Redux and D3 for visualizations. The UI communicates with the API over HTTPS, using JWT or session cookies.
Containerization is first‑class: official Docker images expose the web and worker services, and a Compose file demonstrates a quick multi‑service deployment. Kubernetes manifests are also available in the community, leveraging StatefulSets for PostgreSQL and Redis.
Core Capabilities
- Rich Query Editor – Auto‑completion, schema browser, and snippet reuse. The editor is built with CodeMirror and exposes a
POST /queriesendpoint for programmatic query creation. - Visualization API – Each chart type (bar, line, pie, heatmap, etc.) is defined by a JSON schema. Developers can render charts on the fly or embed them via an iframe token.
- Dashboard API – Dashboards are JSON objects composed of widget references. The
GET /dashboards/{id}endpoint returns a fully rendered HTML snapshot suitable for embedding. - Alerting – Conditional alerts are defined as SQL expressions; the scheduler evaluates them and triggers webhooks or email notifications.
- Extensibility – The data source API allows developers to ship custom connectors as Python packages. Plugins can also hook into Django signals (e.g.,
pre_query_execution) to inject custom logic or metrics.
Deployment & Infrastructure
Redash’s self‑hosting stack is lightweight yet production‑ready. Minimum requirements are a machine with 2 CPU cores, 4 GB RAM, and a PostgreSQL instance (>=10). For larger deployments:
- Horizontal Scaling – Workers can be scaled independently; the web tier benefits from a load balancer and sticky sessions.
- High Availability – PostgreSQL can be configured with streaming replication; Redis can run in sentinel mode. Docker Swarm or Kubernetes provide rolling updates without downtime.
- CI/CD Integration – The REST API supports bulk query imports and dashboard deployment, making it straightforward to integrate Redash updates into a GitOps workflow.
Integration & Extensibility
Redash’s plugin system is intentionally minimalistic to keep the core lean. Custom data sources are packaged as Python modules and listed in settings.py. The platform also exposes webhooks for query completion, dashboard sharing events, and alert triggers. Developers can consume these events in real time or forward them to external monitoring systems (Prometheus, Grafana). Additionally, the UI can be embedded in other applications via an iframe token that bypasses authentication, allowing organizations to surface Redash dashboards within their intranet portals.
Developer Experience
The documentation is comprehensive, covering installation, configuration, and advanced topics like custom data sources. The community is active on GitHub, with frequent issue triage and a Slack channel for real‑time support. The codebase follows standard Django conventions, making it approachable for Python developers. Type hints are gradually added, and the API follows RESTful principles with clear versioning (/api/v1/...).
Use Cases
- Data‑driven Product Teams – Embed live dashboards in product analytics portals, schedule nightly refreshes of user metrics.
- SRE Ops – Query Prometheus or CloudWatch logs, visualize latency trends, and set alerts on SLA violations.
- Business Intelligence – Consolidate data from disparate sources (Snowflake, MongoDB, Salesforce) into a single query layer for ad‑hoc reporting.
- DevOps Automation – Use the API to trigger queries from CI pipelines, capture results into artifacts, or validate data consistency.
Advantages
Redash offers a no‑lock‑in model: the source code is MIT‑licensed, and every feature (including connectors) can be forked or extended. Its performance is tuned for read‑heavy workloads; query caching and asynchronous execution keep latency low even under high concurrency. The tight integration of visualizations, alerts, and scheduling in a
Open SourceReady to get started?
Join the community and start self-hosting Redash today
Related Apps in data-analysis
Uptime Kuma
Self-hosted uptime monitoring for all services
Apache Superset
Open‑source BI for fast, no‑code data exploration
Metabase
Easy open‑source business intelligence for everyone
Netron
Visualize AI models in any browser or desktop
Umami
Privacy‑focused, lightweight web analytics
PostHog
Open‑source product analytics and experimentation platform
Weekly Views
Repository Health
Information
Explore More Apps
Gossa
Self-hosted other
Stretto
Web‑based music player that syncs playlists and fetches lyrics
Wastebin
A minimal, fast paste‑sharing service with encryption and QR codes
Simple-URL-Shortener
KISS URL shortener with user comments
Postiz
AI‑powered social media scheduler

Crafty Controller
Self‑hosted Minecraft server launcher and manager
