第七节 总结

本章我们主要介绍了boltdb中比较核心的两个数据结构:Bucketnode。为什么这两个数据结构放在一起介绍呢?答案是在boltdb中一个Bucket就对应一颗b+树。而b+树的结构(根节点、叶子节点、非叶子节点)、组织都是通过node来完成的。这也是为什么把他们放在一起介绍的主要原因。

在介绍中,我们主要围绕Bucket的创建获取删除遍历增删改kv等操作进行展开。其次在遍历时,就引入了Cursor数据结构,一个Bucket对象(一颗b+树)的遍历在boltdb中时通过一个栈来维护遍历的路径来完成的。这也是Cursor中stack的意义。

其次Bucket中对kv的操作都反应到底层的node上,因此我们又同时介绍了node的相关方法,例如putgetdelspillrebalance

最后到此为止,我们的数据时如何存储的、组织的。以及内存和磁盘数据时如何转换映射的,我们就清楚了。下章将介绍boltdb中的事务了。有了事务我们的数据库才称得上是一个完备的数据库。