What is SQLITE?
SQLite is a lightweight, embedded relational database that stores data in a single cross-platform file. Unlike client-server databases (MySQL, PostgreSQL), SQLite reads and writes directly to disk files, requiring no separate server process. It's built into Android, iOS, macOS, web browsers, and countless applications.
SQLite supports standard SQL, transactions, indexes, and triggers - all in a library smaller than 600KB. Perfect for mobile apps, desktop software, embedded systems, and development/testing. Despite being "lite," SQLite can handle databases up to 281 TB and is ACID-compliant with exceptional reliability.
History
SQLite was created by D. Richard Hipp for use aboard a US Navy destroyer, where a reliable, lightweight database was needed without network dependencies.
Key Milestones
- 2000: SQLite 1.0 released (public domain)
- 2004: SQLite 3.0 with improved format
- 2007: Adopted by iPhone OS
- 2010: Android uses SQLite extensively
- 2013: Most deployed database engine
- Present: Billions of active installations
Key Features
Core Capabilities
- Serverless: No configuration needed
- Zero-Config: Works out of the box
- Single File: Portable database
- ACID Compliant: Reliable transactions
- Small Footprint: ~600 KB library
- Cross-Platform: Works everywhere
- Public Domain: No licensing
Common Use Cases
Mobile Apps
iOS, Android data storage
Desktop Apps
Configuration, local data
Browsers
Chrome, Firefox storage
Embedded Systems
IoT, devices, appliances
Advantages
- No server setup required
- Single portable file
- Fast and efficient
- Extremely reliable
- Public domain (free)
- Cross-platform
- Well-tested and stable
- Full SQL support
Disadvantages
- Not for high-concurrency writes
- No user management/permissions
- Limited for large-scale apps
- File-based locking
- Not ideal for network access
- Less features than PostgreSQL/MySQL
Technical Information
Format Specifications
| Specification | Details |
|---|---|
| File Extension | .sqlite, .sqlite3, .db |
| MIME Type | application/vnd.sqlite3 |
| Format Type | Relational database |
| Max Size | 281 TB |
| License | Public domain |
| ACID | Yes (full compliance) |
| Encoding | UTF-8, UTF-16 |
Common Tools
- CLI: sqlite3 command-line
- GUI: DB Browser for SQLite, DBeaver
- Languages: Python, Java, C#, JavaScript (all have bindings)
- Viewers: SQLiteStudio, Navicat