{"id":13671267,"url":"https://github.com/CDDSCLab/training-plan","last_synced_at":"2025-04-27T14:33:24.375Z","repository":{"id":40373496,"uuid":"277460705","full_name":"CDDSCLab/training-plan","owner":"CDDSCLab","description":"电子科技大学分布式存储与计算实验室新生训练计划","archived":false,"fork":false,"pushed_at":"2025-04-14T09:24:03.000Z","size":23631,"stargazers_count":898,"open_issues_count":4,"forks_count":163,"subscribers_count":14,"default_branch":"training-plan-2024","last_synced_at":"2025-04-14T10:30:02.775Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CDDSCLab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-07-06T06:29:19.000Z","updated_at":"2025-04-13T02:51:15.000Z","dependencies_parsed_at":"2023-02-08T19:01:29.752Z","dependency_job_id":"a142a42f-4a30-4638-abd4-923078a7c70e","html_url":"https://github.com/CDDSCLab/training-plan","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CDDSCLab%2Ftraining-plan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CDDSCLab%2Ftraining-plan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CDDSCLab%2Ftraining-plan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CDDSCLab%2Ftraining-plan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CDDSCLab","download_url":"https://codeload.github.com/CDDSCLab/training-plan/tar.gz/refs/heads/training-plan-2024","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251154461,"owners_count":21544506,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T09:01:04.645Z","updated_at":"2025-04-27T14:33:19.364Z","avatar_url":"https://github.com/CDDSCLab.png","language":null,"funding_links":[],"categories":["Others"],"sub_categories":[],"readme":"## DSCLab 新生培养计划\n\n培养方向：数据库方向基础知识积累、分布式数据库研发\n\n培养目标：\n\n1. 具备一定的软件工程能力\n2. 掌握基础数据结构和数据库关键技术\n3. 掌握分布式原理和应用开发\n\n技能培养：\n\n**C++ / JAVA / GO 任选一门主力学习, Python 选修**\n\n1. Git、Stencil、Visio 、Docker 等工具的使用\n2. 软件工程能力（代码规范、协作开发、UML 的使用、代码测试、文档撰写）\n3. Research、Presentation 能力\n\n**时间安排表：**\n\n\n|  Week   |          Point          | Detail                                                                                                                                                                  | Project                                                                                                                                                                                                                              |\n| :-----: | :---------------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n|    1    |         基础知识-引入         | 了解数据库系统的基本概念和架构，包括数据库管理系统（DBMS）的组成部分和功能。                                                                                                                                | 课程学习 \u0026 撰写相关文档                                                                                                                                                                                                                        |\n|    2    |      基础知识-计算 \u0026 存储       | 学习数据库中的数据存储和管理技术，包括数据的物理存储结构、索引、文件组织和存储管理。了解数据库系统的计算模型和查询处理技术，如查询计划、查询优化和执行策略。                                                                                          | 课程学习 \u0026 撰写相关文档                                                                                                                                                                                                                        |\n|    3    |    基础知识-查询优化 \u0026 AI4DB    | 学习高级的查询优化技术，包括代价估算、查询重写和物理计划生成。了解AI在数据库系统中的应用，如自动化索引选择、查询优化和参数调优。                                                                                                       | 课程学习 \u0026 撰写相关文档                                                                                                                                                                                                                        |\n|   4-5   |     CMU-Buffer Pool     | 以个人为单位，实现一个buffer pool，并测试其性能及内存占用。并撰写相关文档                                                                                                                              | [项目地址](https://15445.courses.cs.cmu.edu/spring2023/project1/)                                                                                                                                                                        |\n|   6-8   |    CMU-B+Tree Index     | 在buffer pool的基础上，实现一个B+树，需包含单元测试及测试性能。                                                                                                                                  | [项目地址](https://15445.courses.cs.cmu.edu/spring2023/project2/)                                                                                                                                                                        |\n|   8-9   |      CMU-Execution      | 了解 SQL Engine 组件及功能，学习 SQL 解析流程及抽象语法树。学习执行算子，如 Join, Agg, Scan 的不同实现。了解基本的查询优化方法，了解 Volcano 及 Vectorized 执行器架构                                                          | 撰写相关文档\u003cbr /\u003e实现数据库的执行器。[项目地址](https://15445.courses.cs.cmu.edu/spring2023/project3/)                                                                                                                                                  |\n|  10-11  | CMU-Concurrency-Control | 理解事务的概念及产生原因、理解ACID特性\u003cbr/\u003e并发控制（乐观、悲观）\u003cbr/\u003e数据持久化和故障恢复（日志、检查点、快照）                                                                                                         | 撰写相关文档\u003cbr /\u003e基于锁实现数据库的并发控制，要求保证事务的ACID特性 [项目地址](https://15445.courses.cs.cmu.edu/spring2023/project4/)                                                                                                                                |\n|   12    | TinySQL Optimizer Part1 | 搜索框架 System R 和 Cascades                                                                                                                                                | 撰写相关文档, 实现项目\u003cbr\u003e[Project 4: TinySQL Optimizer](https://github.com/talent-plan/tinysql/blob/course/courses/proj4-README-zh_CN.md)                                                                                                     |\n|   13    | TinySQL Optimizer Part2 | 代价估算以及统计信息以及 Join Reorder                                                                                                                                               | 撰写相关文档, 实现项目\u003cbr\u003e[Project 4: TinySQL Optimizer]()                                                                                                                                                                                     |\n|   14    |       Data Mining       | 掌握机器学习的经典算法和数据挖掘的基本流程。                                                                                                                                                  | 整理算法文档\u003cbr /\u003e 完成分类和时间序列预测两个项目 \u003cbr /\u003e [项目地址](./Week12-Data%20Mining/)                                                                                                                                                                  |\n|   15    |           NLP           | 掌握NLP基础工具，以及预训练模型的使用方法。                                                                                                                                                 | 整理算法文档 \u003cbr /\u003e掌握NLP工具包 \u003cbr /\u003e完成文本分类项目\u003cbr /\u003e[项目地址](./Week13-NLP)                                                                                                                                                                       |\n|   16    |           CV            | 掌握CV常见模型，实现简单的图像分类，了解多模态模型的构建。                                                                                                                                          | 整理算法文档 \u003cbr /\u003e完成图像分类项目\u003cbr /\u003e[项目地址](./Week14-CV)                                                                                                                                                                                       |\n|   17    |  Transformer \u0026 LLM 基础   | 学习 Transformer \u0026 LLM 基础                                                                                                                                                 | 撰写相关文档\u003cbr\u003e[Self-Attention](https://www.bilibili.com/video/BV1Wv411h7kN/?p=38\u0026vd_source=4a123edfa6cfeff60587a45315c38bad) [Transformer](https://www.bilibili.com/video/BV1Wv411h7kN/?p=49\u0026vd_source=4a123edfa6cfeff60587a45315c38bad) |\n|   18    |        LLM 模型结构         | 学习 LLM 模型结构, 尝试手写小参数模型并训练                                                                                                                                               | 撰写相关文档, 实现项目\u003cbr\u003e[GPT in 60 Lines of NumPy 项目地址](https://jaykmody.com/blog/gpt-from-scratch/#fine-tuning)                                                                                                                             |\n| 19 - 20 |     LLM for 数据库参数调优     | LLM + Database 项目实践, 掌握 LLM 4 Database 实战能力                                                                                                                             | [项目地址](https://github.com/SolidLao/GPTuner)                                                                                                                                                                                          |\n|   21    |  TinyKV-Standalone KV   | 分布式相关概念、时钟 \u003cbr/\u003e CAP、BASE \u003cbr/\u003e 拜占庭问题 \u003cbr /\u003e [Zab](https://marcoserafini.github.io/papers/zab.pdf) \u003cbr/\u003e [Gossip](https://flopezluis.github.io/gossip-simulator/) \u003cbr/\u003e | 实现单机的kv server\u003cbr /\u003e[Project1 StandaloneKV](https://github.com/tidb-incubator/tinykv/blob/course/doc/project1-StandaloneKV.md)                                                                                                       |\n|   22    |    TinyKV Raft KV 2A    | 实现基础Raft协议\u003cbr/\u003e（1）Leader 选举\u003cbr/\u003e（2）日志复制\u003cbr/\u003e（3）RawNode 接口                                                                                                               | [Project2 RaftKV](https://github.com/tidb-incubator/tinykv/blob/course/doc/project2-RaftKV.md)                                                                                                                                       |\n| 23 - 24 |    TinyKV Raft KV 2B    | 在 Raft 之上搭建一个容错的 KV 服务器\u003cbr/\u003e（1）PeerStorage\u003cbr/\u003e（2）Raft ready process                                                                                                    | [Project2 RaftKV](https://github.com/tidb-incubator/tinykv/blob/course/doc/project2-RaftKV.md)                                                                                                                                       |\n| 25 - 26 |    TinyKV Raft KV 2C    | 增加 raftlog GC 和 snapshot 的支持\u003cbr/\u003e（1）Raft快照实现\u003cbr/\u003e（2）raftstore                                                                                                           | [Project2 RaftKV](https://github.com/tidb-incubator/tinykv/blob/course/doc/project2-RaftKV.md)                                                                                                                                       |\n|   27    |    TinyKV Trasaction    | 分布式事务(2PC / 3PC) \u003cbr /\u003e基于Percolator实现分布式事务，分析Percolaor的优缺点                                                                                                              | [Project 4 Transactions](https://github.com/tidb-incubator/tinykv/blob/course/doc/project4-Transaction.md)                                                                                                                           |\n\n\n说明：整个学习流程的作业和文档需要在实验室 Github 仓库里面提交，每个 Project\n会事先建立好框架，每个同学按照框架进行代码和文档的撰写。并且在代码过程中抽象公共代码库方便后续同学的使用，且需做好\ntodo-list，方便功能的完善。\n\n## 如何提交作业\n\n1. 第一次提交作业的时候请先 `fork` 当前项目到自己的仓库\n\n2. 在自己的仓库里面进行作业的更新\n\n   以第一次作业为例，比如你 `fork` 之后你的代码地址为 `git@github.com:ehds/training-plan.git`\n\n    1. 克隆仓库到本地：\n\n       `git clone git@github.com:ehds/training-plan.git`\n\n    2. 进入当前实验文件夹`Week1-Databse-Introduction`\n\n       `cd Week1-Databse-Introduction`\n\n    3. 新建一个自己的文件夹，名字+实验名称，参考 Example\n\n       `cp -r Example DongShengHe-Week1`\n\n       完善实验文档 Markdown 文件\n\n    4. add 作业内容\n\n       `git add .`\n\n    5. commit 修改\n\n       `git commit -m \"message\"` （message使用英文填写你所做的修改）如 `git commit -m “complete week1 experiment`\n\n    6. push 分支\n\n       `git push origin master`\n\n3. 提交 PR\n\n   在 Gihub 仓库界面新建一个 pull request 到实验室仓库\n\n4. 审核与修改\n\n   待审核人审核后，根据修改意见进行修改，待通过后即可\n\n## 如何提问\n\n大家遇到问题首先合理利用搜索引擎，网络上可能已经存在比较完美的解决方案\n\n在向同学和老师提问的时候，请先描述问题出现的背景和出现问题的状况，这样更加有利于问题的解决。\n\n请参考[提问的智慧。](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCDDSCLab%2Ftraining-plan","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FCDDSCLab%2Ftraining-plan","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCDDSCLab%2Ftraining-plan/lists"}