/note/tech

分散SQLiteを実現する「LiteFS」にスナップショット機能によるディザスタリカバリを提供する「LiteFS Cloud」...

LiteFSは、SQLiteのデータベースをレプリケーションし、複数のSQLiteに対してデータベースの同期を実現するソフトウェアです。

マスターとなるSQLiteが何らかの障害で落ちた場合には、自動的に別のSQLiteへとマスターが移行する、フェイルオーバーの機能も備えています。

具体的な仕組みは、SQLiteのデータベースファイルとファイルシステムの間にプロキシをはさみ、トランザクション処理を検知して記録する独自の「Lite Transaction File」(LTXファイル)を作成します。

これを別のSQLiteへ転送し、そこで処理の内容を復元することでレプリカデータベースを実現します。

分散ファイルシステムとしてFUSE(File System in User Space)を用いることでLTXファイルを別のSQLiteへ転送し、HashiCorpのConsulによってサービスディスカバリや障害発生時のフェイルオーバーなどを処理しています。

これってマスターDBにWriteするAPIとエッジにレプリカDB(SQLite)を配信する仕組みだけで簡単に模倣できそうなんだけど、ビジネスとして成立するんだろうか?