|
20.
06.
2008
Split Snapshots: A New Approach to Old State Storage
Liuba Shrira
Brandeis University
Kurzweil says, computers will enable people to live forever and
doctors will be doing backup of your memories by late 2030. This
talk is not about that, yet. Instead, the remarkable drop in disk
costs makes it possible and attractive to capture past application
states and store them for a long time, so that forecast and audit
features, formerly limited to specialized temporal databases, can
become available to everyday applications in general databases. A
still open question is how to best organize long-lived past states?
Split snapshots are a recent approach to virtualized past states
that is attractive for several reasons. Split snapshots are
persistent, can be taken with high-frequency, and they are
transactionally consistent. Unmodified database application code
can run against them. Like no other approach, they provide low-cost
discriminated garbage collection of unneeded snapshots, a useful
feature in long-lived systems. Last but not least, the approach is
quite simple compared to a temporal database because it virtualizes
disk blocks, rather than logical records.
Several novel techniques underly split snapshots. An simple new
invariant allows to create consistent virtualized snapshots without
disrupting applications, a new kind of snapshot index provides fast
access to recent and old snapshots, and a new kind of storage
organization garbage collects unneeded copy-on-write snapshots at
low-cost, without copying or disk fragmentation. Measurements of a
prototype system indicate that the approach is efficient and
scalable, imposing minimal (4%) performance penalty on a storage
system, on expected common workloads.
|