B 树还是 B+树
严格意义来讲,所有的国内涉及B+或者B tree的描述都没说到重点,以讹传讹,全是误导。
国内对MongoDB/wiredtiger研究确实很少,包括很多大厂分享的不管wiredtiger文章都有误。严格意义上来说,wiredtiger是一种"特殊"的B+树,这里的特殊是因为一般的B+ tree为了方便范文查询,叶子节点之间通过链表链接起来。
wiredtiger这里的"特殊"体现在,叶子节点简的链表结构是没有的,但是通过另一种算法方式达到了通用的效果,简单来说就是ref数组。
正在和MongoDB存储引擎团队写一本wiredtiger核心实现的数据,后续会更加详细的来补充这里的"特殊"B+ TREE中的特殊。
Loading...