项目:用 C/C++ 从头开始实现 SQL-RDBMS
C/C++ 项目开发、系统编程、实现 Postgresql 克隆、SQL 解析器、B+ 树、查询执行计划
讲师:Abhishek CSEPracticals
口袋资源独家Udemy付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
你将学到什么
- 如何使用词法分析器工具编写 (SQL) 解析器
- 如何解析和评估表达式(数学或逻辑表达式)
- 用 C 语言和各种 SQL 查询从头开始实现 RDBMS 内部结构
- 高级数据结构,例如 B+Tree、Hashtables 等
- 在磁盘上存储/组织数据并按需检索
- 实施SQL查询执行计划
要求
- 应该了解基本的 SQL 查询或具有 SQL RDBMS 的一些经验
- 精通 C/C++ 编程语言,具有中级编程水平
- 虚拟内存的基础知识,以及 malloc/free 的工作原理
- 热衷于学习,而不是寻找借口为什么不参加这门课程
- B+树的理论知识(为什么它们最适合RDBMS)
描述
** 2023 年 12 月 29 日 开发中 **
本课程是关于学习RDBMS 的内部设计和实现的。您曾多次使用 RDBMS 并编写了一些 SQL 查询 – 但是,从未考虑过 RDBMS 内部如何工作。本课程正是关于这一点的。
本课程不是关于学习 SQL 查询或如何使用 RDBMS。本课程面向开发人员。
我们将逐步探索 – 设计、实现、数据结构和算法,它们共同作用使您的 SELECT 查询发挥作用!
本课程将分为两门课程 – 在第一门课程(本课程)中,我们将实现一个基本的工作 RDBMS(PostgreSQL 克隆),它可以处理基本的 SQL 选择、创建、插入和删除查询。我们将通过支持聚合函数、联接、Where 和 Group by Clauses 等高级功能来进一步增强功能。还可以支持嵌套查询。该RDBMS完全存在于RAM中,并且所有数据将在进程终止时消失。
在课程的后续部分中,我们将把 RDBMS 实现放到磁盘上进行持久存储(就像真正的 RDBMS 所做的那样),并实现其他数据库复杂性,例如并发读取器/写入器、预写日志记录 (WAL)、事务、数据库更新挂钩等
与您的教授交谈– 将其作为学期或最后一年的项目进行。祝你好运!
不用说 – 这门课程是高级课程,适合那些追求知识和卓越而不是学位和工作的冠军。
警告:本课程的级别为中级到高级。那些仍在基本数据结构上苦苦挣扎的人,最好原谅这门课程。您应该彻底地进行编码。
本课程适合谁:
- 学生 – 开发者简介
- 工作专业人士
- RDBMS 开发人员或从事类似技术的开发人员