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