Strong Consistency with Raft and SQLite

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • SonarLint - Clean code begins in your IDE with SonarLint
  • InfluxDB - Access the most powerful time series database as a service
  • SaaSHub - Software Alternatives and Reviews
  • rqlite

    The lightweight, distributed relational database built on SQLite

    rqlite[1] creator here. This offering is completely new to me. Welcome to the party, that's what I say. I started doing what they are doing about 10 years ago. :-)

    https://www.philipotoole.com/9-years-of-open-source-database...

    The post makes a fairly big point of the shortcomings of statement-based replication (like rqlite does).

    What they state is correct -- non-deterministic SQL will be a problem, but it's not a difficult problem to solve. Just parse and rewrite the statement before sending it to Raft. It's exactly what rqlite does[2] (though there is more to do). However they claim that there are two concerns with this approach.

    >This solution introduces a runtime delay because each SQL statement must be parsed and analyzed.

    The delay is insignificant compared with the delay introduced by Raft consensus. This is not a valid concern. I'm surprised they even mentioned it.

    >More importantly, it increases the difficulty of staying up-to-date with the new versions of the underline SQL engine (SQLite in this specific case) because the custom parser must be updated each time a new SQL function/feature is introduced.

    Theoretically true, not true in practice. Any competent programmer can update any parsing code in a matter of hours.

    [1] https://rqlite.io

    [2] https://rqlite.io/docs/api/non-deterministic/

  • dqlite

    Embeddable, replicated and fault tolerant SQL engine.

  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

  • sqlite-kit

    Non-blocking SQLite client library with SQL builder built on SwiftNIO

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts