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