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