您可以采用哪些流行技术来为内存数据结构添加持久性(即)如果进程崩溃,您可以保留该数据结构上所有先前执行的操作?
如果我的数据结构只涉及元组列表,那么我只是将它们存储在SQL DB中,这将免费提供耐用性.但是如果我的数据结构是图形或树呢?
我能想到的一件事是将所有操作显式记录到磁盘(仅附加日志),并在发生崩溃时重播日志以保留以前的状态.如果日志变得太大,那么将会有压缩步骤.我猜这是数据库引擎在内部为持久性做的事情(检查点是这个过程的名称)?
顺便提一下,这不是整个数据集不适合内存的情况.