Database / Mnesia basics Interview questions
What is a Mnesia checkpoint used for?
A checkpoint captures a consistent, point-in-time view of one or more tables while the system keeps running — it's the mechanism backups and certain replication operations use internally to get a stable snapshot without pausing the whole database.
{ok, Name, Nodes} = mnesia:activate_checkpoint( [{name, my_checkpoint}, {min, [person, session]}]), mnesia:backup_checkpoint(Name, "/var/backups/partial.bak"), mnesia:deactivate_checkpoint(Name).
mnesia:activate_checkpoint/1 retains the state of the specified tables as of that moment, even
as new writes continue to happen afterward, so a subsequent backup_checkpoint/2 call reads a
consistent snapshot rather than a moving target. Once the checkpoint is no longer needed,
mnesia:deactivate_checkpoint/1 releases the extra bookkeeping Mnesia was doing to preserve that
frozen view.
More Related questions...