Concurrency control in database structures with relaxed balance
PODS '87 Proceedings of the sixth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Uncoupling updating and rebalancing in chromatic binary search trees
PODS '91 Proceedings of the tenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Regular Article: Efficient rebalancing of chromatic search trees
Proceedings of the 30th IEEE symposium on Foundations of computer science
Making B+- trees cache conscious in main memory
SIGMOD '00 Proceedings of the 2000 ACM SIGMOD international conference on Management of data
ACM Computing Surveys (CSUR)
The Architecture of the Dalí Main-Memory Storage Manager
Multimedia Tools and Applications
A Study of Index Structures for Main Memory Database Management Systems
VLDB '86 Proceedings of the 12th International Conference on Very Large Data Bases
Cache Conscious Indexing for Decision-Support in Main Memory
VLDB '99 Proceedings of the 25th International Conference on Very Large Data Bases
Amortization Results for Chromatic Search Trees, with an Application to Priority Queues
WADS '95 Proceedings of the 4th International Workshop on Algorithms and Data Structures
Relaxed Balanced Red-Black Trees
CIAC '97 Proceedings of the Third Italian Conference on Algorithms and Complexity
T-Tree or B-Tree: Main Memory Database Index Structure Revisited
ADC '00 Proceedings of the Australasian Database Conference
T*-tree: a main memory database index structure for real time applications
RTCSA '96 Proceedings of the Third International Workshop on Real-Time Computing Systems Application
The Performance of Concurrent Red-Black Tree Algorithms
The Performance of Concurrent Red-Black Tree Algorithms
Introduction to Algorithms, Third Edition
Introduction to Algorithms, Third Edition
Understanding the behavior of transactional memory applications
Proceedings of the 7th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging
A practical concurrent binary search tree
Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
High-performance concurrency control mechanisms for main-memory databases
Proceedings of the VLDB Endowment
Hi-index | 0.00 |
Modern computer architectures provide high performance computing capability by having multiple CPU cores. Such systems are also typically associated with very large main-memory capacities, of the order of tens to hundreds of gigabytes, thereby allowing such architectures to be used for fast processing of in-memory databases applications. However, most of the concurrency control mechanism associated with the index structures of these memory resident databases do not scale well, under high transaction rates due to the overhead incurred. This paper presents the O2-Tree, a fast main memory resident index, which is highly scalable and tolerant of high transaction rates in a concurrent environment using the relaxed balancing tree algorithm. The O2-Tree is a modified Red-Black tree in which the leaf nodes are formed into blocks that hold key-value pairs, while each internal node stores only a single key that results from splitting leaf nodes in a manner reminiscent of the B+-Tree. The scheme adopts well to implementing key-value store as in the NoSQL database. Multithreaded concurrent manipulation of the O2-Tree, in shared memory outperforms popular NoSQL based key-value stores considered in this paper. An added feature of the scheme is its resiliency to system failure since the memory resident index can be restored from the minimum keys in each of the leaf nodes.