Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

rqlite creator here.

That's correct, there is a write-performance hit for the reasons you say. All Raft systems will take the same hit, and SQLite is intrinsically single-writer -- nothing about rqlite changes that[2]. That said, there are approaches to increasing write-performance substantially. See [1] for much more information.

Write-performance is not the only thing to consider though (assuming one has sufficient performance in that dimension). Ease of deployment and operation are also important, and that's an area in which rqlite excels[3] (at least I think so, but I'm biased).

[1] https://rqlite.io/docs/guides/performance/

[2] https://rqlite.io/docs/faq/#rqlite-is-distributed-does-that-...

[3] https://rqlite.io/docs/faq/#why-would-i-use-this-versus-some...



Oh, I also presented some performance numbers in a presentation to a CMU a couple of years back. A little out-of-date, but gives a order-of-magnitude sense. https://youtu.be/JLlIAWjvHxM?t=2690

The biggest performance improvement since is due to the introduction of Queued Writes. See https://rqlite.io/docs/api/queued-writes/


> Ease of deployment and operation are also important, and that's an area in which rqlite excels

Amen. I've been building something appliance-like where I want to support clustering but I don't want to manage a database cluster inside the project.

Rqlite is so easy to run either stand-alone or clustered. It's a godsend.

And when people want postgres or whatever, I let them bring their own database. It's not hard to abstract a database storage layet if you plan ahead.

But if you want it to 'just work' rqlite is doing that with flying colors.


Relevant to the original inquiry — I really admire that you bring up the etcd and consul comparison right up front in the readme. For my own comprehension at least, it makes obvious the type of workloads for which you're optimizing and I appreciate that context as a past user of both of those stacks.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: