Sedna XML DBMS provides ACID transactions with the following features:
1. It uses page-level versioning to support read-only transactions through transaction-consistent snapshots while limiting the number of versions per page.
2. Transactions are logged at the microoperation level and durable snapshots are taken at checkpoints to allow both physical and logical recovery.
3. Rollback is performed by undoing microoperations from the logical log while recovery first restores from a durable snapshot and then redoes microoperations from the log.
1 of 12
More Related Content
Sedna XML Database: Transactions and Recovery
1. Sedna XML DBMS: Transactions and Recovery Alexander Kalinin [email_address] Nickolay Zavaritsky [email_address] Sedna Team
2. General principles ACID transactions Atomicity rollback procedure Consistency by design Isolation S2PL and snapshots Durability two-level recovery scheme Versioning environment Support for Read-Only transactions Physical recovery using persistent snapshot Logical recovery using log of microoperations
3. Versioning Scheme Page-level versioning Consistent with internal representation (e.g. following the pointers) Transaction-transparent solution All logic is encapsulated in a separate module on SM Limited number of versions for each page More effective maintenance and garbage collecting ( 4 versions on 2 snapshots ) Support for snapshots to process read-only transactions No isolation is required Long-running read-only transactions cannot be rolled back due to the lack of versions
9. Rollback and Recovery scheme Normal processing: Logical logging of all microoperations (1 record per microoperation + 1 record per changed persistent version) Transaction-consistent snapshots on checkpoints Rollback processing: Undo microoperations using logical log records Two-level recovery process: Restore transaction-consistent state using persistent snapshot Redo the necessary microoperations using logical log
11. Isolation Usual transactions S2PL protocol Document-level granularity Read-only transactions No isolation is required since they use transaction-consistent snapshots