Tag Archives: design

Building rqlite 9.0: Cutting Disk Usage by Half

rqlite is a lightweight, open-source, distributed relational database written in Go.  It is built on the Raft consensus protocol and uses SQLite as its storage engine.

Development of 9.0 has begun and aims to reduce disk usage by approximately 50%. This goal will be achieved through a high-level design overhaul targeting the primary causes of disk consumption in rqlite.

Continue reading Building rqlite 9.0: Cutting Disk Usage by Half

GopherCon 2023: Building Distributed Systems in Go

My GopherCon 2023 talk, Build Your Own Distributed System Using Go, has been published to YouTube.

It was a great conference, and I appreciated the opportunity to share some lessons on designing, developing, and operating modern distributed systems in general, and the Raft consensus protocol in particular.

You can check out the video here.

rqlite 8.0: Large Dataset Support and Core Feature Upgrades

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

Release 8.0 is out now and brings substantial advancements to its handling of large data sets. It also adds many new features, and brings improvements in simplicity and operation — all the while maintaining rqlite’s focus on robustness and quality.

Continue reading rqlite 8.0: Large Dataset Support and Core Feature Upgrades

9 years of open-source database development

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

I’ve been developing rqlite since 2014 and its design and implementation has evolved substantially during that time — and the design docs tell the story of what worked, and what didn’t. So what can we learn about distributed database design, from watching rqlite change over the years?

Continue reading 9 years of open-source database development

rqlite 7.0: Designing Node Discovery and Automatic Clustering

rqlite is a lightweight, open-source, distributed relational database written in Go, which uses SQLite as its storage engine and Raft for distributed consensus. Release 7.0 is out now and introduces the first wave of new Node Discovery and Automatic Clustering  features.

Continue reading rqlite 7.0: Designing Node Discovery and Automatic Clustering

Logs and Time Series are not the same

When it comes to logs and time series, there is no magicIf you work in the logging, monitoring — or even Observability — space long enough, you eventually end up on team that tries to build a system that handles both logs and time series in a high-performant and cost-efficient manner.

Well, it’s a lot harder than it sounds — because logs and time-series are not the same.

Continue reading Logs and Time Series are not the same