Strong Consistency with Raft and SQLite

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

InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured
  1. rqlite

    The lightweight, user-friendly, 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/

  2. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
  3. dqlite

    Embeddable, replicated and fault-tolerant SQL engine.

  4. sqlite-kit

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

    https://github.com/vapor/sqlite-kit/issues/47

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

  • 9 years of open-source database development: reviewing the designs

    2 projects | /r/programming | 10 Mar 2023
  • Embeddable, replicated and fault tolerant SQL engine based on Sqlite

    2 projects | /r/programming | 1 Feb 2022
  • Embeddable, replicated and fault tolerant SQL engine based on Sqlite

    5 projects | news.ycombinator.com | 30 Jan 2022
  • Marmot: Multi-writer distributed SQLite based on NATS

    4 projects | news.ycombinator.com | 11 Dec 2023
  • SQLite the only database you will ever need in most cases

    12 projects | news.ycombinator.com | 15 Feb 2023