W-tree is a natural generalization of B<sup>+</sup>-tree. Operations in B<sup>+</sup>-tree are executed synchronously (one by one), while in W-tree, operations are executed asynchronously (in groups). When an operation enters B<sup>+</sup>-tree it ”sinks” up to its respective leaf. When an operation enters W-tree, it ”stops” in the first node which is not overloaded. Operations in W-tree accumulate in its internal nodes. When a certain internal node overloads with operations, the branch with the greatest number of operations adjacent to it is selected and they are ”poured down” the tree. The W-tree data structure solves the problem of speed degradation when indexing records with random keys.