项目简介
MiniOB是OceanBase与华中科技大学联合开发的数据库入门实践工具,主要面向在校学生。其诸多模块做了简化,不考虑并发操作,旨在帮助学生快速了解数据库并深入学习数据库内核,使学生对数据库内核各模块功能及其关联有所认知,从而在使用数据库时能设计出高效的SQL。
项目的主要特性和功能
- 数据库内核学习工具:助力学生快速了解并深入学习数据库内核,明晰各模块功能及关联。
- SQL解析与执行:支持创建表、创建索引、插入数据、更新数据、删除数据等SQL命令的解析与执行。
- 事务处理:提供事务的开始、提交和回滚功能,保障数据的一致性和完整性。
- 日志管理:实现日志的生成、添加、同步、恢复及获取事务管理器等功能,确保操作可追溯与数据安全。
- 内存管理:借助内存池管理器和磁盘缓冲池,优化内存分配与释放,提升数据库性能和稳定性。
- 文件与目录操作:支持文件和目录的创建、打开、关闭、删除、读写和定位等操作,保障数据库文件的正确管理。
- 多线程支持:通过线程池和事件驱动架构(SEDA),支持多线程并发操作,提高并发处理能力。
- 性能监控:提供度量指标的收集和报告功能,便于监控和分析数据库性能。
安装使用步骤
环境准备
- 确保系统已安装C++编译器(如GCC)和CMake。
- 安装必要的依赖库,如libevent、gtest等。
获取源码
下载源码的zip压缩包并解压。
编译源码
- 进入项目目录:
cd miniob
- 创建构建目录:
mkdir build && cd build
- 运行CMake配置:
cmake ..
- 编译项目:
make
启动数据库
- 运行编译生成的可执行文件:
./observer
- 数据库启动后,可通过客户端工具(如obclient)连接到数据库并执行SQL命令。
执行测试
- 运行单元测试:
./unitest/unitest_test
- 运行性能测试:
./perf/client_performance_test
提交测试
完成测试后,可在MiniOB训练营上提交代码进行测试。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】