Code Monkey home page Code Monkey logo

my-db's Introduction

项目来源

这个项目是我大二学习了数据库系统实现后实操的一个简易的数据库存储引擎,意在巩固知识提高代码能力。 在未来可能会继续完善当做毕设用。

此项目内容

在此仓库中,我会实现一个简易的db,并慢慢补上相关的实现以及个人理解的文章。
使用语言:纯Java。
初版预计实现:

  1. 数据段页式管理
  2. 稠密索引、稀疏索引、辅助索引、Btree。
  3. 查询代价估算
  4. 查询编译器(目前暂不实现)
  5. 实现事务管理(实现 串行化 和 可重复读 级别)以及成组提交
  6. 实现MVCC
  7. UNDO/REDO日志,实现级联回滚
  8. 两次写
  9. 页缓存以及替换的相关组件

目前的架构图

架构图

db的基础

  • 目录
  • 存储管理
    • 磁盘上的数据-定长记录
    • 块与记录的概念-地址转换与指针混写
    • 变长数据-普通记录与blob对象
    • 对记录增删改查
  • 索引结构
    • 什么是索引
    • 顺序文件
    • 稠密索引
    • 稀疏索引
    • 多级索引
    • 辅助索引

my-db's People

Contributors

skyisbule avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.