SQLite
Open SourceSmall. Fast. Reliable. Choose any three.
Scores
About
SQLite is a C-language library that implements a lightweight, self-contained, serverless, zero-configuration SQL database engine. It is the most widely deployed database engine in the world, with billions of instances running across mobile devices, IoT systems, embedded applications, and countless commercial software products.
SQLite's architecture is fundamentally different from traditional client-server databases. It stores the entire database in a single, cross-platform file with no separate server process required. This eliminates the complexity of database administration, networking, and deployment overhead—making it extraordinarily easy to use. The entire engine is under 900 KB when fully configured, yet it provides full SQL support including JSON functions, window functions, common table expressions, and full-text search.
The database is renowned for its reliability and performance. It supports ACID transactions even after system crashes and power failures, with automated testing providing 100% branch test coverage. SQLite is used as the on-device database in every iOS and Android application that needs local persistence—its zero-setup nature makes it ideal for mobile, desktop, CLI tools, and single-process web servers.
SQLite's source code is in the public domain, completely free for any purpose—commercial or private—with no external dependencies. It runs on virtually every platform: Linux, macOS, Windows, iOS, Android, and embedded systems alike.
Key Features
- Zero-configuration serverless SQL — no install, no server process, no config
- Single-file database format, fully portable across platforms
- Full ACID compliance — durable transactions even after crashes and power failures
- Full SQL92 support including JSON functions, window functions, CTEs, and FTS5
- Tiny footprint — under 900 KB fully configured with zero external dependencies
- Public domain — free for any use, commercial or private
- Cross-platform: Linux, macOS, Windows, iOS, Android, embedded systems
- Used as the built-in database in every iOS and Android device
Pros
- Zero administration — no server to install, configure, or maintain
- Single-file database is trivially easy to back up, copy, and version
- Extremely fast for read-heavy single-process workloads
- Perfect for mobile apps, desktop apps, CLI tools, and local-first applications
- Decades of production use with near-perfect reliability record
- No licensing cost or complexity — public domain
Cons
- Single writer at a time — concurrent write workloads cause contention
- Does not scale horizontally across servers (requires external tools like Turso for replication)
- Not suitable for high-concurrency multi-user web applications
- Performance degrades over network filesystems due to file-locking mechanics
- No built-in replication, failover, or clustering
Pricing
Open SourcePossible Stacks
SQLite + Python Local App
ProjectLightweight Python backend with SQLite as an in-process database — ideal for local tools, prototypes, and scripts that need persistence without a database server.
SQLite + Django Local App
ProjectDjango web application using SQLite as the default local database — perfect for getting started without setting up a database server.
Flutter + SQLite
ProjectFlutter mobile app with SQLite for local data storage — build an offline-first app that saves data on the device.
Related Tools
Works well with (7)
Alternative to (5)
Learning Resources
No resources yet — check back soon.