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, both from the frontend and from API calls (for example, slack bots, advanced user's webhooks, and so on).

The PostgreSQL database is used to store all the necessary application metadata and configurations (users/groups/datasource definitions/queries/dashboards).

Redis in the memory datastore serves as both the Celery Message Broker (Celery requires a message broker service to send and receive messages).

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset