Two-Store Architecture¶
Core Idea¶
A system maintains two persistent substrates with opposite acquisition profiles — a fast, interference-prone store and a slow, integrating one — joined by a transfer mechanism that periodically moves content from fast to slow; because speed and integration cannot be jointly optimised in one substrate, a system needing both pays for both. New content is born in the fast store and migrates into the slow store — the reverse of caching.
How would you explain it like I'm…
Scribble Pad And Keep Book
Fast Notepad, Slow Library
Born Fast, Stored Slow
Broad Use¶
- Neuroscience: the hippocampus (fast, episodic) couples to the neocortex (slow, integrated) with consolidation during sleep.
- Machine learning: replay buffers and online weights pair with target networks and consolidated weights (DQN, elastic weight consolidation).
- Operating systems: a page cache and write buffers (fast, volatile) pair with disk (slow, durable), transferring during scheduled flush.
- Databases: a write-ahead log and in-memory tables pair with on-disk B-tree/LSM storage, using compaction as the transfer window.
- Organisational knowledge: in-head expertise (fast, fragile) pairs with runbooks (slow, durable), transferring through post-incident reviews.
- Version control: the working tree and staging index couple to commit history through the deliberate transfer window of a commit.
Clarity¶
Dissolves the belief that adding capacity to a fast store will approximate a slow store's integration — it will not — and gives the transfer window status as a distinct design object whose absence becomes diagnosable.
Manages Complexity¶
Supplies a worklist whose each row names a failure: no slow store yields catastrophic forgetting, no fast store cannot acquire fast enough, no transfer window accumulates content until it is lost.
Abstract Reasoning¶
Each structural omission has a predictable consequence, so an engineer can reach for the hippocampus-neocortex analogy and ask: what is my replay buffer, my consolidated network, my replay schedule, and what is lost if transfer is deferred?
Knowledge Transfer¶
- Neuroscience → ML: adding a consolidation target network to a forgetting agent is structurally the same move as scheduling sleep-dependent consolidation.
- Databases → organisations: the write-ahead-log story explains why a team that fire-fights without runbooks continually re-derives the same fixes.
Example¶
A team whose support knowledge lives only in the principal engineer's head is running a missing-slow-store architecture; the fix — weekly post-mortems synthesising incident knowledge into a symptom-organised runbook — is the same move as adding a consolidation network to a forgetting RL agent.
Relationships to Other Abstractions¶
Current abstraction Two-Store Architecture Prime
Parents (1) — outgoing typed relations
-
Two-Store Architecture presupposes, typical Caching Prime
Shares the fast-store/slow-store substrate pair with caching but REVERSES the origination flow (born-fast-migrates-slow vs born-slow-mirrored-fast); contrast-sibling rather than is a specialization of.
Children (1) — abstractions linked here by typed relations
-
Redundancy Prime is a decomposition of Two-Store Architecture
Maintaining two oppositely-optimised persistent substrates presupposes redundancy (the duplicate path), adding a periodic transfer mechanism that consolidates rather than masks.
Hierarchy paths (9) — routes to 7 parentless roots
- Two-Store Architecture → presupposes, typical Caching → presupposes Locality Of Reference → is a kind of Recurrence
- Two-Store Architecture → presupposes, typical Caching → presupposes Optimization
- Two-Store Architecture → presupposes, typical Caching → presupposes Locality Of Reference → presupposes Heavy-Tailed Distributions
- Two-Store Architecture → presupposes, typical Caching → presupposes Reserve → is a decomposition of Mobilization → presupposes Latent Realizable Capacity
- Two-Store Architecture → presupposes, typical Caching → presupposes Locality Of Reference → is a decomposition of Spatial Indexing → is a kind of Search and Retrieval → presupposes Trade-offs → presupposes Constraint
- Two-Store Architecture → presupposes, typical Caching → presupposes Reserve → is a decomposition of Economy Of Force → is a kind of Allocation → presupposes Scarcity → is a decomposition of Constraint
- Two-Store Architecture → presupposes, typical Caching → presupposes Locality Of Reference → is a decomposition of Spatial Indexing → is a kind of Search and Retrieval → presupposes Problem Space → is a kind of Representation → presupposes Abstraction
- Two-Store Architecture → presupposes, typical Caching → presupposes Locality Of Reference → is a decomposition of Spatial Indexing → is a kind of Search and Retrieval → presupposes Problem Space → is a decomposition of State and State Transition → includes Phase Space
- Two-Store Architecture → presupposes, typical Caching → presupposes Locality Of Reference → is a decomposition of Spatial Indexing → is a kind of Search and Retrieval → presupposes Problem Space → presupposes Problem Representation → is a kind of Representation → presupposes Abstraction
Not to Be Confused With¶
- Two-Store Architecture is not Caching because in a cache authoritative content lives in the slow store and is mirrored forward for access, whereas here new content is born in the fast store and migrates into the slow store — the origination direction is reversed.
- Two-Store Architecture is not Buffering because a buffer is a transient drain that rate-matches into a single downstream store, whereas the slow store is a second persistent substrate with the opposite optimisation that integrates rather than absorbs.
- Two-Store Architecture is not Versioning because versioning retains successive distinct states for rollback, whereas the slow store integrates new content into a single evolving structure rather than a chain of snapshots.