什么是Bw-tree?

16
我刚读了一篇有关SQL Server下一版本的"in memory OLTP"的文章;它提到CTP2中将加入BW-Tree和哈希索引。那么,什么是BW-Tree?是否有人可以简要解释一下,而不必让我(和其他人)阅读12页的研究论文呢?

更高级别:http://research.microsoft.com/en-us/um/people/justinle/papers/ICDE2013_bwtree.pptx - WiredPrairie
2个回答

19

简而言之,BW-Tree是一种针对内存和高并发进行优化的B-Tree。


针对内存方面,页面大小可变且始终紧密排列;没有部分填充页面。


针对高并发方面,该数据结构完全无需锁定和同步操作,支持并发DML而不会阻塞。


它还可以通过更慢的读取来换取更快的写入,但当树可以在某个时候存储在SSD上时,这是有意义的。 - ady

11

来自微软:

我们的新型B树被称为Bw-Tree,通过无锁化实现了非常高的性能,并有效地利用了现代多核芯片的处理器缓存。我们的存储管理器使用了一种独特的日志结构形式,模糊了页面和记录存储之间的区别,并且与闪存存储良好兼容。

您可以在这里阅读PDF文档。


我使用这种索引技术时发现存储使用量增加,你能确认这是否与BW-Tree索引有关吗? - Roman Gherta

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接