Fun facts about SQLite
SQLite’s design, licensing, and ecosystem spark both admiration and critique, from its tiny embedded footprint and extreme backward compatibility to frustrations with its single-writer model and default lax typing. Commenters delve into its public-domain status and whether that should count as “open source” under OSI definitions, raising practical concerns about legal compliance in different jurisdictions. The thread also scrutinizes the accuracy and tone of a popular “fun facts” blog post, while sharing real-world experiences of SQLite’s performance, contribution model, and unconventional use cases such as JSON‑only schemas.
Type system and STRICT tables
- Several comments note the article understates SQLite’s type system.
- SQLite is “weakly typed” by default (type affinity, accepts many values), but STRICT tables can enforce strong types on a per-table basis.
- Some readers find the article’s phrasing self‑contradictory (“it has opt‑in types” vs “it doesn’t have types”) and suggest clarifying “doesn’t enforce types by default.”
Concurrency model and performance
- Clarification: “single writer” is different from “single‑threaded”; single‑threaded systems can still interleave writes.
- One commenter calls SQLite’s write locking “the worst possible,” others counter that if you have constant concurrent writes to a non‑append‑only DB, you likely have an architectural issue regardless of engine.
- WAL mode, batching, and explicit
BEGIN IMMEDIATEare recommended to improve write behavior. - Performance chart discussion: big gains 2013–2017; likely most low‑hanging optimizations are exhausted.
Licensing, public domain, and “open source”
- Large subthread on whether SQLite is “open source” in a legal or colloquial sense.
- SQLite is public domain; OSI says public domain is not “Open Source” because it’s not a license, though its freedoms are at least as broad.
- Debate over OSI’s authority, terminology (“Open Source” vs “open source”), and corporate reliance on OSI‑approved licenses.
- Jurisdictions without a strong public‑domain concept complicate use; some say you may technically need a purchased license there, others argue PD‑style grants should still be valid.
- Some worry OSI’s gatekeeping hinders sustainable business models; others value a shared, strict definition.
Article quality and citation practices
- Some readers see the post as shallow "listicle"/karma‑bait with minor inaccuracies and grievances about contributions and licensing.
- Specific nitpicks: turning SQLite’s “likely over one trillion DBs” into a flat statement; mixing up “destroyer” vs “battleship”; using screenshots of text instead of real text, and weak citation style.
- Others defend the post as a beginner’s learning journal and encourage the author to continue.
Pronunciation, ethics, and miscellany
- Long side thread on pronouncing SQL/SQLite (“S‑Q‑Lite”, “sequel‑ite”) with strong regional variation.
- Discussion of SQLite’s Code of Ethics vs typical Codes of Conduct; some appreciate its ethical framing, others note it’s conceptually different.
Use cases and patterns
- SQLite praised for backward compatibility, ubiquity (smartphones, browsers, OSes), and as a client‑side cache or prototyping DB.
- Some use it as a “NoSQL” store by having a single JSON column and leveraging JSON functions and expression indexes; others argue this sacrifices schema clarity and tracking.