Modulstruktur: storage/sql/compression/merge/query/txn + tests/examples/docs
CI / build-and-test (push) Successful in 47s
CI / build-and-test (push) Successful in 47s
This commit is contained in:
@@ -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.
|
||||
Reference in New Issue
Block a user