rqlite 9.3.1 to 9.3.4: Parser Updates, Static Analysis Fixes, and Non-Root Docker Images

rqlite is a lightweight, open-source, distributed relational database built on SQLite and Raft.

Versions 9.3.1 through 9.3.4 deliver a set of targeted fixes and internal improvements, most of them aimed at code quality, security posture, and correctness. The only user-facing operational change is that the official Docker image now runs the rqlite daemon as a non-root user.

Continue reading “rqlite 9.3.1 to 9.3.4: Parser Updates, Static Analysis Fixes, and Non-Root Docker Images”

Balancing SQLite’s WAL, SYNCHRONOUS=OFF, and fsync for fast rqlite recovery

rqlite is a lightweight, user-friendly, distributed relational database. It’s written in Go, employs Raft for distributed consensus, and uses SQLite as its storage engine.

The newly released rqlite 9.2 introduces a major improvement to startup performance – nodes can now resume from where they left off, instead of rebuilding their state from scratch on every restart. This change means that even if a node manages gigabytes of SQLite data, it can come back online almost instantly, with startup time no longer proportional to dataset size.

In this post, I’ll explore why this change matters, how it was implemented on top of the existing Raft system and SQLite WAL, and what it says about rqlite’s evolution.

Continue reading “Balancing SQLite’s WAL, SYNCHRONOUS=OFF, and fsync for fast rqlite recovery”

rqlite images now available on GitHub Container Registry

rqlite is a lightweight, open-source distributed relational database implemented in Go, and which uses SQLite as its storage engine.

rqlite container images are now mirrored to GitHub Container Registry (GHCR). Images on Docker Hub and GHCR carry the same tags and digests; you can pull from either registry based on your preferences or network policy. This change should improve reliability and make it easier to integrate rqlite into environments that standardize on GHCR.

Continue reading “rqlite images now available on GitHub Container Registry”

rqlite reaches 17,000 stars on GitHub

rqlite is a lightweight, open-source distributed relational database implemented in Go, and which uses SQLite as its storage engine.

It has reached a new milestone in the open-source community by surpassing 17,000 stars on GitHub. Thanks to everyone for the ongoing support.

Driving Open Standards in Cloud Observability

My teams recently delivered support for the OpenTelemetry Protocol (OTLP) into Google Cloud Observability. This marks a significant step toward open, vendor-neutral observability.

By adopting OTLP, customers gain interoperability across tools, simpler data pipelines, and a future-proof path as the ecosystem standardizes. The change strengthens data quality in Cloud Trace today and sets the stage for metrics and logs to follow.

You can read the full announcement on the Google Cloud blog.

rqlite 9.0: Real-time Change Data Capture for Distributed SQLite

rqlite is a lightweight, user-friendly, open-source, distributed relational database. It’s written in Go, employs Raft for distributed consensus, and uses SQLite as its storage engine.

rqlite 9.0 introduces Change Data Capture (CDC), enabling you to stream the changes occurring to the underlying SQLite database to other systems. With CDC, rqlite is no longer just a distributed database—it’s a live event source. So let’s take a look at what the latest release allows us to do, and some of the design challenges that needed solving — especially building Change Data Capture on SQLite.

Continue reading “rqlite 9.0: Real-time Change Data Capture for Distributed SQLite”

On the way to rqlite 9.0

rqlite is a lightweight, open-source, distributed relational database written in Go, which uses SQLite as its storage engine.

Development for the 9.0 release has started, and should be an important release. The main goals for 9.0 include:

  • Change Data Capture (CDC). CDC will allow you to stream changes from rqlite as they happen. This long-requested feature will make it easy to integrate rqlite with caches, pub-sub systems, and more.
  • API improvements. This will include better error codes, while maintaining current behaviour.

Upgrading from the 8.x release series should be seamless.

Consistency Over Availability: How rqlite handles the CAP Theorem

rqlite is a lightweight, user-friendly, open-source, distributed relational database. It’s written in Go and uses SQLite as its storage engine.

When it comes to distributed systems the CAP theorem is an essential concept. It states that it’s impossible for a distributed database to simultaneously provide Consistency, Availability, and Partition tolerance. The challenge is in the face of a network partition, a database can only be available or consistent, but not both.

Let’s take a look at the CAP theorem and see how rqlite fits into this fundamental trade-off.

Continue reading “Consistency Over Availability: How rqlite handles the CAP Theorem”