Apache Superset
An open-source BI web app: a no-code chart builder, dashboards and a SQL editor over any database with a SQLAlchemy dialect, with a thin semantic layer, caching, row-level security and embedding.
Apache · Top-level project- What it is
- Dashboards and BI
- Type
- Open source
- Made by
- Apache Software Foundation
- Foundation
- The Apache Software Foundation, top-level project, joined May 2017
- License
- Apache 2.0
- Facts checked
- 23 October 2026
What it is
Superset is a Python (Flask) web application with a React front end. It keeps no copy of your data: you connect a database by its SQLAlchemy URI, and Superset can query any SQL-speaking engine that has a Python DB-API driver and a SQLAlchemy dialect, from PostgreSQL and MySQL to Snowflake, BigQuery, Trino, ClickHouse, Druid and DuckDB. A dataset is a table you expose for querying, plus a thin semantic layer you define in the dataset editor: metrics, which are aggregate SQL expressions such as SUM(recovered) / SUM(confirmed), and calculated columns. Explore is the no-code chart builder over a dataset, saved charts go on dashboards, and SQL Lab is a web SQL IDE for queries the builder can’t express.
A production install has more parts than the web app. A metadata database (PostgreSQL or MySQL recommended) holds charts, dashboards, users and logs. A cache, usually Redis, stores chart results, dashboard filter state and the results of asynchronous SQL Lab queries, and doubles as the message broker for Celery workers, which run async queries, alerts and reports and dashboard thumbnails on a schedule kept by Celery beat. Flask AppBuilder handles sign-in and permissions, with built-in roles (Admin, Alpha, Gamma, sql_lab and Public) and row-level security filters that add a SQL clause to queries for chosen users, groups or roles. Dashboards can be embedded in another app through the @superset-ui/embedded-sdk package and a guest token issued by that app’s backend. The current release is 6.1.0 (May 2026), with 7.0 in release candidates, and the docs describe a built-in MCP server that lets AI assistants list dashboards, query datasets and create charts.
Why teams pick it
- Apache 2.0 and self-hosted, with no per-viewer licence: you pay for the servers it runs on, or for a hosted service such as Preset
- Reaches almost any SQL engine through SQLAlchemy, including OLAP stores such as Druid, ClickHouse, Pinot and Doris that keep live dashboards fast
- One tool for two audiences: business users build charts and dashboards without SQL, analysts use SQL Lab, on the same datasets and permissions
- Made to be embedded and automated: a REST API, an embedded SDK whose guest tokens can carry row-level security rules, and an MCP server for AI clients
Watch out for
- The semantic layer is thin by design: per-dataset metrics, calculated columns and descriptions, so metrics that other tools must share need a separate semantic layer
- Several services to run: a PyPI install creates only the web app, and alerts, reports, async queries and thumbnails need a cache, Celery workers and beat that you set up yourself
- Permissions need care: Admins are fully trusted, Alpha users can reach every data source, and embedding needs the
EMBEDDED_SUPERSETfeature flag plus a backend that issues guest tokens - Dashboards are only as fast as the database behind them: the chart data cache is optional, and without it every view queries the source
How it fits with other technologies
What Apache Superset uses
- Apache Supersetbuilds and runs its queries withSQLAlchemy
- Apache Supersetkeeps its metadata in, or queries,PostgreSQL
- Apache Supersetkeeps its metadata in, or queries,MySQL
- Apache Supersetcaches results and queues tasks inRedis
- Apache Supersetdraws dashboards overApache Druid
- Apache Supersetdraws dashboards overClickHouse
- Apache Supersetdraws dashboards overTrino
- Apache Supersetdraws dashboards overSnowflake
- Apache Supersetdraws dashboards overGoogle BigQuery
- Apache Supersetdraws dashboards overDuckDB
What uses Apache Superset
superset_config.py: cache chart results in Redis and allow embedded dashboards · python
# Chart data: the results of the SQL each chart runs, kept for a day
DATA_CACHE_CONFIG = {
"CACHE_TYPE": "RedisCache",
"CACHE_DEFAULT_TIMEOUT": 86400, # 60 seconds * 60 minutes * 24 hours
"CACHE_KEY_PREFIX": "superset_results",
"CACHE_REDIS_URL": "redis://localhost:6379/1",
}
# Dashboard filter state (required; falls back to the metadata database)
FILTER_STATE_CACHE_CONFIG = {
"CACHE_TYPE": "RedisCache",
"CACHE_DEFAULT_TIMEOUT": 86400,
"CACHE_KEY_PREFIX": "superset_filter_cache",
"CACHE_REDIS_URL": "redis://localhost:6379/0",
}
# Turn on the embedded SDK and the guest token endpoint
FEATURE_FLAGS = {"EMBEDDED_SUPERSET": True}See it in a real stack
No architecture uses Apache Superset yet. Drop it into the playground and wire it up yourself.Open playground →Where it came from2015–2026
In 2015, during a three-day hackathon at Airbnb, Maxime Beauchemin built a fast visualisation front end for the Druid database, inspired by Facebook’s Scuba. The code started in July 2015 as Panoramix, was briefly renamed dashed in March 2016, and was released as Caravel at the end of that month. Airbnb’s announcement described a data exploration and dashboarding platform with a thin semantic layer, SQLAlchemy for most SQL databases, Druid support for real-time analytics, and caching with cascading timeouts to protect databases from heavy load.
In November 2016 the project was renamed Superset, and in May 2017 it entered the Apache Incubator; the proposal said about a dozen companies used it in production and more than a hundred people had contributed. Beauchemin then spent about a year at Lyft, where the team added geospatial and real-time features built on deck.gl, and in October 2019 he founded Preset to offer hosted Superset and to keep building the project. On 21 January 2021 Superset became a top-level Apache project together with its 1.0 release, with users including Airbnb, American Express, Dropbox, Lyft, Netflix and Twitter.
Releases have continued since: 6.0 in December 2025, 6.1 in May 2026 and 7.0 release candidates in October 2026. The docs now describe a built-in MCP server for AI assistants, and the documentation for the next release adds extensions that connect Superset to external semantic layers.
Why it’s built this way
- SQLAlchemy instead of hand-written connectors
- Airbnb wanted Superset to work as well in other companies’ environments as in its own, so the query layer was written with SQLAlchemy, which translates queries into most SQL dialects. Any database with a SQLAlchemy dialect became a possible source.
- A thin semantic layer
- Datasets only needed enough metadata to be usable without SQL: descriptions and friendly names, calculated fields and metrics written as SQL expressions, and settings for how fields appear in the UI.
- Fast query loops, backed by Druid and caching
- Beauchemin wrote that 10 to 30 seconds of delay is enough to break someone’s train of thought, so Superset was paired with Druid’s fast queries and cached results with timeouts per report, table and database.
- Pluggable authentication and roles
- To serve a whole company, it needed LDAP, OpenID, OAuth and remote-user sign-in and permissions per feature and per dataset, which it took from Flask AppBuilder.
Timeline
- 2015
Maxime Beauchemin starts Panoramix at an Airbnb hackathon as a front end for Druid
- 2016
Open-sourced as Caravel in March; renamed Superset in November
- 2017
Enters the Apache Incubator in May
- 2019
Beauchemin founds Preset to offer hosted Superset
- 2021
Becomes a top-level Apache project and ships 1.0 in January
- 2025
Superset 6.0 released in December
- 2026
6.1 released in May; 7.0 release candidates in October
- Airbnb Engineering: Superset, Airbnb’s data exploration platform (Mar 2016; first released as Caravel) · archived copy, original
- Preset blog: Announcing Preset (Oct 2019; the 2015 hackathon, Druid and Scuba, Lyft and deck.gl)
- GitHub: apache/superset commit “[panoramix] -> [dashed]” (Mar 2016)
- GitHub: apache/superset pull request #1576, rename project from Caravel to Superset (Nov 2016)
- Apache Incubator: Superset proposal (production users and contributors in 2017)
- Apache Software Foundation: Apache Superset becomes a top-level project (Jan 2021)
- GitHub: apache/superset releases (6.0.0 Dec 2025, 6.1.0 May 2026, 7.0.0 release candidates)
Sources10 · facts checked 23 October 2026
- GitHub: apache/superset README (features, SQLAlchemy dialects, Apache 2.0)
- Superset docs: Introduction
- Superset docs: Creating your first dashboard (SQLAlchemy URI, datasets, metrics, calculated columns, Explore, SQL Lab)
- Superset docs: Architecture (Flask and React app, metadata database, cache, Celery workers and beat)
- Superset docs: Caching (Flask-Caching backends, cache types, example configs)
- Superset docs: Security (Flask AppBuilder, built-in roles, row level security)
- Superset docs: Embedding (embedded SDK, guest tokens, EMBEDDED_SUPERSET flag, RLS rules)
- Superset docs: MCP server (6.1)
- Superset docs: Supported databases
- GitHub: apache/superset release 6.1.0