分散SQLiteを実現する「LiteFS」にスナップショット機能によるディザスタリカバリを提供する「LiteFS Cloud」、Fly.ioが発表
データセンターをグローバル展開し、アプリケーションプラットフォームサービスを提供しているFly.ioは、分散SQLiteを実現するLiteFSの付加機能として、バックアップとスナップショット、リカバリ機能などをマネージドサービスとして提供する「LiteFS Cloud」を発表しました。
LiteFS Cloud: now in preview.
— Fly.io (@flydotio) July 5, 2023
We love SQLite for distributed web apps! Introducing managed backups for LiteFS. Read more from Darla Shockley and @benbjohnson.https://t.co/nQxitx5x7d
コンパクトなデータベースであるSQLiteを複数のサーバで実行し、レプリケーションによってそれぞれのSQLiteのデータベースを同期させることで、シンプルながら大量のアクセスに対応できる、いわゆる「分散SQLite」システムへの注目度が高まっています。
分散SQLiteを実現する代表的なソフトウェアが、Fly.ioに所属するBen Johnson氏がオープンソースとして開発している「LiteFS」です。
分散SQLiteを実現するLiteFSとは?
LiteFSは、SQLiteのデータベースをレプリケーションし、複数のSQLiteに対してデータベースの同期を実現するソフトウェアです。
マスターとなるSQLiteが何らかの障害で落ちた場合には、自動的に別のSQLiteへとマスターが移行する、フェイルオーバーの機能も備えています。
具体的な仕組みは、SQLiteのデータベースファイルとファイルシステムの間にプロキシをはさみ、トランザクション処理を検知して記録する独自の「Lite Transaction File」(LTXファイル)を作成します。
これを別のSQLiteへ転送し、そこで処理の内容を復元することでレプリカデータベースを実現します。
分散ファイルシステムとしてFUSE(File System in User Space)を用いることでLTXファイルを別のSQLiteへ転送し、HashiCorpのConsulによってサービスディスカバリや障害発生時のフェイルオーバーなどを処理しています。
「LiteFS Cloud」は分散SQLiteにディザスタリカバリを提供
今回、Fly.ioが発表した「LiteFS Cloud」は、このLiteFSに対して5分ごとのスナップショットを取得することでデータベースのバックアップとスナップショットを提供するクラウドサービスです。
カレンダーからリストアしたい時刻のスナップショットを選んで、簡単にリストア可能となっています。
これによりLiteFSによって構成された分散SQLiteのクラスタに対してディザスタリカバリを実現することになります。
Fly.ioでは今後、スナップショットを別の分散SQLiteクラスタに展開することで、迅速にステージング環境などを構築できる機能や、VercelやDenoなど他のクラウドサービスのSQLiteでもLiteFS Cloudを利用可能にする機能などを開発するとしています。
あわせて読みたい
オラクルもRed Hatに反論。RHELクローンOSへの非難は、競合他社を減らして儲けようとしているからではないか
≪前の記事
Kotlin 1.9.0リリース。生成されるWebAssemblyのサイズが10分の1、K2コンパイラがβ版に