Concurrency control and recovery in database systems
Concurrency control and recovery in database systems
Principles of transaction processing: for the systems professional
Principles of transaction processing: for the systems professional
The Recovery Manager of the System R Database Manager
ACM Computing Surveys (CSUR)
The notions of consistency and predicate locks in a database system
Communications of the ACM
Database Management Systems
Database Systems: The Complete Book
Database Systems: The Complete Book
Transaction Processing: Concepts and Techniques
Transaction Processing: Concepts and Techniques
VLDB '90 Proceedings of the 16th International Conference on Very Large Data Bases
Key Range Locking Strategies for Improved Concurrency
VLDB '93 Proceedings of the 19th International Conference on Very Large Data Bases
Oracle Essentials, 3e: Oracle Database 10g
Oracle Essentials, 3e: Oracle Database 10g
Inside microsoft® sql server™ 2005: the storage engine
Inside microsoft® sql server™ 2005: the storage engine
Understanding db2®: learning visually with examples, second edition
Understanding db2®: learning visually with examples, second edition
Declarative scheduling in highly scalable systems
Proceedings of the 2010 EDBT/ICDT Workshops
G-Store: a scalable data store for transactional multi key access in the cloud
Proceedings of the 1st ACM symposium on Cloud computing
Towards elastic transactional cloud storage with range query support
Proceedings of the VLDB Endowment
Big data and cloud computing: new wine or just new bottles?
Proceedings of the VLDB Endowment
Implementing performance competitive logical recovery
Proceedings of the VLDB Endowment
Providing scalable database services on the cloud
WISE'10 Proceedings of the 11th international conference on Web information systems engineering
Calvin: fast distributed transactions for partitioned database systems
SIGMOD '12 Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data
Hi-index | 0.00 |
To adapt database technology to new environments like cloud platforms or multi-core hardware, or to try anew to provide an extensible database platform, it is useful to separate transaction services from data management elements that need close physical proximity to data. With "generic" transactional services of concurrency control and recovery in a separate transactional component (TC), indexing, cache and disk management, now in a data component (DC), can be simplified and tailored more easily to the platform or to a data type extension with a special purpose index. This decomposition requires that details of the DC's management of data be hidden from the TC. Thus, locking and logging need to be "logical", which poses a number of problems. One problem is the handling of locking for ranges of keys. Locks need to be taken at the TC prior to the records and their keys being known to the TC. We describe generic two approaches for dealing with this. (1) Make a "speculative" visit" to the DC to learn key values. (2) Lock a "covering resource" first, then learn and lock key values and ultimately release the covering resource lock. The "table" is the only logical (and hence known to the TC) covering resourse in the traditional locking hierarchy, but using it limits concurrency. Concurrency is improved with the introduction of new partition resources. We show how partitions as covering resources combine high concurrency with low locking overhead. Using partitions is sufficiently effective to consider adapting it for a traditional database kernel.