--- sidebar_position: 5 version: 1 --- import InteractiveSVG from '../../../src/components/InteractiveERDSVG'; import Mermaid from '@theme/Mermaid'; # Resources ## High Level Architecture
```mermaid flowchart TD %% Top Level LB["Load Balancer(s)
(optional)"] LB -.-> WebServers %% Web Servers subgraph WebServers ["Web Server(s)"] WS1["Frontend
(React, AntD, ECharts, AGGrid)"] WS2["Backend
(Python, Flask, SQLAlchemy, Pandas, ...)"] end %% Infra subgraph InfraServices ["Infra"] DB[("Metadata Database
(Postgres / MySQL)")] subgraph Caching ["Caching Subservices
(Redis, memcache, S3, ...)"] direction LR DummySpace[" "]:::invisible QueryCache["Query Results Cache
(Accelerated Dashboards)"] CsvCache["CSV Exports Cache"] ThumbnailCache["Thumbnails Cache"] AlertImageCache["Alert/Report Images Cache"] QueryCache -- " " --> CsvCache linkStyle 1 stroke:transparent; ThumbnailCache -- " " --> AlertImageCache linkStyle 2 stroke:transparent; end Broker(("Message Queue
(Redis / RabbitMQ / SQS)")) end AsyncBackend["Async Workers (Celery)
required for Alerts & Reports, thumbnails, CSV exports, long-running workloads, ..."] %% External DBs subgraph ExternalDatabases ["Analytics Databases"] direction LR BigQuery[(BigQuery)] Snowflake[(Snowflake)] Redshift[(Redshift)] Postgres[(Postgres)] Postgres[(... any ...)] end %% Connections LB -.-> WebServers WebServers --> DB WebServers -.-> Caching WebServers -.-> Broker WebServers -.-> ExternalDatabases Broker -.-> AsyncBackend AsyncBackend -.-> ExternalDatabases AsyncBackend -.-> Caching %% Legend styling classDef requiredNode stroke-width:2px,stroke:black; class Required requiredNode; class Optional optionalNode; %% Hide real arrow linkStyle 0 stroke:transparent; %% Styling classDef optionalNode stroke-dasharray: 5 5, opacity:0.9; class LB optionalNode; class Caching optionalNode; class AsyncBackend optionalNode; class Broker optionalNode; class QueryCache optionalNode; class CsvCache optionalNode; class ThumbnailCache optionalNode; class AlertImageCache optionalNode; class Celery optionalNode; classDef invisible fill:transparent,stroke:transparent; ```
## Entity-Relationship Diagram Here is our interactive ERD:
[Download the .svg](https://github.com/apache/superset/tree/master/docs/static/img/erd.svg)