- 本仓库代码版权归属于Koschei(原沈阳工业大学DataDance团队)所有,依据木兰宽松许可证,第2版开源。
- 严禁任何参赛队伍直接提交本仓库代码或其主要部分至全国大学生计算机系统能力大赛-数据库管理系统设计赛平台。技术委员会已对本仓库代码进行备案,可通过代码相似度检测工具识别抄袭行为。
依据大赛技术方案要求:
"参赛队需独立构造数据库系统,允许部分代码参考遵循开源协议的数据库系统或软件模块,但不能够直接使用第三方库或开源代码(包括但不限于往届比赛参赛作品)来完成系统功能..."
本仓库已采取以下防抄袭措施:
- 植入代码指纹标识(包括但不限于特定注释格式、变量命名特征等)
- 关键算法段包含可检测的代码模式
- 提交历史记录完整保留开发过程证据
- 本仓库仅限用于数据库系统学习交流,任何个人或团队因违规使用本代码参赛导致的资格取消、学术处分等后果,责任自负。
- 钻石赞助商RushDB 实验室与本届参赛代码无直接关联,其品牌展示不构成技术背书。
- 项目维护者不承担以下责任:
- 他人违规使用代码引发的法律纠纷
- 基于本代码二次开发产生的系统缺陷
- 比赛规则变更导致的兼容性问题
建议学习参考者:
- 通过Fork方式建立个人学习分支
- 修改代码时保留原始版权声明
- 关键算法重构而非直接复制
- 用于教学实验时注明出处
全国大学生计算机系统能力大赛数据库管理系统赛道,以培养学生“数据库管理系统内核实现”能力为目标。本次比赛为参赛队伍提供数据库管理系统代码框架RMDB,参赛队伍在RMDB的基础上,设计和实现一个完整的关系型数据库管理系统,该系统要求具备运行TPC-C基准测试(TPC-C是一个面向联机事务处理的测试基准)常用负载的能力。
RMDB由中国人民大学数据库教学团队开发,同时得到教育部-华为”智能基座”项目的支持,平台、赛题和测试用例等得到了全国大学生计算机系统能力大赛数据库管理系统赛道技术委员会的支持和审核。系统能力大赛专家组和101计划数据库系统课程工作组给予了指导。
队伍学校:沈阳工业大学
队伍名称:DataDance
队伍成员:吴奕民、张梦圆
钻石赞助:RushDB 实验室(声明:本仓库代码与RushDB无任何关系,所有基于本仓库的二次修改请删除此行)
初赛完成度(100%),决赛完成度(99%,还有更多优化空间)。
决赛所使用的 TPC-C测试脚本 一并开源。
Final-Competition 版本,最后在决赛赛后通道跑到上限 8w tpmc,期待 25 年🈶队伍能打出新的战绩。
25 年受服务器性能波动太大,上限在 10w-16w tpmC,由 RushDB 和 Dase106 两支队伍共同打破。决赛排行榜最高分为96557(Dase106)。
目前的优化空间疑似受服务器性能波动而大幅度受限。
参赛过程各阶段代码均以分支形式归档。
目前主分支(main)不定期维护开发。
阶段 | 题目名称 | 分支链接 |
---|---|---|
初赛 | 缓冲池管理 | Task1-StorageManagement |
初赛 | 查询执行 | Task2-QueryExecution |
初赛 | 唯一索引 | Task3-UniqueIndex |
初赛 | 聚合算子 | Task4-AggGroup |
初赛 | 不相关子查询 | Task5-IrrSubquery |
初赛 | 归并查询 | Task6-SortMerge |
初赛 | 事务控制 | Task7-TxnControl |
初赛 | 冲突可串行化 | Task8-ConflictSerial |
初赛 | 间隙锁 | Task9-GapLock |
初赛 | 静态检查点 | Task10-StaticCheckpointRecovery |
初赛 | 性能测试 | Task11-Performance |
决赛 | TPC-C Benchmark | Final-Competition |
- 操作系统:Ubuntu 18.04 及以上(64位)
- 编译器:GCC
- 编程语言:C++17
- 管理工具:cmake
- 推荐编辑器:VScode
- gcc 7.1及以上版本(要求完全支持C++17)
- cmake 3.16及以上版本
- flex
- bison
- readline
欲查看有关依赖运行库和编译工具的更多信息,以及如何运行的说明,请查阅RMDB使用文档
欲了解如何在非Linux系统PC上部署实验环境的指导,请查阅RMDB环境配置文档
RMDB采用木兰宽松许可证,第2版,可以自由拷贝和使用源码, 当做修改或分发时, 请遵守木兰宽松许可证,第2版.