gpt4 book ai didi

c++ - 编写 DBMS 的技巧

转载 作者:可可西里 更新时间:2023-11-01 16:03:50 27 4
gpt4 key购买 nike

我参加了一个研究生类(class),这只是一个大项目 - 编写 DBMS。

我们的目标不是重新发明轮子和制造企业 DBMS 来与 Oracle 竞争。只需要支持一小部分 SQL 命令。创建一些用于存储多媒体或其他东西的奇特混合模型 DBMS 的目标也不是。它必须是传统的 RDBMS。

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

我只是想知道是否有关于查询评估、优化器、适合 DBMS 的数据结构或基本上任何可以帮助我创建出色项目的资源。例如,教授正在抛出诸如元编程之类的术语。

项目必须完全用 C++ 完成。


感谢到目前为止的回复!我无法优化现有的 DBMS,例如 MySQL,因为该项目需要您从头开始构建自己的 DBMS。是的,我知道这在很大程度上是在重新发明轮子,但是还有一些新颖的查询评估和优化算法的余地。如果您知道处理这个特定领域的任何好的资源或书籍,请告诉我!

最佳答案

首先你需要了解关系演算并制作一个编译器来处理从 sql 生成它,幸运的是 sql 是一种简单的语言而且这还不错。

然后熟悉索引的 bx 树。然后创建一个提交和回滚空间,这就是它的全部内容。与您可能从事的其他项目相比,这不是火箭科学,但如果您想在学期/学年结束时取得好成绩,那绝对是您最好立即开始的事情。

编辑:哦,就现代架构而言,树通常不会从多线程中获益太多。磁盘读取也不行。另一方面,使用操作系统级调用使用整个内存对于高性能至关重要,而不仅仅是进程中通常可寻址的内存。

关于c++ - 编写 DBMS 的技巧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2031922/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com