Skip to content
Devgo

SQLite

A lightweight, embedded SQL database that runs in-process — no server to install. SQLite stores the entire database in a single file. The most deployed database in the world (every phone, every browser). Perfect for local apps, prototypes, and read-heavy small sites.

Created by

D. Richard Hipp · Created SQLite in 2000

When to use
  • Mobile and desktop apps.
  • Local development/testing.
  • Small read-heavy sites.
  • Embedded systems.
When not to
  • High-concurrency web apps (use PostgreSQL).
  • Distributed/multi-server (no replication).
  • Write-heavy workloads.

Definition

SQLite is a self-contained, , embedded . The entire database is one file. The database engine runs in your app's process. -compliant. No configuration, no administration. Supports most SQL features. Used in mobile apps, browsers, and embedded systems.

Why it exists

To provide a zero-config, embeddable for apps that need local storage without running a database server — perfect for mobile, desktop, and small web apps.

How it works

Link the SQLite library into your app. Open a file. Run via the C API or language bindings. The engine reads/writes the file directly. WAL mode allows concurrent readers + one writer. No network — it's in-process.

Scaling limits

One writer at a time (serialized writes). No built-in . Not for high-concurrency server apps. File-based — network filesystems cause corruption. No user accounts/permissions.

Cost shape

Free and public domain.

Alternatives

  • PostgreSQL — Server-based, concurrent, scalable, but needs setup.
  • DuckDB — Analytical (OLAP) focus, columnar, embedded.

Failure modes

  • Write contention (single writer).
  • Corruption on network filesystems.
  • No concurrent writes.
  • File size limits.

, ,