Redash architecture

Redash is a single-page web app, with JS frontend and backend.

Originally having the frontend written in AngularJS, since V5, it's in transition to React:

 

Redash itself is written in Python.

The UI (frontend) is AngularJS, which is responsible for all the visualizations, dashboards, and the query editor. The regular user interacts with this the most.

The server (backend) is a Flask App, which uses the Celery Distributed Task Queue as its task worker engine (Celery workers are responsible for query execution).

The server handles the actual query execution requests on various Data Sources, such as dashboard refresh requests, ...

Get Redash v5 Quick Start Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.