目标不是重塑轮胎,使企业DBMS与Oracle竞争.只需要支持一小部分sql命令.也不是为了存储多媒体或某些东西而创建一些奇特的混合模型DBMS.它必须是传统的RDBMS.
该项目的主要目标是使用编程技术来利用现代架构(多核处理器)构建高性能数据库(速度,加载).
我只是想知道是否有任何资源查询评估,优化器,数据结构理想的DBMS或基本上任何可以帮助我创建一个突出的项目.这位教授正在围绕诸如元编程的术语.
该项目必须完全在C中完成.
感谢至今的回复!我无法优化现有的数据库管理系统(如MySQL),因为该项目需要您从头开始构建自己的DBMS.是的,我知道这大部分都是重新发明,但有一些新颖的查询评估和优化算法.如果你知道任何与这个特定领域有关的资源或书籍,那么请告诉我!
解决方法
> WAM – 沃伦抽象机.将编程代码编译成可以在抽象机器上执行的一组指令.这个想法与jvm和cli相似.您不需要详细介绍,只需了解抽象机的想法.
> JVM,CLI – 与上述相同.
>工具,如lex,yacc,flex,bison.由于您将基本上为sql命令编写一个解释器/编译器,您可能需要使用一些工具.这可以被视为元编程的一种形式,因为你正在使用一种语言来编写一个工具 – 所以你是在元级编程.
>再次,元编程的想法 – 也许您可以使用将允许您的sql编译器/解释器自动优化并行查询的构造来增强语言.这些可以作为编译器的提示等来实现.
>重新编译器 – 您可能需要编写一个解释器/编译器,将初始查询重新编译为可以针对目标架构并行运行的查询.例如,对于N核架构,它可能会将查询重新编译为并行执行的N子查询,然后组合结果.
我不知道你应该对标准优化实践进行大量的研究.这些可以是复杂的,而且是一生中自己研究的课题.由于练习的目的是利用并行处理和元编程,那应该是您研究的重点.