关于数据库B Tree索引
来源:12-1 平衡树和AVL
kxning
2018-06-18
请问下老师有没有B-Tree B+Tree B*Tree方面的资料推荐,想研究下索引结构的原理,谢谢。
1回答
-
在通用教材方面,《算法导论》B树一章专门讲解了B树的基本原理,应该是最容易access到的材料:)
wiki从来都是一个好地方,可以对某一个topic有整体性的认识,同时在综述中不失有各种引向更加细节讨论的链接。wiki上的B树传送门:
B树:https://en.wikipedia.org/wiki/B-tree
B+:https://en.wikipedia.org/wiki/B%2B_tree
如果对具体实现感兴趣,GeeksforGeeks的B-Tree专题介绍给出了C++实现:
PART 1:https://www.geeksforgeeks.org/b-tree-set-1-introduction-2/
PART 2:https://www.geeksforgeeks.org/b-tree-set-1-insert-2/
PART 3:https://www.geeksforgeeks.org/b-tree-set-3delete/
从道理上互联网上应该还有很多其他语言实现的代码内容,有兴趣可以根据自己熟悉的语言再搜索一下。
在具体结合数据库方面,有一个小有名气的代码仓,实现了一个小型数据库的内核,其中的主要数据结构当然使用B树啦。代码仓:https://github.com/cstack/db_tutorial
同时,他写了一本小书,描述整个实现过程。所有的内容可以免费在网上浏览,不过比较简略。传送门:https://cstack.github.io/db_tutorial/
《数据库系统概念》这本书(Database System Concepts)在第十一章专门介绍了B树在大型数据库系统中的使用原理。不过由于我不是专业搞数据库的,没有看过这种这么专门介绍数据库系统的书籍。这本书的最新版目录可以在网上找到。传送门:http://codex.cs.yale.edu/avi/db-book/db6/toc-dir/toc.pdf 如果有必要也可以参考:)
加油!
712018-06-23
相似问题