分散型SQLiteの概念、すなわちSQLiteエンジンをストレージレイヤーとして使用しながら外部プロトコルを通じてレプリケーションを管理する手法は、2014年以来大きく進化してきました。rqliteのクリエイターであるPhilip O'Toole氏は、RaftコンセンサスアルゴリズムとSQLiteを組み合わせた最初のオープンソースシステムが10年以上前にリリースされたと指摘しています。このアーキテクチャの選択は、単一のノードを理想的な永続的ホストとすることができないクラスターシステムにおいて、少量のリレーショナルストレージを必要としたことに起因しています。SQLiteの前にRaftログを配置することで、システムはすべての書き込みがクラスター全体にレプリケートされることを保証し、単一のノードが故障してもデータ損失を防ぐことができます。
長年にわたり、この技術は異なる一貫性と可用性の要件に基づいて、3つの明確な設計の角へと分岐しました。rqliteやCanonicalのdqliteに代表される最初の角は、CP(一貫性とパーティション耐性)システムに焦点を当てています。これらは、書き込みが過半数の承認を得る必要があるリーダーベースのコンセンサスモデルを使用します。2つの角は、Litestreamに代表されるストリーミングリカバリの台頭とともに2021年頃に出現しました。Litestreamはクラスターの代わりにSQLiteのWrite-Ahead Log(WAL)を監視し、それをS3のようなクラウドストレージにストリーミングすることで、単一ノード構成のディザスタリカバリを提供します。3つ目の角は、cr-sqliteのようなマージベースのレプリケーションを含みます。これはConflict-free Replicated Data Types(CRDTs)を使用して、複数のライターが中央のリーダーなしで分岐およびマージすることを可能にし、ローカルファーストのアプリケーションに対応します。
基礎となる技術はオープンソースのままである一方で、市場はマネージドプラットフォームへとシフトしています。Turso(2026年にSupabaseに買収)やCloudflareのD1のようなプロジェクトは、レプリケートされたSQLiteを、自らデプロイするインフラストラクチャコンポーネントからサーバーレスデータベース製品へと変貌させました。O'Toole氏は、外部レプリケーションを備えたストレージエンジンとしてSQLiteを使用するという核心的なアイデアは、少なくとも8つの異なるチームによって再発明されてきたものの、今日の主な違いは、ユーザーがインフラを自ら実行したいのか、あるいはマネージドサービスに料金を支払いたいのかであると観察しています。rqliteは、完全に理解でき、独立してホストできるフォールトトレラントなリレーショナルデータベースを求める人々にとって、依然として主要な選択肢となっています。
