The present invention extends to methods, systems, computer program
products, and data structures for managing database snapshot storage.
Spatial properties database transactions are used to manage database
snapshot storage allocation and reclamation. When a read transaction and
subsequent write transactions refer to disjoint portions of a database,
the read transaction can continue to read portions of data directly from
the database. When a read transaction and subsequent write transactions
refer to intersecting portions of a database, the read transaction can be
transitioned to "snapshot" mode. The write transaction can publish a
database snapshot can configure the read transaction to read contested
portions of data from the published snapshot.