Mobile Computing · Cluster
Mobile Storage
Local databases, files, and sync.
- 01 SQLite File Layout: Pages, B-Trees, and the Freelist How a SQLite database maps tables onto fixed-size pages, what the 100-byte header records, and why overflow chains and free pages make the file behave the way it does.
- 02 WAL Frames, Read Marks, and What a Checkpoint Can Move How the write-ahead log appends frames instead of rewriting pages in place, how readers pin the log through read marks, and why a checkpoint is bounded by the slowest open reader.
- 03 Fsync Cost and Journal Modes on Flash Storage What a flush request actually guarantees on a phone, how SQLite synchronous levels trade durability for write latency, and why the barrier between the journal and the database file is the one that matters.
- 04 Atomic File Replacement: rename, fsync, and the Directory Entry Why a save operation that overwrites in place is not crash-safe, what the rename trick guarantees, and which flushes must bracket it for the guarantee to hold.
- 05 App Container Layout and Which Files Belong in a Backup How the sandbox directory tree separates durable user data from regenerable caches, what the platform backup excludes by rule, and why the restore path is the one that breaks.
- 06 Running Schema Migrations Inside the App Update Window Why a migration that is safe on a server is risky on a phone, how to make each step resumable, and what to do when the migration needs more space than the device has.
- 07 Change Logs and Tombstones for Offline-First Sync How a local database records what changed while offline, why deletes need an explicit marker, and how a sync cursor avoids replaying the entire history on every launch.
- 08 Version Vectors and Hybrid Logical Clocks for Mobile Sync Ordering Why wall-clock timestamps cannot order edits made on different devices, how a version vector detects concurrent writes, and what a hybrid logical clock adds without needing agreement on time.
- 09 Page-Level Encryption: Nonces, MACs, and the Cost of Decrypting Every Read How an embedded database encrypts individual pages with a per-page nonce and a per-page MAC, what that costs in usable page space, and why the key cache is the real attack surface.
- 10 Storage Pressure: What a Device Does When the Disk Fills How the platform reclaims space from caches under pressure, why a nearly full flash volume slows down before it fails, and how an app should budget and shed data before the system does it.