3 ms·
> Our investigation revealed that in case of frequent insertions and deletions Tarantool initiated a complex process of tree rebalancing (all our indexes were o
by bigbes 10y ago
> Our investigation revealed that in case of frequent insertions and deletions Tarantool initiated a complex process of tree rebalancing (all our indexes were of TREE type).
It's all about 1.5. New version (1.6) uses brand new bps-tree, not sg/avl-tree. It behaves better on all workloads.
AVLTree was "temporary" hack. Our implementation works better, for their needs. BTW - AVL is not bad, but it's hard to implement a good one (believe me :) ).
- Robin_Message 10y agoNice. Yeah, AVL is definitely okay but it makes me happy to hear something better is in there :) What sort of tree is this new bps-tree?
- bigbes 10y agobps-tree means B+-tree: unique combination of B+ and B tree. You can read wiki or "The Ubiquitous B-Tree" whitepaper https://wwwold.cs.umd.edu/class/fall2002/cmsc818s/Readings/b-tree.pdf https://wwwold.cs.umd.edu/class/fall2002/cmsc818s/Readings/b... . You may read code of it here: https://github.com/tarantool/tarantool/blob/1.6/src/lib/salad/bps_tree.h https://github.com/tarantool/tarantool/blob/1.6/src/lib/sala... . It's very thoroughly commented.