Skip to content

Focus on Database kernel Developent, include Basic Skill Content.

Notifications You must be signed in to change notification settings

opNR/database-develop

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

📔 Database develop RoadMap

Author is a database amateur, so the content is not authoritative, welcome to point out my error.

Since the database course is recommended, only good articles, papers or blogs are listed starting from part 3.

List of Knowledge

1. Description

This repo will not include knowledge about basic programming language. it mainly focus on direction of database kernal development.

The tutorial will include content:

  • Courses
  • Blogs
  • Papers
  • Activities
  • Talks

Ok, The repo include two language content:

  • English Content
  • Chinese Content.

If you have any good materials, welcome to submit a pull request for this repo.

Finally, I would like to thank the professor who provided the Course resource, papper resource Etc. Also thanks the blogger who provided the study notes. Thanks to all content resource providers.

2. Recommended Basic Course and Books

I will not update course notes and labs.

Pre-Skill

You only need to know a programming language.

2.1 Computer Organization and Design

2.1.1 Courses

University ID Name Time Comment
CMU 15-213/14-513/15-513 Intro to Computer Systems(ICS) Fall 2015 CS:APP3e
UC Berkeley CS61C Great Ideas in Computer Architecture (Machine Structures) Spring 2017 N/A
UC Berkeley CS 152/252A Computer Architecture and Engineering Spring 2022 N/A
N/A N/A Crash Course Computer Science bilibili地址

2.1.2 Books

  • Reference Course Resources

2.2 Computer Operating System

2.2.1 Courses

University ID Name Time Comment
Stanford CS110 Principles of Computer Systems Winter 2022
MIT 6.828 Operating System Engineering Fall 2018
UC Berkeley CS162 Operating Systems and System Programming Fall 2020
MIT 6.033 http://web.mit.edu/6.033/www/index.shtml N/A covers four units of technical content: operating systems, networking, distributed systems, and security

2.2.2 Books

  • Reference Course Resources

2.3 Computer Network

2.3.1 Courses

University ID Name Time Comment
Stanford CS144 Introduction to Computer Networking Fall 2021
CMU CS 15-744 Computer Networks Spring 2018
中科大USTC N/A 计算机网络 N/A undergraduate stage
中科大USTC N/A 高级计算机网络 N/A postgraduate stage

2.3.2 Books

  • Reference Course Resources

2.4 Data Structure and Algorithmn

2.4.1 Courses

University ID Name Time Comment
UC Berkeley CS 61B Data Structures Fall 2020
CMU CS 15-122 Principles of Imperative Computation Spring 2023 Past Courses Page 404
CMU CS 15-121 Introduction Data Structures Spring 2018

2.4.2 Books

  • Reference Course Resources

2.5 Algorithms Design and Analysis

2.5.1 Courses

University ID Name Time Comment
UC Berkeley UC Berkeley Efficient Algorithms and Intractable Problems
MIT 6.006 Introduction to Algorithms Spring 2020 Introduction to Algorithmns
CMU CS 15-451/651 Algorithm Design and Analysis Fall 2021
CMU CS 15-850 Advanced Algorithms Fall 2020

2.5.2 Books

  • Reference Course Resources

2.6 Database

2.6.1 Course

University ID Name Time Comment
CMU CS 15-445/645 Database Systems Fall 2022 Instructor: Andy Pavlo
UC Berkeley CS 186 Introduction to Database Systems Spring 2022
Pennsylvania CMPSC 431W Database Management Systems Fall 2015
Stanford CS346 Database System Implementation Spring 2015
uwaterloo CS 448/648 Database Systems Implementation Winter 2009
CMU CS 15-721 Advanced Database Systems Spring 2020 Instructor: Andy Pavlo
CMU CS 15-799 Special Topics: Self-Driving Database Management Systems Spring 2022 Instructor: Andy Pavlo
uwaterloo CS 856 Distributed data management fundamentals (architectures, data placement, query optimization)
Distributed transaction processing, concurrency control, recovery, interoperability
Fall 2002 Only need these two slides, nothing else
N/A N/A Let's Build a Simple Database: Writing a sqlite clone from scratch in C Thanks to cstack

2.6.2 Books

2.6.3 Papers

CS 15-721 Topics Papers

2.7 Distributed System

This Section is for distributed database.

University ID Name Time Comment
MIT 6.824 MIT Distributed Systems Spring 2021 Golang
N/A N/A Distributed Systems
Columbia University COMS 4113 Distributed Systems Fundamentals
CMU CS 15-440 CMU Distributed Systems
Princeton COS 418 Princeton Distributed Systems Fall 2019
Columbia University Advanced Distributed Systems Research Papers

3. SQL & Relational Algebra

4. DDL & DML

5. Relational Model

6. Storage management

CS 15-445 课程 Lecture03、Lecture04

6.1 Buffer management

CS 15-445 课程 Lecture05

6.2 Index structure

6.3 B+ Tree

6.4 B- Tree

6.5 Hash table

6.6 LSM Tree

8. Query Evaluation(Processing)

SQL Query Parser

Query Executor

9. Query Optimization

Lock manager

10. Transaction management

11. Network

12. Serialization

13. Concurrency Control

14. Crash Recovery management

15. NoSQL

16. NewSQL

17. Distributed & Paralleled

18. AI4DB and DB4AI (frontier tech)

15. OLAP、OLTP、HTAP

15.1 OLAP

OnLine Analytical Processing

15.2 OLTP

Online Transaction Processing

15.3 HTAP

Hybrid Transactional/Analytical Processing

16. Project Source Code Analysis

ID Database DataBase Type Blog Github
1 SQLite SQLite源码分析 https://github.com/sqlite/sqlite
2 LevelDB fast key-value storage library LevelDB 源码剖析 https://github.com/google/leveldb
3 PolarDB-X cloud native distributed SQL Database PolarDB-X 源码解读 https://github.com/polardb/polardbx-sql
4 OceanBase distributed relational database https://github.com/oceanbase/oceanbase
5 TiDB cloud-native, distributed, MySQL-Compatible database TiDB源码阅读分析 https://github.com/pingcap/tidb
6 openGauss open source relational database management system openGauss数据库源码解析 https://github.com/opengauss-mirror/openGauss-server

taobao MySQL 数据库内核月报:http://mysql.taobao.org/monthly/

17. Mini-Project Labs

About

Focus on Database kernel Developent, include Basic Skill Content.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published