Principles of transaction-oriented database recovery
ACM Computing Surveys (CSUR)
Concurrency control and recovery in database systems
Concurrency control and recovery in database systems
ACM Transactions on Database Systems (TODS)
Fbufs: a high-bandwidth cross-domain transfer facility
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
A coherent distributed file cache with directory write-behind
ACM Transactions on Computer Systems (TOCS)
Model and verification of a data manager based on ARIES
ACM Transactions on Database Systems (TODS)
Cluster-based scalable network services
Proceedings of the sixteenth ACM symposium on Operating systems principles
PODS '90 Proceedings of the ninth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
A database perspective on Lotus Domino/Notes
SIGMOD '99 Proceedings of the 1999 ACM SIGMOD international conference on Management of data
Efficient locking for concurrent operations on B-trees
ACM Transactions on Database Systems (TODS)
A history and evaluation of System R
Communications of the ACM
Implementing Atomicity in Two Systems: Techniques, Tradeoffs, and Experience
IEEE Transactions on Software Engineering
Proceedings of the 17th International Conference on Data Engineering
VLDB '90 Proceedings of the 16th International Conference on Very Large Data Bases
An Efficient Zero-Copy I/O Framework for UNIX
An Efficient Zero-Copy I/O Framework for UNIX
Distributed caching with memcached
Linux Journal
Boxwood: abstractions as the foundation for storage infrastructure
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
OSDI '06 Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation - Volume 7
Stasis: flexible transactional storage
OSDI '06 Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation - Volume 7
Bigtable: a distributed storage system for structured data
OSDI '06 Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation - Volume 7
Sinfonia: a new paradigm for building scalable distributed systems
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
Generalized file system dependencies
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
Proceedings of the 2008 ACM SIGMOD international conference on Management of data
Making a cloud provenance-aware
TAPP'09 First workshop on on Theory and practice of provenance
Data recovery in IBM database 2
IBM Systems Journal
Adaptive logging for mobile device
Proceedings of the VLDB Endowment
bLSM: a general purpose log structured merge tree
SIGMOD '12 Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
ACM SIGOPS 24th Symposium on Operating Systems Principles
From ARIES to MARS: transaction support for next-generation, solid-state drives
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
Hi-index | 0.00 |
Although existing write-ahead logging algorithms scale to conventional database workloads, their communication and synchronization overheads limit their usefulness for modern applications and distributed systems. We revisit write-ahead logging with an eye toward finer-grained concurrency and an increased range of workloads, then remove two core assumptions: that pages are the unit of recovery and that times-tamps (LSNs) should be stored on each page. Recovering individual application-level objects (rather than pages) simplifies the handing of systems with object sizes that differ from the page size. We show how to remove the need for LSNs on the page, which in turn enables DMA or zero-copy I/O for large objects, increases concurrency, and reduces communication between the application, buffer manager and log manager. Our experiments show that the looser coupling significantly reduces the impact of latency among the components. This makes the approach particularly applicable to large scale distributed systems, and enables a "cross pollination" of ideas from distributed systems and transactional storage. However, these advantages come at a cost; segments are incompatible with physiological redo, preventing a number of important optimizations. We show how allocation enables (or prevents) mixing of ARIES pages (and physiological redo) with segments. We present an allocation policy that avoids undesirable interactions that complicate other combinations of ARIES and LSN-free pages, and then present a proof that both approaches and our combination are correct. Many optimizations presented here were proposed in the past. However, we believe this is the first unified approach.