Files
Lakehouse/docs/architecture.md
T

68 lines
1.9 KiB
Markdown
Raw Normal View History

# Architectuur — ATC Lakehouse
## Dataflow (conceptueel)
```mermaid
flowchart LR
subgraph sources [Bronnen]
DB1[(atc-db01)]
DB2[(atc-db02)]
end
subgraph ingest [Ingest]
DEB[Debezium]
KAFKA[Kafka]
end
subgraph lake [Lake]
SPARK[Spark]
TRINO[Trino]
ICE[Iceberg tables]
end
subgraph consume [Consumptie]
SS[Superset]
KB[Kibana]
GF[Grafana]
end
DB1 --> DEB
DB2 --> DEB
DEB --> KAFKA
KAFKA --> SPARK
SPARK --> ICE
TRINO --> ICE
TRINO --> SS
KAFKA --> SS
```
## Lagen
| Laag | Componenten | Doel |
|------|-------------|------|
| **Bron** | PostgreSQL, MySQL, MongoDB, Cassandra, Neo4j | OLTP / events / graph demo data |
| **Ingest** | Debezium, Kafka Connect | CDC naar Kafka topics |
| **Processing** | Spark, Airflow | ETL, batch, orchestratie |
| **Query** | Trino | Federated SQL over lake + bronnen |
| **Storage** | ObjectScale / MinIO (indien actief) | Object storage |
| **Analytics** | Superset, Kibana | BI en search UI |
| **Platform** | Proxmox, Docker hosts | VMs en containers |
| **Ops** | Homepage dashboard, Grafana | Zichtbaarheid en links |
## atc-docker01 — centrale dashboard-host
Draait de **gethomepage**-dashboard (poort 80), **RSS-proxy** (8090), **icon server** (8080), **Apache Superset** (8088), en optioneel lokale **Forgejo** (4002) / **LAM** (4001).
Configuratiepad op de host: `/root/lakehouse/config/homepage` → gemount in container `/app/config`.
## Configuratie in git
| Pad | Beschrijving |
|-----|--------------|
| `config/kafka/*.json` | Debezium/Kafka Connect connector definities |
| `config/trino/config.properties` | Trino coordinator (single-node) |
| `config/spark/spark-defaults.conf` | Spark defaults |
| `config/airflow/` | Airflow DAG + `airflow.cfg` |
| `config/superset/` | Superset Python config + compose |
| `config/homepage/` | Volledige dashboardconfiguratie |