1.3 KiB
1.3 KiB
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.