Files
paulDB/docs/architecture.md
T
paulhorn b1715a2947
CI / build-and-test (push) Successful in 47s
Update docs/architecture.md
2026-06-13 01:39:02 +02:00

34 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# paulDB Architektur
> Internes Design-Dokument. Das „Warum" hinter der Ordnerstruktur.
## Big Picture
paulDB ist eine **In-Memory HTAP-Engine**: Row- und Column-Storage in einem
System, verbunden durch einen Delta-Merge nach SAP-HANA-Vorbild.
```
SQL-Frontend ──> Query-Router ──┬─> Row-Pfad (Delta) ─┐
(sql) (query) │ ├─> Ergebnis
└─> Column-Pfad (Main) ─┘
Delta ──(Delta-Merge)──> Main
```
## Module ↔ Roadmap
| Modul (`src/`) | Etappe | Aufgabe |
|--------------------|--------|---------|
| `storage/delta` | E1 | schreib-optimierter Row-Store (OLTP) |
| `sql/` | E2/E6 | Tokenizer → AST → Plan |
| `storage/main` | E3 | lese-optimierter Column-Store (OLAP) |
| `compression/` | E3 | Dictionary + Prefix/RLE/Cluster/Sparse/Indirect |
| `merge/` | E4 | Delta → Main (das Herzstück) |
| `query/` | E5 | Router: OLTP- vs OLAP-Pfad (der HTAP-Beweis) |
| `txn/` | E7 | MVCC / konsistente Lesersicht |
## Prinzipien
- **Verstehen vor Benutzen** jedes Modul kommentiert das Warum.
- **Klein, aber echt** lieber wenig, das wirklich läuft.
- **Schlanke Public API** Re-Exports in `lib.rs`, Details bleiben privat.