项目简介
PageHouse是一个嵌入式的Key-Value存储引擎,能处理任意字节大小的键值对,其中键(PageId)和值(Page)均可为任意字节。它支持大值存储、快照、引用和外部值存储等多种高级功能,适用于对高性能和灵活存储有需求的应用场景。
项目的主要特性和功能
- 大值存储:可存储任意大小的值,尤其适合64KiB到64MiB的大值。
- 快照支持:支持快照功能,可在一致视图上进行读取操作,保证数据一致性。
- 引用支持:具备引用功能,类似于文件系统硬链接,可存储对另一个页面的引用。
- 外部值存储:支持将实际值数据存于任意位置(如本地磁盘或对象存储),并在PageHouse中存储链接。
- 资源效率:优化读写操作的系统调用次数,实现资源高效利用。
安装使用步骤
前提
假设用户已经下载了本项目的源码文件。
具体步骤
- 编译项目:使用CMake工具进行项目编译,生成可执行文件。
bash mkdir build cd build cmake .. make
- 配置文件:根据实际需求,编辑配置文件以设置存储路径、缓冲区大小等参数。
- 运行程序:执行生成的可执行文件,启动PageHouse服务。
bash ./pagehouse
- 使用API:通过提供的API接口进行数据读写操作,具体API使用方法请参考项目文档。
注意:PageHouse目前尚未达到生产环境使用的标准,请勿在生产环境中使用。PageHouse曾作为TiFlash的一部分使用,未来可能会有进一步的优化和改进。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】