diff --git a/README.md b/README.md index 7dffb0eb4c0490613d22051c361a3031bf1bed9f..763ce7b35711faa62a97673cde112a182d05825b 100644 --- a/README.md +++ b/README.md @@ -10,23 +10,23 @@ miniob 设计的目标是面向在校学生、数据库从业者、爱好者, 为了帮助开发者更好的上手并学习 miniob, 建议阅读: -1. [miniob 框架介绍](https://github.com/oceanbase/miniob/blob/main/docs/miniob-introduction.md) -2. [如何编译 miniob 源码](https://github.com/oceanbase/miniob/blob/main/docs/how_to_build.md) -3. [使用 GitPod 开发 MiniOB](docs/dev_by_gitpod) -4. [开发环境搭建(本地调试, 适用 Linux 和 Mac)](https://github.com/oceanbase/miniob/blob/main/docs/how_to_dev_miniob_by_vscode.md) -5. [开发环境搭建(远程调试, 适用于 Window, Linux 和 Mac)](https://github.com/oceanbase/miniob/blob/main/docs/how_to_dev_in_docker_container_by_vscode.md) -6. [miniob 词法语法解析开发与测试](https://github.com/oceanbase/miniob/blob/main/docs/miniob-sql-parser.md) +1. [miniob 框架介绍](docs/miniob-introduction.md) +2. [如何编译 miniob 源码](docs/how_to_build.md) +3. [使用 GitPod 开发 MiniOB](docs/dev_by_gitpod.md) +4. [开发环境搭建(本地调试, 适用 Linux 和 Mac)](docs/how_to_dev_miniob_by_vscode.md) +5. [开发环境搭建(远程调试, 适用于 Window, Linux 和 Mac)](docs/how_to_dev_in_docker_container_by_vscode.md) +6. [miniob 词法语法解析开发与测试](docs/miniob-sql-parser.md) -更多的文档, 可以参考 [docs](https://github.com/oceanbase/miniob/tree/main/docs), 为了帮助大家更好的学习数据库基础知识, OceanBase 社区提供了一系列教程, 建议学习: +更多的文档, 可以参考 docs 目录下的文档, 为了帮助大家更好的学习数据库基础知识, OceanBase 社区提供了一系列教程, 建议学习: 1. [《从0到1数据库内核实战教程》 视频教程](https://open.oceanbase.com/activities/4921877?id=4921946) 2. [《从0到1数据库内核实战教程》 基础讲义](https://github.com/oceanbase/kernel-quickstart) -3. [《数据库管理系统实现》 华中科技大学实现教材](https://github.com/oceanbase/miniob/blob/main/docs/lectures/index.md) +3. [《数据库管理系统实现》 华中科技大学实现教材](docs/lectures/index.md) ## 系统架构 miniob 整体架构如下图所示: -![架构](https://github.com/oceanbase/miniob/blob/main/docs/images/miniob-introduction-sql-flow.png?raw=true) +![架构](docs/images/miniob-introduction-sql-flow.png) 其中: @@ -40,7 +40,7 @@ miniob 整体架构如下图所示: - 查询缓存:将执行的查询结果缓存在内存中,下次查询时,可以直接返回(未实现); -- 查询优化:根据一定规则和统计数据,调整/重写语法树。(部分实现); +- 查询优化:根据一定规则和统计数据,调整/重写语法树。(部分实现); - 计划执行:根据语法树描述,执行并生成结果; @@ -65,7 +65,7 @@ OceanBase 初赛基于一套适合初学者实践的数据库实训平台 miniob ### 2. 大赛赛题 -[赛题介绍](https://github.com/oceanbase/miniob/blob/main/docs/miniob_topics.md) +[赛题介绍](docs/miniob_topics.md) ### 3. 提交测试 @@ -73,7 +73,7 @@ OceanBase 初赛基于一套适合初学者实践的数据库实训平台 miniob 在提交前, 请参考并学习 [训练营使用说明](https://ask.oceanbase.com/t/topic/35600372) -客户端输出需要满足一定要求,如果你的测试结果不符合预期,请参考 [miniob 输出约定](https://github.com/oceanbase/miniob/blob/main/docs/miniob-output-convention.md)。 +客户端输出需要满足一定要求,如果你的测试结果不符合预期,请参考 [miniob 输出约定](docs/miniob-output-convention.md)。 ### 4. 大赛FAQ @@ -89,7 +89,7 @@ OceanBase 初赛基于一套适合初学者实践的数据库实训平台 miniob ## Contributing -OceanBase 社区热情欢迎每一位对数据库技术热爱的开发者,期待携手开启思维碰撞之旅。无论是文档格式调整或文字修正、问题修复还是增加新功能,都是对 OceanBase 社区参与和贡献方式之一,立刻开启您的 First Contribution 吧!更多详情, 请参考 [社区贡献](https://github.com/oceanbase/miniob/blob/main/CONTRIBUTING.md). +OceanBase 社区热情欢迎每一位对数据库技术热爱的开发者,期待携手开启思维碰撞之旅。无论是文档格式调整或文字修正、问题修复还是增加新功能,都是对 OceanBase 社区参与和贡献方式之一,立刻开启您的 First Contribution 吧!更多详情, 请参考 [社区贡献](CONTRIBUTING.md). ## License diff --git a/docs/miniob-introduction.md b/docs/miniob-introduction.md index 064875800d206f296e3a0ec058c2e522486b0baf..16239abf9118ef7b490268ce304f8d35990f3a2b 100644 --- a/docs/miniob-introduction.md +++ b/docs/miniob-introduction.md @@ -140,7 +140,7 @@ miniob采用TCP通信,纯文本模式,使用'\0'作为每个消息的终结 # 附录-编译安装测试 ## 编译环境 -miniob使用cmake管理,要求cmake版本至少3.10,编译的C++标准是C++14,所以使用的编译器需要支持C++14。 +miniob使用cmake管理,要求cmake版本至少3.10,编译的C++标准是C++20,所以使用的编译器需要支持C++20。 编译器推荐使用gcc或clang,使用Windows操作系统的同学,建议使用Linux虚拟机或docker编译,程序会最终在Linux操作系统上测试。