Si 分散DBMSを探しています SQLiteをストレージエンジンとして使用しているので、 rqliteはあなたのためのものです、相互に同期されたストレージからクラスターの作業を整理できるため。
rqlite機能から、 インストール、実装、およびメンテナンスの容易さが強調されています 分散ストレージの フォールトトレラント。etcdやConsulに多少似ていますが、 ただし、キー/値形式の代わりにリレーショナルデータモデルを使用します。
rqliteについて
Raftコンセンサスアルゴリズムは、すべてのノードの同期を維持するために使用されます。 Rqlite オリジナルのSQLiteライブラリとgo-sqlite3ドライバーを使用する、それに加えて、クライアント要求を処理するレイヤーを実行し、他のノードでそれ自体を複製し、メインノードの選択で到達したコンセンサスを監視します。
データベースへの変更は、リーダーとして選択されたノードによってのみ行うことができますただし、書き込み操作を伴う接続は、クラスター内の他のノードに送信できます。これにより、リーダーのアドレスが返され、要求が繰り返されます(次のバージョンでは、リーダーへの呼び出しの自動転送が追加される予定です)。
主な焦点はフォールトトレランスです。 したがって、DBMS 読み取り操作でのみスケーリングします。 書き込み操作がボトルネックです。 単一ノードからrqliteクラスターを実行することが可能であり、そのようなソリューションを使用して、フォールトトレランスを提供せずにHTTP経由でSQLiteへのアクセスを提供できます。
SQLiteデータ 各ノードでは、ファイルではなくメモリに保存されます。 Raftプロトコルの実装によるレイヤーレベルでは、データベースの変更につながるすべてのSQLiteコマンドの記録が保持されます。
このレコードは、レプリケーション(他のノードへのクエリ再生レベルでのレプリケーション)、新しいノードの開始時、または接続の喪失からの回復に使用されます。
レコードのサイズを縮小するために、自動パッケージ化が使用されます。これは、指定された回数の変更後に開始され、スナップショットの確認につながります。これに対して、新しいレコードが開始されます(メモリ内のデータベースの状態はスナップショット+と同じです)。累積変更ログ)。
rqlite機能から:
- 個別のSQLiteをインストールする必要がなく、クラスターの展開が容易です。
- レプリケートされたSQLストレージをすばやく取得する機能。
- 本番プロジェクトですぐに使用できます。
- HTTP(S)APIの可用性。これにより、バッチモードでデータを更新し、クラスターの主要ノードを決定できます。 さまざまなプログラミング言語用のコマンドラインインターフェイスとクライアントライブラリも提供されています。
- クラスターを動的に作成できるようにする他のノードを定義するサービスの存在。
- ノード間のデータ交換の暗号化のサポート。
- 読み取り時にデータの関連性と一貫性をチェックするレベルをカスタマイズする機能。
- コンセンサス決定に参加せず、読み取り操作のためのクラスターのスケーラビリティーを向上させるために使用される読み取り専用ノードを接続するオプションの機能。
- 単一のリクエストでのコマンドの組み合わせに基づくネイティブ形式のトランザクションのサポート(BEGIN、COMMIT、ROLLBACK、SAVEPOINT、およびRELEASEに基づくトランザクションはサポートされていません)。
rqlite6.0について
新しいバージョン クラスタの信頼性を向上させることを目的とした重要なアーキテクチャの変更を導入します 読み取りおよび書き込み要求を正しいクラスターノードに送信するプロセスを改善することによって。
Rqliteノードが 複数の論理接続を多重化できます Raftプロトコルによってノード間で確立されたTCP接続を使用してそれらの間で。 要求がリーダーノードの権限を必要とするが、セカンダリノードに送信される場合、セカンダリノードは、Raftコンセンサス計算を実行せずに、リーダーのアドレスを決定してクライアントに送信できます。
この変更により、メタデータを同期するための個別のコンポーネントも削除され、Raftによるステータスとメタデータの個別の処理も削除されました。
セカンダリノードは、リードノードのアドレスを見つける必要がある場合にのみ、必要な場合にのみリードノードに要求を送信するようになりました。 APIは、クラスター内の他のノードのステータスに関する情報を取得する機能を提供します。 SysdumpコマンドがCLIに追加されました。
最後に あなたがそれについてもっと知りたいのなら または、インストール手順とユーザーマニュアルを参照してください。 下のリンクから。