V0.2
目前已完成《从零构建向量数据库》前四章所有内容,并在此之上做如下优化:
代码架构
将代码结构化,添加CMakeList一键编译;
添加三方库一键编译;
添加vectordb_config文件
将涉及的路径、端口等用config文件进行配置
读取config文件进行配置解析,采用Cfg单例来读取解析后的配置内容
单元测试
添加google test并加入cmake,支持编译运行单元测试
目前添加了部分单元测试
堆栈跟踪美化打印
添加backward-cpp
只需在CMakeList中添加需要backward的target即可
例如add_backward(vdb_server)
添加代码规范检查
添加 clang-tidy,clang-format
添加单例抽象类
添加单例模板类,将IndexFactory改造为真正的单例模式
压缩WAL日志文件
采用snappy压缩算法,对WAL进行压缩及解压缩,减少WAL文件所占空间