我刚读了一篇有关SQL Server下一版本的"in memory OLTP"的文章;它提到CTP2中将加入BW-Tree和哈希索引。那么,什么是BW-Tree?是否有人可以简要解释一下,而不必让我(和其他人)阅读12页的研究论文呢?
简而言之,BW-Tree是一种针对内存和高并发进行优化的B-Tree。
针对内存方面,页面大小可变且始终紧密排列;没有部分填充页面。
针对高并发方面,该数据结构完全无需锁定和同步操作,支持并发DML而不会阻塞。
来自微软:
我们的新型B树被称为Bw-Tree,通过无锁化实现了非常高的性能,并有效地利用了现代多核芯片的处理器缓存。我们的存储管理器使用了一种独特的日志结构形式,模糊了页面和记录存储之间的区别,并且与闪存存储良好兼容。
您可以在这里阅读PDF文档。