Skip to content

imostro/SimpleDB

Repository files navigation

SimpleDB

一个简单的数据库系统实现。该系统来源于美国Berkeley大学的cs186课程,并结合了《数据库系统概论》和《数据库系统实现》两本书实现了关系型数据库的一些必要算法。

课程的官网地址:https://sites.google.com/site/cs186fall2013/home

系统已实现的功能:

  1. 实现了支持Int和固定长String两种类型数据字段。
  2. 实现了内存缓存池,包括内存驱逐策略(LRU)和简单的事务锁。
  3. 实现了数据库查询执行中一个重要的算法,双缓存块嵌套循环连接算法。
  4. 实现了基于堆的顺序文件存储表数据。
  5. 可以完成一些简单的查询工作,如简单的选择,联接,插入,删除语句。
  6. 实现了由逻辑执行计划转化为物理执行计划,并对查询计划进行运算估计和做出优化。

总结

该系统实现了可以完成一些简单的数据库选择,联接,插入,删除等操作。通过该项目可以初步的了解到了一个到关系型数据库内部是如何运作的,以及它内部有哪些重要的算法来保证数据库的对查询的高效处理。

不足:

  1. 数据库的存储只是通过基于堆的顺序文件还存储数据,没有实现基于B+树来存储。
  2. 仅支持Int和String两种字段类型。
  3. 事务锁仅仅支持锁页,没有实现行锁和表锁。
  4. 没有完成日志系统,对于系统故障不能进行恢复。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages