init
This commit is contained in:
@@ -0,0 +1,17 @@
|
|||||||
|
# ADR-001: HTAP via Delta-Merge (HANA-inspired)
|
||||||
|
|
||||||
|
**Status:** Accepted
|
||||||
|
|
||||||
|
## Decision
|
||||||
|
PaulDB implements HTAP through a Delta (Row-Store) + Main (Column-Store) split,
|
||||||
|
merged periodically - mirroring SAP HANA's architecture.
|
||||||
|
|
||||||
|
## Rationale
|
||||||
|
Single-store systems force a choice between OLTP and OLAP performance.
|
||||||
|
The Delta-Merge pattern allows both: fast writes land in Delta (row-optimized),
|
||||||
|
analytics scan Main (column-optimized, compressed).
|
||||||
|
|
||||||
|
## Consequences
|
||||||
|
- Every query must union Delta + Main results.
|
||||||
|
- A merge worker must run periodically.
|
||||||
|
- The C ABI boundary (storage.h) cleanly separates both stores.
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
/* delta_merge.cpp - Engine Logic (C++) */
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
/* executor.cpp - Engine Logic (C++) */
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
/* mvcc.cpp - Engine Logic (C++) */
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
/* query_router.cpp - Engine Logic (C++) */
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
#include <cstdio>
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
std::printf("PaulDB starting...\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
/* ast.cpp - SQL Frontend (C++) */
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
/* parser.cpp - SQL Frontend (C++) */
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
/* planner.cpp - SQL Frontend (C++) */
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
/* tokenizer.cpp - SQL Frontend (C++) */
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
/* arena.c - Storage Engine (C) */
|
||||||
|
#include "pauldb/storage.h"
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
/* btree.c - Storage Engine (C) */
|
||||||
|
#include "pauldb/storage.h"
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
/* buffer_pool.c - Storage Engine (C) */
|
||||||
|
#include "pauldb/storage.h"
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
/* free_space_map.c - Storage Engine (C) */
|
||||||
|
#include "pauldb/storage.h"
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
/* heap.c - Storage Engine (C) */
|
||||||
|
#include "pauldb/storage.h"
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
/* page.c - Storage Engine (C) */
|
||||||
|
#include "pauldb/storage.h"
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
/* wal.c - Storage Engine (C) */
|
||||||
|
#include "pauldb/storage.h"
|
||||||
Reference in New Issue
Block a user