Affects Version/s: 0.8
Fix Version/s: None
Component/s: Database Core
Skill Level:Committers Level (Medium to Hard)
Also, the current Btree implementation isn't completely self balanacing. It
misses a balancing condition, partially for efficiency (it's an expensive
balancing operation), and for expediency. It was easier to not implement it and
gets the general case perormance boost.
The thing about this is, the btree code can remain as is if the indexing
compaction just recopies the map values (and back indexes) and recomputes the
reduction values. That's a very simple design, however, if the btree is
completely self balancing, then the btree can be copied on a node by node basis,
instead of a value by value basis, and the reduction values need not be
recomputed all. This will make the compaction significantly faster overall.