Chapter 1. What Is SQLite?
In the simplest terms, SQLite is a public-domain software package that provides a
relational database management system, or RDBMS.
Relational database systems are used to store user-defined records in
large tables. In addition to data storage and management, a database engine can
process complex query commands that combine data from multiple tables to generate
reports and data summaries. Other popular RDBMS products include Oracle Database,
IBM’s DB2, and Microsoft’s SQL Server on the commercial side, with MySQL and
PostgreSQL being popular open source products.
The “Lite” in SQLite does not refer to its capabilities.
Rather, SQLite is lightweight when it comes to setup complexity, administrative
overhead, and resource usage. SQLite is defined by the following features:
SQLite does not require a separate server
process or system to operate. The SQLite library accesses its
storage files directly.
- Zero Configuration
No server means no setup. Creating an SQLite
database instance is as easy as opening a file.
The entire database instance resides in a
single cross-platform file, requiring no administration.
A single library contains the entire
database system, which integrates directly into a host
- Small Runtime Footprint
The default build is less than a megabyte of
code and requires only a few megabytes of memory. With some
adjustments, both the library size and memory use can be
SQLite transactions are fully
ACID-compliant, allowing safe access from multiple processes or
SQLite supports most of the query language
features found in the SQL92 (SQL2) standard.
- Highly Reliable
The SQLite development team takes code
testing and verification very seriously.
Overall, SQLite provides a very functional and flexible
relational database environment that consumes minimal resources and creates
minimal hassle for developers and users.