## extend
这个extend的目的是为了完成一个完整的数据库库,一个完整的数据库从的我的设计上看包含以下几个部分
## 基本组件|-内存缓存
|-查询过滤器
|-持久化存储
|-数据序列化
|-数据反序列化
|-LRU缓存
|-辅存操作日志
|-程序运行日志
|-配置文件解析
### 内存缓存 用skiplist作为内存缓存数据结构,skiplist有实现简单,插入删除时间复杂度低,相对红黑树,插入删除调整方便,同时支持连续索引,redis和leveldb都是使用skiplist作为缓存。(目前还有一些操作没有验证,没有实现迭代器) ### 查询过滤器 为了防止出现缓存穿透,提供了相应的过滤器,目前包括bloomfilter和Cuckoofilter来实现数据存在性校验(bloomfilter还没有实现) ### 持久化存储 将数据持久化存储到磁盘上,在持久化存储中使用了lsm-tree来实现高性能写入 ### 数据序列化 ### 数据反序列化 ### LRU缓存 使用LRU算法来实现内存查询缓存 ### 辅存操作日志 防止写入的丢失 ### 程序运行日志 ## sql扩展|-词法分析器
|-语法分析器
## Json扩展|-Json解析器
## 独立服务
|-独立服务器
## 分布式扩展
|-raft一致性算法