Modulstruktur: storage/sql/compression/merge/query/txn + tests/examples/docs
CI / build-and-test (push) Successful in 47s

This commit is contained in:
2026-06-13 01:36:32 +02:00
parent 36df095fac
commit 81bdbe5e64
13 changed files with 242 additions and 98 deletions
+33
View File
@@ -0,0 +1,33 @@
# 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.