SQLite のレプリケーション システムの実装により Litestream が導入されました

BoltDB NoSQL ストレージの作成者である Ben Johnson 氏は、SQLite でデータ レプリケーションを整理するためのアドオンを提供する Litestream プロジェクトを紹介しました。 Litestream は SQLite を変更する必要がなく、このライブラリを使用するあらゆるアプリケーションで動作します。 レプリケーションは、データベースからのファイルの変更を監視し、それらを別のファイルまたは外部ストレージに転送する、個別に実行されるバックグラウンド プロセスによって実行されます。 プロジェクト コードは Go で記述され、Apache 2.0 ライセンスに基づいて配布されます。

データベースとのすべての対話は、標準の SQLite API を通じて実行されます。 Litestream は操作に直接干渉せず、パフォーマンスに影響を与えず、データベースの内容に損傷を与えることはありません。この点で Litestream は Rqlite や Dqlite などのソリューションと区別されます。 変更は、SQLite で WAL ログ (「先行書き込みログ」) を有効にすることで追跡されます。 ストレージ領域を節約するために、システムは変更のストリームを定期的にデータベース スライス (スナップショット) に集約し、その上に他の変更が蓄積され始めます。 スライスを作成する時間は設定で指定されます。たとえば、スライスを XNUMX 日に XNUMX 回作成することも、XNUMX 時間に XNUMX 回作成することもできます。

Litestream の主な応用分野には、安全なバックアップの編成や、複数のサーバー間での読み取り負荷の分散などが含まれます。 Amazon S3、Azure Blob Storage、Backblaze B2、DigitalOcean Spaces、Scaleway Object Storage、Google Cloud Storage、Linode Object Storage、または SFTP プロトコルをサポートする外部ホストへの変更ストリームの移動をサポートします。 メイン データベースの内容が破損した場合、指定された時点、特定の変更、最後の変更、または指定されたスライスに対応する状態からバックアップ コピーを復元できます。

出所: オープンネット.ru

コメントを追加します