Theme 1 – Using SQLite (or similar) as a document‑oriented store
Many commenters describe leveraging SQLite’s JSON/JSONB support, virtual/generated columns, and separate blob columns to model document‑like data while still gaining relational features such as indexing and change‑data‑capture.
- “I am using SQLite as document db for a side project for years now… the repo class stores write and delete timestamps as separate columns so I can have CDC.” – stanac
- “In my personal project (a game) I use an indexed key + a JSONB to store the save state…” – delduca
- “JSON extensibility and virtual columns help a lot with variable metadata.” – rcarmo
Theme 2 – What counts as a “document database” versus a relational store
A recurring thread debates the semantics of the term document: whether JSON blobs in a relational DB truly make it a document store, and how the idea contrasts with classic document‑oriented systems like CouchDB or MongoDB.
- “Why do people say document database when they really just mean json database?” – WhitneyLand
- “The 1st edition CouchDB book… explained it like this: …Self‑Contained Data … An invoice contains all the pertinent information …” – QuantumNomad_
- “The 'relational' in relational databases is not about department number … a database with a single table is still relational.” – fipar
Theme 3 – Trade‑offs, alternatives, and practical considerations
Commenters weigh the simplicity of SQLite/JSONB against purpose‑built document stores, discuss backup strategies (Litestream, custom CDC), and note when a relational model may be preferable for analytics or scaling.
- “Why don’t you use MongoDB? MongoDB is web scale.” – mayankbpatel (tongue‑in‑cheek)
- “I know there are things like Litestream, I wanted something in process and something that can send alerts on failed backups.” – stanac
- “Most data is actually inherently relational… Even in your example … the individual components … are better represented as relational datastores.” – SOLAR_FIELDS
- “Immutable records which are retained for legal purposes should be in object storage, not a database.” – sgarland