rqlite is a free, open source databases project written in Go and released under MIT. It has 17,742 GitHub stars, 810 forks and 79 open issues, and was last pushed 3 days ago. On this registry it ranks #34 of 143 tracked projects in Databases, with 5 head-to-head comparisons available.

What is rqlite?

rqlite is an open-source, fault-tolerant distributed relational database built on SQLite, intended for developers and operators who want etcd-style availability while keeping full SQL and relational modeling.

What it is

rqlite is a distributed relational database written in Go and released under the MIT licence. It is built on SQLite, so data is queried and stored with the same SQL dialect, and it combines that engine with consensus-based replication across a cluster. A node outage does not impact the cluster, and the README describes the project as feature-rich, rock-solid, and exceptionally easy to operate. The repository sits in the Infrastructure & Operations / Databases category, with 17,742 stars, 810 forks, 79 open issues, and a last push on 15 September 2026.

The concrete problem it solves is availability. A standalone SQLite file gives relational modeling and a small operational footprint, but not fault tolerance; a conventional replicated relational database gives fault tolerance at the cost of substantially more moving parts. rqlite keeps the SQLite engine and adds replication, hot backups, and clustering, so the same schema, Full-text search, and JSON features remain available while the deployment survives the loss of a node. The README frames the comparison directly: "think etcd, but with relational modeling available." It ships as a single binary with no external dependencies, so it can act as the durable, highly available store behind cloud services or applications at the edge.

Key capabilities

  • Full SQL support via SQLite, including Full-text search (FTS5) and JSON support.
  • Extensibility through loaded SQLite extensions, such as sqlite-vec for vector search and sqlean for crypto.
  • Atomic Requests, which execute multiple SQL statements atomically inside one API request.
  • Change Data Capture, which streams database changes to an external system.
  • A simple HTTP API, plus a built-in console app, a CLI, and client libraries; the Quick Start uses POST /db/execute and GET /db/query on port 4001.
  • Dynamic clustering driven by Kubernetes, Docker Compose, Consul, etcd, or DNS.
  • Hot backups, automatic backups to AWS S3, MinIO, and Google Cloud, and restore directly from SQLite or from cloud storage.
  • TLS for end-to-end encryption, with authentication and authorization controls.

Who uses it and how

  • Teams deploying resilient services in the cloud that need a replicated relational store rather than a separate database cluster to run.
  • Edge and reliable-application deployments, where the single binary and absence of external dependencies simplify the host.
  • Kubernetes environments that want nodes to join a cluster automatically instead of being wired together by hand.
  • Docker Compose setups used to form a multi-node cluster quickly for evaluation or smaller production footprints.
  • Operators who require scheduled off-site copies, using automatic backups to AWS S3, MinIO, or Google Cloud and restore from cloud storage.

Getting started

Run a node with the published image, docker run -p 4001:4001 rqlite/rqlite, then create and query data through the HTTP API on port 4001. The documented Quick Start covers the full path, and the clustering guide covers forming a multi-node cluster.

How it compares

The README names etcd as the closest point of reference: etcd provides a consensus-backed key-value store, while rqlite puts relational modeling, SQL, Full-text search, and JSON on top of the same availability model. Against SQLite itself, rqlite keeps the engine but adds replication, clustering, and backup tooling that a single local file cannot provide.

When to use it — and when not to

Choose rqlite when the data matters enough to warrant replication but the team does not want to operate a separate database and its surrounding infrastructure; the single binary has no external dependencies, so the work is cluster membership, TLS, and backup policy rather than provisioning a database server. Do not choose it for a single-process application that can simply embed SQLite, where replication adds nothing. One honest caveat: the README excerpt is truncated mid-sentence at the developer-experience section, so the authoritative feature detail lives on rqlite.io, and the repository carries 79 open issues that a prospective operator should review.

project readme (upstream, from github) — read inline

Circle CI AppVeyor Release Docker Office Hours Slack Google Group

rqlite is a feature-rich, rock-solid, fault-tolerant, distributed relational database built on SQLite. It's lightweight, developer-friendly, and exceptionally easy to operate, offering effortless installation and deployment.

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 provides a robust solution for critical data.

Website · Slack

Quick Start

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.

Key features

Core functionality

Easy operations

Developer experience

More questions?

Pronunciation

Common pronunciations of rqlite include "R Q lite" and "ree-qwell-lite".

Frequently asked questions

Is rqlite free to use?

rqlite is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does rqlite do?

The lightweight, fault-tolerant database built on SQLite. Designed to keep your data highly available with minimal effort.

What is rqlite written in?

rqlite is primarily written in Go. Its source is publicly available at https://github.com/rqlite/rqlite, and it has 17,742 GitHub stars.