SQLite
SQLite is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine.
About
SQLite is a software library that provides a relational database management system. The lite in SQLite means lightweight in terms of setup, database administration, and required resources.
SQLite has the following notable characteristics:
- Self-contained with no external dependencies
- Serverless - the SQLite library accesses its storage files directly
- Single database file that can be easily copied or moved
- Zero-configuration - no setup or administration needed
- Transactional with ACID properties
Requirements
Database File
You need a SQLite database file. This can be:
- An existing database file
- A path where a new database file should be created
:memory:
for an in-memory database
Example
sources:
my-sqlite-db:
kind: "sqlite"
database: "/path/to/database.db"
For an in-memory database:
sources:
my-sqlite-memory-db:
kind: "sqlite"
database: ":memory:"
Reference
Configuration Fields
Field | Type | Required | Description |
---|---|---|---|
kind | string | Yes | Must be “sqlite” |
database | string | Yes | Path to SQLite database file, or “:memory:” for an in-memory database |
Connection Properties
SQLite connections are configured with these defaults for optimal performance:
MaxOpenConns
: 1 (SQLite only supports one writer at a time)MaxIdleConns
: 1