c – 编写DBMS的提示

我已经采取了一个只有一个大项目的研究生课程 – 写一个DBMS.

目标不是重塑轮胎,使企业DBMS与Oracle竞争.只需要支持一小部分sql命令.也不是为了存储多媒体或某些东西而创建一些奇特的混合模型DBMS.它必须是传统的RDBMS.

该项目的主要目标是使用编程技术来利用现代架构(多核处理器)构建高性能数据库(速度,加载).

我只是想知道是否有任何资源查询评估,优化器,数据结构理想的DBMS或基本上任何可以帮助我创建一个突出的项目.这位教授正在围绕诸如元编程的术语.

该项目必须完全在C中完成.

感谢至今的回复!我无法优化现有的数据库管理系统(如MySQL),因为该项目需要您从头开始构建自己的DBMS.是的,我知道这大部分都是重新发明,但有一些新颖的查询评估和优化算法.如果你知道任何与这个特定领域有关的资源或书籍,那么请告诉我!

解决方法

由于您的教授提到元编程,您可能需要查看以下内容

> WAM – 沃伦抽象机.将编程代码编译成可以在抽象机器上执行的一组指令.这个想法与jvm和cli相似.您不需要详细介绍,只需了解抽象机的想法.
> JVM,CLI – 与上述相同.
>工具,如lex,yacc,flex,bison.由于您将基本上为sql命令编写一个解释器/编译器,您可能需要使用一些工具.这可以被视为元编程的一种形式,因为你正在使用一种语言来编写一个工具 – 所以你是在元级编程.
>再次,元编程的想法 – 也许您可以使用将允许您的sql编译器/解释器自动优化并行查询的构造来增强语言.这些可以作为编译器的提示等来实现.
>重新编译器 – 您可能需要编写一个解释器/编译器,将初始查询重新编译为可以针对目标架构并行运行的查询.例如,对于N核架构,它可能会将查询重新编译为并行执行的N子查询,然后组合结果.

我不知道你应该对标准优化实践进行大量的研究.这些可以是复杂的,而且是一生中自己研究的课题.由于练习的目的是利用并行处理和元编程,那应该是您研究的重点.

相关文章

/** C+⬑ * 默认成员函数 原来C++类中,有6个默认成员函数: 构造函数 析构函数 拷贝...
#pragma once // 1. 设计一个不能被拷贝的类/* 解析:拷贝只会放生在两个场景中:拷贝构造函数以及赋值运...
C类型转换 C语言:显式和隐式类型转换 隐式类型转化:编译器在编译阶段自动进行,能转就转,不能转就编译...
//异常的概念/*抛出异常后必须要捕获,否则终止程序(到最外层后会交给main管理,main的行为就是终止) try...
#pragma once /*Smart pointer 智能指针;灵巧指针 智能指针三大件//1.RAII//2.像指针一样使用//3.拷贝问...
目录<future>future模板类成员函数:promise类promise的使用例程:packaged_task模板类例程...