1

Tarantool に関するこの記事を読んでいましたが、AOF と WAL ログは同じようには機能していないようです。

Tarantool: スナップショットの他に、本格的な WAL (先行書き込みログ) があります。そのため、すぐに使用できる各トランザクションの後にデータの永続性を確保できます。Redis: 実際、スナップショットしかありません。技術的には、AOF (すべての操作が書き込まれる追加専用ファイル) がありますが、再起動後の手動復元を含め、手動で制御する必要があります。簡単に言えば、Redis では、サーバーを時々手動で一時停止し、スナップショットを作成して AOF をアーカイブする必要があります。

誰かが 2 つの戦略の違いと、それぞれが高レベルでどのように機能するかをより明確に説明できますか?

Redis AOF は、Postgresql に実装されているような SQL データベース トランザクション ログに対して同じように機能していると常に思っていましたが、間違っていた可能性があります。

4

2 に答える 2

6

AOF は、Redis の主要な永続化オプションです。メモリ内のデータセットを変更する書き込み操作があるたびに、その操作がログに記録されます。そのため、再起動中に、Redis はすべての操作をリプレイしてデータセットを再構築します。また、3 つの異なる fsync 構成ポリシーから選択することもできます (no、everysec、always)。FWIW、通常、適切なレベルのデータ安全性が必要な場合は、AOF + RDB の両方を使用することをお勧めします。これはあなたの質問の範囲外のようなものですが、私はそれについて言及したいと思います.

メインの Redis 永続化ドキュメント

Redis の永続化の謎を解く

Tarantool は「WAL ライター」と呼ばれるものを使用します。これは別のスレッドで実行され、データ「挿入および更新要求」を操作する要求がログに記録されます。再起動時に、Tarantool は WAL ファイルを読み取り、各要求を再生することによって回復します。

Tarantool の永続性に関するドキュメント

明らかに内部に違いがありますが、高いレベルではかなり似ています。この記事の持続性の比較はかなり奇妙で、まったく正しくありません。

低レベルの違いの詳細については、上記のドキュメントを参照してください。

それが役立つことを願っています

于 2016-12-04T17:16:04.560 に答える