Vancouver, BC alek@aleksystem.com

AlekSystem.com

What is SQLite database?

Think of SQLite not as a massive industrial engine, but as a high-performance, compact motor tucked inside your favorite devices. Unlike traditional databases (like MySQL or PostgreSQL) that run as separate background services, SQLite is “embedded”—it’s a library that lives directly inside the application it serves.

The “Zero-Configuration” Database

SQLite is famous for being serverless. In a standard setup, your app talks to a database server over a network. With SQLite, the app reads and writes directly to a single file on the disk.


Key Characteristics

  • Self-Contained: It requires no installation, no setup, and no administrators. It’s just a library you include in your code.
  • Single-File Storage: The entire database—tables, indexes, and data—is stored in one ordinary cross-platform file (usually ending in .sqlite or .db).
  • ACID Compliant: Despite its small size, it ensures data integrity. Even if your app crashes or the power goes out mid-write, your data won’t be corrupted.
  • Small Footprint: The entire library is less than 1MB, making it perfect for mobile phones and IoT devices.

Where is it used?

You are likely using SQLite dozens of times a day without knowing it:

  • Mobile Apps: Every iPhone and Android phone uses SQLite to store contacts, messages, and settings.
  • Web Browsers: Chrome, Firefox, and Safari use it to store your history, cookies, and bookmarks.
  • Desktop Software: Apps like Adobe Lightroom and Dropbox use it as their internal filing cabinet.
  • The “Edge”: It’s the go-to choice for low-power IoT devices and edge computing.

When should you not use it?

While it’s a powerhouse, it isn’t a “one-size-fits-all” solution. You might want to skip SQLite if:

  1. High Write Volume: SQLite handles multiple readers well, but only one “writer” can access the database at a time.
  2. Massive Data Sets: While it can technically handle terabytes, a full-scale server is better for extremely large-scale data management.
  3. Client-Server Needs: If you need many different computers across a network to access the same database simultaneously, a server-based system like PostgreSQL is the way to go.
FeatureSQLiteMySQL / PostgreSQL
SetupZero (just a file)High (requires a server)
PortabilityHigh (copy the file)Low (requires export/import)
ConcurrencyLow (one writer at a time)High (many simultaneous users)
Best ForMobile, Apps, TestingWeb Apps, Big Data