Download Game! Currently 80 players and visitors. Last logged in:SodroNosutestCilwandHugoo

Blitzer's Blog >> 71907

Back to blogs index
Posted: 31 Aug 2026 14:23 [ permalink ]
# LOCKFREE_RAM_DB {ramdb-root-0001}

> description: YleiskC$yttC6inen, lukoton ja tC$ysin muistinvarainen (RAM)
olio-tietokanta. Suunniteltu huippunopeaan viestinvC$litykseen ja
tapahtumapohjaiseen synkronointiin. YmpC$ristC6agnostinen (selain, Node.js,
mquickjs microkernel).
> type: system
> status: design
> tags: [database, in-memory, lock-free, event-sourcing, mquickjs, zero-copy]

## COMMUNICATION_BUS {ramdb-bus-0001}

> description: Tietokannan ja ulkomaailman (API:t, workerit, I/O) vC$linen
lukoton viestintC$kerros. Ei perinteisiC$ API-kutsuja, ainoastaan asynkronisia
komento- ja datapaketteja.
> type: architecture
> tags: [mailbox, concurrency, message-passing]

### SPSC_RING_BUFFER {ramdb-bus-0002}

> description: Single-Producer-Single-Consumer -mallilla toimiva kehC$puskuri
SharedArrayBufferissa. Jokaiselle ulkoiselle prosessille/workerille luodaan
oma dedikoitu IN- ja OUT-vC$ylC$ kilpailutilanteiden (contention)
vC$lttC$miseksi.
> type: data_structure
> tags: [ring-buffer, spsc, shared-memory, atomics]
> depends_on: [ramdb-bus-0001]

### CACHE_LINE_PADDING {ramdb-bus-0003}

> description: Laitteistotason optimointi False Sharing -ilmiC6n estC$miseksi.
HEAD- ja TAIL-osoittimet pakotetaan vC$ylC$n muistirakenteessa eri 64-tavun
vC$limuistilinjoille (cache line) tyhjC$n padding-tilan avulla.
> type: memory_layout
> tags: [optimization, false-sharing, cpu-cache]
> depends_on: [ramdb-bus-0002]

### MESSAGE_FRAMING {ramdb-bus-0004}

> description: Viestien (JSON/BinC$C$ri) paketointistandardi kehC$puskurissa.
Kehys sisC$ltC$C$ Tyyppi-tavun, 4-tavuisen Pituuden ja itse Payloadin. Tukee
SKIP-merkkiC$, jolla estetC$C$n viestien pirstoutuminen puskurin reunan yli
(wrapping).
> type: protocol
> tags: [framing, binary-protocol]
> depends_on: [ramdb-bus-0002]

## STORAGE_ENGINE {ramdb-store-0001}

> description: Jaetussa muistissa (SharedArrayBuffer) sijaitseva varsinainen
datan tallennusrakenne ja muistinhallinta.
> type: architecture
> tags: [storage, shared-memory, allocation]

### APPEND_ONLY_LOG {ramdb-store-0002}

> description: Jatkuvasti kasvava (LSM-tyyppinen) muistilohko, johon uudet
oliot, pC$ivitykset ja hautakivet (Tombstone) lisC$tC$C$n perC$kkC$in.
Mahdollistaa lukottomat lukuoperaatiot ilman datan korruptoitumisen riskiC$,
koska vanhaa dataa ei koskaan ylikirjoiteta.
> type: data_structure
> tags: [append-only, lsm, immutability, zero-lock]
> depends_on: [ramdb-store-0001]

### COMPACTION_WORKER {ramdb-store-0003}

> description: Taustaprosessi, joka aktivoituu muistialueen tC$yttyessC$.
Kopioi vain olioiden uusimmat versiot (ohittaen Tombstonet) uuteen
SharedArrayBufferiin ja vapauttaa vanhan muistialueen. Vastaa roskienkeruusta.
> type: process
> tags: [garbage-collection, compaction, background-task]
> depends_on: [ramdb-store-0002]

## INDEXING_ENGINE {ramdb-idx-0001}

> description: ErillisessC$ Int32Array-nC$kymC$ssC$ elC$vC$ huippunopea
indeksi, jolla data haetaan logista (APPEND_ONLY_LOG) O(1) nopeudella.
> type: architecture
> tags: [index, hash-table, fast-path]

### ATOMIC_HASH_TABLE {ramdb-idx-0002}

> description: Lock-free Hash Table, joka kC$yttC$C$ avointa osoitteenmuodostus
ta (Open Addressing). Rakentuu 8-tavun sloteista: [ 32-bit Hash | 32-bit
Offset ]. Haku ja tallennus suoritetaan Atomics.compareExchange
-operaatioilla.
> type: data_structure
> tags: [hash-table, open-addressing, atomics, cas]
> depends_on: [ramdb-idx-0001, ramdb-store-0002]

### LINEAR_PROBING_RESOLUTION {ramdb-idx-0003}

> description: TC6rmC$ysten (Hash Collision) hallintamekanismi. Jos tavoiteltu
slotti on varattu, kokeillaan seuraavaa. Poistot merkitC$C$n erikoisella
Tombstone-hashilla (-1), jotta lineaarisen kokeilun ketjut eivC$t katkea.
Lopullinen avaimen varmistus tapahtuu aina Storage Enginen puolelta.
> type: logic
> tags: [collision-resolution, linear-probing, tombstone]
> depends_on: [ramdb-idx-0002]

## EVENT_SYNCHRONIZATION {ramdb-sync-0001}

> description: Datan ulostuonti ja synkronointi. Tietokanta ei vC$litC$ mihin
data pC$C$tyy, se ainoastaan tuottaa jatkuvaa, eheC$C$ event-virtaa.
> type: architecture
> tags: [event-streaming, synchronization, io-agnostic]

### WAL_EMITTER {ramdb-sync-0002}

> description: Tietokannan ydinlogiikka, joka jokaisen onnistuneen
APPEND_ONLY_LOG -kirjoituksen jC$lkeen pakkaa muutoskomennon uutena eventtinC$
ja lC$hettC$C$ sen kaikkiin tilattuihin OUT-vC$yliin (SPSC_RING_BUFFER).
> type: logic
> tags: [wal, write-ahead-log, event-emitter, broadcast]
> depends_on: [ramdb-store-0002, ramdb-bus-0002]

### STREAM_AGNOSTIC_WORKERS {ramdb-sync-0003}

> description: Ydinpalvelun ulkopuolella elC$vC$t apuprosessit (Worker Threads
/ Microservices). Kuuntelevat OUT-vC$yliC$ ja reitittC$vC$t binaari- tai
JSON-datan haluttuun kohteeseen (ZFS-tiedostojC$rjestelmC$, verkkosocket,
jaettu muisti, jne.).
> type: process
> tags: [workers, stream-processing, persistence, network]
> depends_on: [ramdb-sync-0002, ramdb-bus-0002]