メモリ内のデータ構造に耐久性を追加するために採用できる一般的な手法のいくつかは何ですか(つまり、プロセスがクラッシュした場合、そのデータ構造で以前に実行されたすべての操作を保持できますか?
データ構造にタプルのリストだけが含まれている場合は、それらをSQL DBに格納するだけで、耐久性が無料になります。しかし、私のデータ構造がグラフまたはツリーだった場合はどうなりますか?
私が考えることができる1つのことは、すべての操作をディスクに明示的にログに記録し(追加のみのログ)、クラッシュが発生した場合は、ログを再生して前の状態を保持することです。ログが大きくなりすぎると、圧縮ステップが発生します。これは、データベースエンジンが耐久性のために内部的に行うことだと思います(チェックポイントはこのプロセスと呼ばれるものです)?
ところで、これはデータセット全体がメモリに収まらないシナリオではないことに注意してください。