Three key themes fromthe discussion
| # | Theme | Supporting quotations |
|---|---|---|
| 1 | Object‑storage reshapes SQLite’s layout assumptions – page numbers and index placement no longer map to “nearby” data, so design must be B‑tree‑aware and groups pages by table/index. | > “What felt most wrong in naive designs was that SQLite page numbers are not laid out in a way that matches how you want to fetch data remotely.” — russellthehippo |
| 2 | Page‑type awareness and plan‑driven prefetch – interior pages are tiny but critical; early knowledge of the query plan lets the storage layer pre‑warm the right structures, reducing request count and random fetches. | > “different page types matter a lot… interior B‑tree pages are tiny in footprint but disproportionately important, because basically every query traverses them.” — russellthehippo > “If the storage layer can see enough of that early, it can start warming the right structures before the first miss fully cascades.” — russellthehippo |
| 3 | Eviction and tuning are hybrid problems – policies should be internal (cache‑size, checkpoint, idle) but also guided by the application’s view of “cold” workloads; the true bottleneck is often request count, not raw byte volume. | > “The real enemy is request count more than raw bytes… my instinct is that for the workload I care about, the best answer is probably hybrid.” — russellthehippo |