# ZFS_COLUMNAR_DB {db-root-0001}
> description: Salamannopea, indeksitC6n ja hajautettava ZFS-pohjainen
tietokanta. Append-only arkkitehtuuri.
> type: system
> status: planning
> tags: [database, bare-metal, zfs]
## STORAGE_ARCHITECTURE {db-stor-0001}
> description: Datan ja metadatan fyysinen tallennusrakenne ja
tiedostojC$rjestelmC$tason indeksointi.
> type: architecture
> tags: [fs, architecture]
### CHUNK_DATA {db-stor-0002}
> description: Varsinainen data-chunk (.chunk). Tiivis sarakepohjainen
(columnar) kiinteC$mittainen rakenne. Raskaat datat (teksti/binC$C$ri)
tallennetaan vain 32-tavuisina Blake3/SHA256 -hasheina.
> type: data_structure
> tags: [binary, columnar, fixed-length]
> config_recordsize: 1M
### CHUNK_SHADOW {db-stor-0003}
> description: Rinnakkainen varjotaulu (.shadow). SisC$ltC$C$ tagit, bitflagit
ja rutiini-ID:t suoralla pointteri-mC$ppC$yksellC$ dataan.
> type: data_structure
> tags: [metadata, pointers]
> depends_on: [db-stor-0002]
### FS_INDEXING {db-stor-0004}
> description: Hakemistopohjainen indeksointi. Base62-enkoodatut tiedostonimet
(Aikaleima + Flagit + Tag-Hash).
> type: indexing_logic
> tags: [zfs, base62, routing]
### CAS_BLOB_STORE {db-stor-0005}
> description: Content-Addressable Storage erillisille raskaantietueen
tiedostoille (.blob). Nimetty suoraan sisC$llC6n tiivisteen (hash) mukaan
deduplikoinnin takaamiseksi.
> type: storage
> tags: [blob, cas, deduplication]
### BLOB_METADATA {db-stor-0006}
> description: Rinnakkainen aputiedosto (.blob.meta). Append-only
tekstitiedosto, johon lokitetaan kaikki BLOBiin viittaavat taulukot ja rivit
roskienkeruuta varten (Back-references).
> type: metadata
> tags: [garbage-collection, auditing]
> depends_on: [db-stor-0005]
## CORE_ENGINE_C {db-core-0001}
> description: Natiivi, staattisesti konfiguroitu C-kielinen tietokantamoottori
absoluuttiseen suorituskykyyn.
> type: engine/native
> status: execution_pending
> tags: [c, performance, zero-dependency]
> depends_on: [db-stor-0001]
### MMAP_IO {db-core-0002}
> description: POSIX mmap() -toteutus ZFS ARC -vC$limuistin ja
C-muistiavaruuden suoraan yhdistC$miseen (Zero-Copy).
> type: logic
> tags: [io, memory]
### SIMD_SEARCH {db-core-0003}
> description: Vektoroidut (AVX2 / AVX-512) hakualgoritmit sarakkeiden nopeaan
skannaukseen.
> type: logic
> tags: [simd, search, optimization]
### DISPATCH_TABLE {db-core-0004}
> description: O(1) hakunopeuden sanakirja ja funktiopointterit datan
validointiin rutiini-ID:n perusteella.
> type: logic
> tags: [routing, validators]
### TCP_SERVER {db-core-0005}
> description: Nollariippuvuuden lokaali TCP-kuuntelija. Keskustelee
Proxy-kerroksen kanssa minimaalisella binC$C$rikehyksellC$ (esim. 8-tavuinen
header).
> type: interface
> tags: [tcp, binary-protocol, socket]
> depends_on: [db-core-0004]
## WRITE_PIPELINE {db-write-0001}
> description: Datan asynkroninen ja skaalautuva sisC$C$notto ennen
ZFS-jC$C$dytystC$ (Append-Only).
> type: pipeline
> tags: [ingestion, memory]
### ACTIVE_CHUNK {db-write-0002}
> description: Keskusmuistissa (RAM) elC$vC$ Lock-Free Ring Buffer, joka
vastaanottaa uudet insertit ja deltat atomisesti.
> type: buffer
> tags: [ram, lock-free, concurrency]
### ASYNC_FLUSH {db-write-0003}
> description: TaustasC$ie, joka jC$C$dyttC$C$ tC$yttyneen Active Chunkin ja
kirjoittaa .chunk ja .shadow -tiedostot levylle sekventiaalisesti uutena
versiona.
> type: logic
> tags: [zfs, io, async]
> depends_on: [db-write-0002, db-stor-0004]
## PROXY_API_LAYER {db-proxy-0001}
> description: Vikasietoinen vC$lityspalvelin (esim. Node.js/FastAPI), joka
hoitaa verkkoliikenteen C-ytimen ulkopuolella.
> type: middleware
> tags: [api, proxy, routing]
### INTENT_BUFFER {db-proxy-0002}
> description: Komentojen intentioloki. Puskuroi kirjoitus- ja lukuoperaatiot,
jos C-ydin on alhaalla huollon tai konfiguraatiomuutoksen vuoksi. Replay-tuki.
> type: buffer
> tags: [resilience, event-sourcing]
### BLOB_ROUTER {db-proxy-0003}
> description: Sieppaa ylisuuret tekstit ja binC$C$rit, laskee
Blake3/SHA-hashin, kirjoittaa tiedoston CAS_BLOB_STORE:en ja lC$hettC$C$
C-ytimelle vain 32-tavuisen tiivisteen.
> type: logic
> tags: [cas, hashing, routing]
> depends_on: [db-stor-0005, db-stor-0006]
## READ_PIPELINE {db-read-0001}
> description: Hakukyselyiden reititys ylemmC$ltC$ tasolta ZFS-hakemiston ja
C-moottorin lC$pi.
> type: pipeline
> tags: [query, routing]
> depends_on: [db-proxy-0001, db-core-0001]
### QUERY_PARSER {db-read-0002}
> description: KC$C$ntC$C$ API-haut regex/glob -muotoisiksi ZFS Base62
-tiedostonimihauiksi ennen ytimeen vientiC$.
> type: logic
> tags: [index-search, base62]
## LIFECYCLE_MGR {db-life-0001}
> description: Datan tiivistC$minen ja roskienkeruu.
> type: manager
> tags: [zfs, cleanup, maintenance]
### COMPACTION_WORKER {db-life-0002}
> description: Taustaprosessi, joka sC$C$nnC6llisesti (tai dynaamisesti
triggerC6itynC$) lukee muokatut delta-chunkit ja yhdistC$C$ ne yhdeksi
puhtaaksi, yhtenC$iseksi .chunk/.shadow -pariksi nopeampien hakujen
takaamiseksi.
> type: logic
> tags: [compaction, reconciliation]
### LAZY_GC {db-life-0003}
> description: TaustasC$ie, joka analysoi .blob.meta -lokeja. Jos yksikC$C$n
taulu/chunk ei enC$C$ viittaa BLOBiin (tai viittaavat chunkit on tuhottu),
BLOB poistetaan levyltC$.
> type: logic
> tags: [garbage-collection, eventually-consistent]