tokyo cabinet源代码分析(1)

来源:互联网 发布:怎么做好网络咨询护士 编辑:程序博客网 时间:2024/04/29 03:29

1.基本介绍

tokyo cabinet是key value数据库(官方主页为:http://fallabs.com/tokyocabinet/),由日本人开发应用比较广泛,作者本人是在日本的一个社交网站工作(貌似是日本国内最大的)。张宴的blog对其在金山公司的应用有相应的阐述。

toky cabinet数据库主要的实现有:(1)HASH 结构;(2)B+树结构;(3)Fixed-Length结构;(4)Abstract 结构。

由于key value数据库本身的实现涉及到数据结构、内存组织、文件读写等多个方面,对于其中的实现细节能够有了解,对于数据结构、程序设计功底有较高的提升。所以打算对于tokyo cabinet的源代码进行一个分析。先主要对于abstract类型数据库进行一个分析。

2. Abstract database

 Abstract数据库主要是通过内存实现Hash 数据库,B+树数据库等。主要对于Hash结构进行分析。

2.1 Abastrat数据库主要数据结构

 先对于TCADB的初始化进行分析。

 其中,根据初始化传入参数不同,建立不同类型数据库。

2.2TCADB数据库打开操作

   通过tcadbopen打开数据库,并对于TCADB结构体指针进行初始化。

   由于是实现hash database,对于TCMDB结构体进行初始化。

  

 2.2.1 TCMDB结构

  TCMDB结构是on-memory hash database。

其中TCMAP结构是MAP数组。

MAP结构中含有Hash buckets数组。

 

 

 

 

原创粉丝点击