Hi, I'm scoping out my options for databases that support snapshotting. From what
I've read so far, this is a natural feature of LMDB, however all the documentation
talks about making sure not to let read transactions linger around. What if I *want* to
hold onto a read transaction long-term, hours or even months? Also, I haven't yet
seen a way for a new client to re-open the database as of the point in time of an existing
transaction. Is this possible?
If I manage to do something like this, will the storage overhead be roughly equivalent to
the quantity of changed data between the snapshot and the latest write? or will the
overhead be more like the sum of all writes + overwrites that happened since the read
transaction started? i.e. if a read transaction is held starting from t0, then data is
written at t1, then overwritten at t2 can the blocks affected by t1 be reclaimed for a
write at t3?
Thanks for any insight!
Show replies by date