Concurrency control in database structures with relaxed balance
PODS '87 Proceedings of the sixth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
On-the-fly optimization of data structures
Communications of the ACM
Efficient Rebalancing of Chromatic Search Trees
SWAT '92 Proceedings of the Third Scandinavian Workshop on Algorithm Theory
Skip Lists: A Probabilistic Alternative to Balanced Trees
WADS '89 Proceedings of the Workshop on Algorithms and Data Structures
A dichromatic framework for balanced trees
SFCS '78 Proceedings of the 19th Annual Symposium on Foundations of Computer Science
Relaxed multi-way trees with group updates
PODS '01 Proceedings of the twentieth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
A new method for updating and rebalancing tree-type main memory dictionaries
Nordic Journal of Computing
Search Trees with Relaxed Balance and Near-Optimal Height
WADS '01 Proceedings of the 7th International Workshop on Algorithms and Data Structures
Complexity of Layered Binary Search Trees with Relaxed Balance
ICTCS '01 Proceedings of the 7th Italian Conference on Theoretical Computer Science
The Performance of Concurrent Red-Black Tree Algorithms
WAE '99 Proceedings of the 3rd International Workshop on Algorithm Engineering
Relaxed multi-way trees with group updates
Journal of Computer and System Sciences - Special issu on PODS 2001
Deleting keys of B-trees in parallel
Journal of Parallel and Distributed Computing
Journal of Parallel and Distributed Computing
Concurrent operations of O2-tree on shared memory multicore architectures
ADC '13 Proceedings of the Twenty-Fourth Australasian Database Conference - Volume 137
Hi-index | 0.00 |
Chromatic trees were defined by Nurmi and Soisalon-Soininen, as a new type of binary search tree for databases. The aim is to improve runtime performance by allowing a greater degree of concurrency, which, in turn, is obtained by uncoupling updating from rebalancing. This also allows rebalancing to be postponed completely or partially until after peak working hours. The advantages of the proposal of Nurmi and Soisalon-Soininen are quite significant, but there are definite problems with it. First, they give no explicit upper bound on the complexity of their algorithm. Second, some of their rebalancing operations can be applied many more times than necessary. Third, some of their operations, when removing one problem, create another. We define a new set of rebalancing operations which we prove give rise to at most @?log"2(N+1)@?-1 rebalancing operations per insertion and at most @?log"2(N+1)@?-2 rebalancing operations per deletion, where N is the maximum size the tree could ever have, given its initial size and the number of insertions performed. Most of these rebalancing operations, in fact, do no restructuring; they simply move weights around. The number of operations which actually change the structure of the tree is at most one per update.