
rqlite is a rock-solid, highly-available, distributed relational database built on SQLite. It's lightweight, developer-friendly, and exceptionally easy to operate.
Use rqlite to reliably store your most important data, ensuring it's always available to your applications -- think etcd, but with relational modeling available. Whether you're deploying resilient services in the cloud or reliable applications at the edge, rqlite is a solution that offers effortless installation, deployment, and operation.
Check out the full Quick Start guide
1. Run a rqlite node:
docker run -p 4001:4001 rqlite/rqlite
2. Create a table and insert a row:
curl -XPOST 'localhost:4001/db/execute?pretty' -H 'Content-Type: application/json' -d '[
"CREATE TABLE foo (id INTEGER NOT NULL PRIMARY KEY, name TEXT)",
"INSERT INTO foo(id, name) VALUES(1, \"fiona\")"
]'
3. Query the data:
curl -G 'localhost:4001/db/query?pretty' --data-urlencode 'q=SELECT * FROM foo'
Learn how to form a multi-node cluster in seconds. and dive into the Developer Guide.
Core functionality
- Relational: Full SQL support via SQLite, including Full-text search, JSON support, and more.
- Extensible: Load SQLite extensions to add capabilities like Vector Search and Crypto.
- Atomic Requests: Execute multiple SQL statements atomically within a single API request.
Easy operations
- Easy Deployment: A single binary with no external dependencies. Up and running in seconds.
- High Availability: Fully replicated database provides fault-tolerance. Outage of a node doesn't impact the cluster.
- Dynamic Clustering: Automatic clustering via Kubernetes, Docker Compose, Consul, etcd, or DNS.
- Effortless Backups: Hot backups, including automatic backups to AWS S3, MinIO, and Google Cloud, as well as restore directly from SQLite and Cloud-based storage.
Developer experience
- Simple APIs: Easy-to-use HTTP API. A CLI and client libraries are also available.
- Robust Security: End-to-end encryption with TLS and rich authentication/authorization controls.
- Tunable Consistency: Customize read consistency and durability to match your application's needs.
Common pronunciations of rqlite include "R Q lite" and "ree-qwell-lite".