项目简介
LumiDB 是一个简易的内存型数据库管理系统,支持特定的查询 DSL 进行数据库操作,具备交互式命令行工具,还能以动态链接库的形式拓展功能。该项目致力于提供功能完善、易于扩展且高效的数据处理平台。
项目的主要特性和功能
- 支持创建、删除、更新和查询数据库及表等基本操作。
- 提供丰富的查询语言,支持组合函数查询。
- 交互式命令行工具具备 REPL 功能,支持语法补全和高亮。
- 允许用户注册自定义函数以扩展系统功能。
- 通过动态链接库支持插件拓展系统功能。
- 可从 CSV 文件中导入数据。
- 提供 max、min、avg 等丰富的聚合函数用于数据分析。
- 支持根据特定字段对数据进行排序和过滤。
- 能通过插件功能注册定时任务。
安装使用步骤
前提条件
确保系统已安装 C++ 编译器(如 Clang++ 或 g++),同时需安装 CMake 构建工具。
编译与运行
- 复制项目到本地或下载源码文件。
- 打开终端,进入项目目录。
- 使用 CMake 构建项目:
cmake ..
。 - 编译项目:
make
。 - 运行 LumiDB 命令行工具:
./build/lumidb
。
插件使用
- 编译插件(如
liblumidb-timer-plugin.so
)。 - 在 LumiDB 命令行中加载插件:
load_plugin ./path/to/plugin
。 - 使用插件提供的函数。
- 卸载插件时,使用
unload_plugin
命令。
测试
项目单元测试代码和集成测试代码分别位于 test/
和 e2e/
目录下。运行 make test
执行单元测试,运行 make e2e
执行集成测试。
文档
项目详细设计文档在 [DESIGN.md] 中。
注意:此项目主要用于学习或研究,展示特定技术实现和功能设计。在实际生产环境使用前,请充分评估和优化。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】