Mobile Computing · Cluster

Mobile Storage

Local databases, files, and sync.

  1. 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. foundational · May 2, 2026
  2. 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. foundational · Apr 21, 2025
  3. 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. foundational · Sep 26, 2025
  4. 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. intermediate · Nov 27, 2024
  5. 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. intermediate · Jun 16, 2022
  6. 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. intermediate · Apr 1, 2024
  7. 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. intermediate · Apr 25, 2025
  8. 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. advanced · Jan 18, 2023
  9. 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. advanced · Oct 22, 2025
  10. 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. advanced · Feb 18, 2025