Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is a Bw-tree?

I have just read a paper on "in memory OLTP" for the next version of SQL server; it mentions BW-Tree as being added as well as hash indexes in CTP2.

So what is a BW-Tree? Can someone explain a bit about it without me (and everyone else) having to read a 12 page research paper.

like image 898
Ian Ringrose Avatar asked Sep 17 '13 20:09

Ian Ringrose


People also ask

What B-tree means?

In computer science, a B-tree is a self-balancing tree data structure that maintains sorted data and allows searches, sequential access, insertions, and deletions in logarithmic time. The B-tree generalizes the binary search tree, allowing for nodes with more than two children.

What are B trees used for?

A B-tree is a tree data structure that keeps data sorted and allows searches, insertions, and deletions in logarithmic amortized time. Unlike self-balancing binary search trees, it is optimized for systems that read and write large blocks of data. It is most commonly used in database and file systems.

What is a B-tree height?

Number of keys Hence, a B-tree with n keys has a height at most 1+ logb((n+1)/2). This means that search time is O(log n). B-trees are often used as representations for very large dictionaries. There are two main ways to store the items associated with each key: 1.


1 Answers

In a nutshell, a bw-tree is a kind of b-tree that is optimized for in-memory and for high concurrency.
For in-memory: the pages are variable-size and always tightly packed; there are no partially-filled pages
For high-concurrency: the data structure is completely latch- and lock-free to support concurrent DML without blocking.

like image 78
Jos de Bruijn - MSFT Avatar answered Sep 18 '22 05:09

Jos de Bruijn - MSFT