incubator-resilientdb
incubator-resilientdb copied to clipboard
[Engine] Allow recovering from data storage
Currently, ResilientDB supports recovering the data ResilientDB will record every operation in the log and redo the log when starting up. (code).
However, the current version does not utilize the stable checkpoint among the logs. What we do is to scan all the log other than starting from the recent checkpoint.
This is because we leverage the memory as the default storage, and we need to reconstruct the memory to avoid data loss.
However, as the log grows larger, the starting time increases. To mitigate this, we can apply any existing data storage, like leveldb.
When starting ResilientDB, it only needs to start from what the datastorage has and redo the missing logs.