SQLite
SQLite is embedded SQL engine that runs inside your process — a file, not a server. We compare it in Database engines. It is top of its roster on Ops burden (1). The trade-off is being marked No on Online schema change, where MySQL records Yes.
What is SQLite?
SQLite — Embedded SQL engine that runs inside your process — a file, not a server. SQLite is a C library that implements a small, fast, transactional SQL engine reading and writing a single cross-platform file. There is no daemon, no configuration and no network protocol; a query is a function call. It is developed by a three-person team at Hwaci, funded by a consortium of members, and released into the public domain with a test suite far larger than the engine itself. Founded 2000. Open source under Public domain.
We track it in 1 comparison — Database engines — so every claim below is a cell in a table you can open and check rather than an impression. Across those rosters it sits against 4 other tools, and what follows is where it visibly separates from them.
Where it wins.
- Ops burden — 1, tied for best across 2 of 5 tools.
Each of those is ranked against the whole roster on its category page, not against a hand-picked subset, so a first place here means first of everything we list.
Where it gives ground.
- Online schema change — No. MySQL records Yes.
- ALTER TABLE — Severe (rebuild required), the weakest of the 5 here. PostgreSQL records Minimal.
- Replication — Third-party only, 4th of 5. PostgreSQL records Built-in async + synchronous.
- Migration tooling — 3, 3rd of 5. PostgreSQL records 5.
None of these disqualify it on their own. They are the fields to check against your own requirements before you commit, because they are the ones where a competitor genuinely does better.
Provenance. 25 of 26 tracked fields carry a value for SQLite, and 20 of those cite a document you can open. Last verified 2026-07-01. Every figure keeps its own provenance — measured by us, claimed by the vendor, inferred, or community-reported — and we would rather print a dash than a guess.
Its nearest neighbour in our data is DuckDB. SQLite is ahead on Client libraries (5 against 3) and PITR (Partial against No). DuckDB takes Type strictness (Static, strict against Dynamic (per-value)) and GitHub stars (33,000 against 8,000). That pattern repeats across the rest of the roster — see SQLite alternatives for the other rivals, each compared the same way.
- Founded
- 2000
- Licence
- Public domain (open source)
- Fields we track
- 25 of 26
- Last verified
- 2026-07-01
SQLite in Database engines
Ranked against 5 tools across 26 sourced fields. Open the full Database engines table.The best answer for any workload where one process owns the data, and the answer most teams reject for reasons that stopped being true a decade ago. The real constraints are the single writer, the absent replication story and the table rebuild you need for most schema changes — none of which is throughput.
- Ops burden
- 11st of 5 Inferredverified 2026-07-01
- Migration tooling
- 33rd of 5 Inferredverified 2026-07-01
- Extension ecosystem
- 42nd of 5 Inferredverified 2026-07-01
- Client libraries
- 51st of 5 Inferredverified 2026-07-01
When to use SQLite
SQLite is the right call in these situations, each one drawn from a field we actually record:
- One application process, or one machine, owning the data.
- Read-heavy workloads where removing the network hop is the whole win.
- Anything shipped to the edge, a device, a CLI or a test suite.
- Ops burden is your binding constraint. SQLite records 1, the best figure in the Database engines roster. We define that field as 1–5, lower is less work.
When not to use SQLite
Reach for something else when any of the following is a requirement rather than a nice-to-have:
- Online schema change. SQLite records No on the Database engines table. MySQL records Yes on the same field. If that is a hard requirement rather than a preference, start elsewhere.
- ALTER TABLE. SQLite records Severe (rebuild required), the weakest of the 5 tools in the Database engines roster. PostgreSQL records Minimal on the same field. If that is a hard requirement rather than a preference, start elsewhere.
- Replication. SQLite records Third-party only, 4th of 5 in the Database engines roster. PostgreSQL records Built-in async + synchronous on the same field. If that is a hard requirement rather than a preference, start elsewhere.
- Migration tooling. SQLite records 3, 3rd of 5 in the Database engines roster. PostgreSQL records 5 on the same field. If that is a hard requirement rather than a preference, start elsewhere.
- JSON support. SQLite records Text functions only, 3rd of 5 in the Database engines roster. PostgreSQL records Binary JSONB + indexes on the same field. If that is a hard requirement rather than a preference, start elsewhere.
We publish this block because a comparison that only lists what a tool is good at is marketing. Every figure above sits on the same page as its source, and the field definitions are on the category tables if you want to check how we measured them.
SQLite head-to-head
Full editorial comparisons — verdict, choose-if blocks and the fields that actually decide it. We only publish these where we have something to say, so this list is short on purpose.Tools compared alongside SQLite
Everything below shares at least one comparison category with SQLite, ordered by how much overlap there is. For the reasoning on each — which fields it wins, which it loses — see SQLite alternatives.Recent SQLite changes
We have not logged a dated change for SQLite yet. The timeline fills in as pricing moves, features ship and things get deprecated.Sources and gaps
What we don't know. 1 of the 26 fields we track for SQLite are still blank: Default max conns. Those render as dashes rather than as zeroes or assumptions, because an empty cell and a bad cell are not the same thing and only one of them is honest. If you know any of these figures and can point at a document, tell us.
- www.sqlite.org/lang_altertable.htmlALTER TABLE, Online schema change · Vendor-claimed · verified 2026-07-01
- www.sqlite.org/whentouse.htmlReplication, Default max conns · Vendor-claimed · verified 2026-07-01
- www.sqlite.org/copyright.htmlLicence, Embed in closed source · Vendor-claimed · verified 2026-07-01
- www.sqlite.org/about.htmlEmbedded or server · Vendor-claimed · verified 2026-07-01
- www.sqlite.org/lockingv3.htmlConcurrency model · Vendor-claimed · verified 2026-07-01
- www.sqlite.org/wal.htmlWrite concurrency · Vendor-claimed · verified 2026-07-01
- www.sqlite.org/isolation.htmlIsolation levels · Vendor-claimed · verified 2026-07-01
- www.sqlite.org/json1.htmlJSON support · Vendor-claimed · verified 2026-07-01
- www.sqlite.org/fts5.htmlFull-text search · Vendor-claimed · verified 2026-07-01
- github.com/asg017/sqlite-vecVector search · Community-reported · verified 2026-07-01
- www.sqlite.org/datatype3.htmlType strictness · Vendor-claimed · verified 2026-07-01
- www.sqlite.org/limits.htmlMax database size · Vendor-claimed · verified 2026-07-01
- litestream.io/how-it-works/PITR · Community-reported · verified 2026-07-01
- www.sqlite.org/threadsafe.htmlConnection model · Vendor-claimed · verified 2026-07-01
- github.com/sqlite/sqliteGitHub stars · Community-reported · verified 2026-07-01
- www.sqlite.org/Positioning · Vendor-claimed · verified 2026-07-01
- www.sqlite.org/consortium.htmlGovernance · Vendor-claimed · verified 2026-07-01
- www.sqlite.org/chronology.htmlFirst release · Vendor-claimed · verified 2026-07-01