本学期上了数据管理系统这门课,主要是以关系数据库为主,并介绍现在流行的NoSQL数据库,以及分布式的NewSQL、数据库基本原理,对我而言帮助很大。
下面将本学期的课程大纲以及Project分享给大家,更多内容我会在我个人博客上持续更新。
Syllabus
Lecture | Reading Material | Hints | Notes |
---|---|---|---|
1. coding | - Creating Great Programmers with a Software Design Studio<br />- Criteria for modularization | ||
2.introduce to document database | - Design Philosophy<br />- A Technical Introduction to WiredTigerl<br />- understand JSON | Document-oriented DB:MongoBD(1) | |
3. Logging | - Durability _<br />- write-ahead logging <br />- Linearizability introduction ,<br />- Linearizability original paper | 存储的正确性 | |
4. Availability | - Raft protocol (importent), <br />- MongoDB Consensus internal (optional)<br />- Triple modular redundancy | High availability - fault tolerant | |
5. Design for document database | - Data Modeling for Document Database<br />- Rules of Thumb for MongoDB Schema Design<br />- ORM | ||
6. Data Model(relation database) | - Network Model<br />- Hierarchy Model (a bit similar to mongodb)<br />- Original paper on relational model by Codd 1/2<br /> - History of RDBMS at IBM, an interesting read<br />- About Expressiveness | data model | |
7. SQL | SQL(1)<br />SQL(2)<br />SQL(3) | ||
8. RelationDB design | 关系数据库的逻辑设计 | ||
9. Normalization | 关系数据库规范化 | ||
8. Physical Design | - 物化视图<br />- 强函数依赖<br />- B-Tree<br />- 聚簇索引<br />- 索引的设计<br />- 存储过程(UDP) | ||
10. Transaction | - Compensating Transaction<br />- MongoDB Transaction | - SQL Transaction | |
11. Object Relational Mismatch | - Object Relational Mismatch Problems<br />- Two Camps of Opinions<br />- Class first<br />- Data first | ||
12. Query Process | |||
13. OLAP | |||
14. Database Tuning | - Database Tuning 1st Edition | ||
15. Distributed DB | |||
16. Transction in DDB | |||
17. Scalability | |||
18. NewSQL | |||
19. Search engine | |||
20. Indexing | - Multidimensional Indexing - k-d tree<br />- R-tree |
- KD Tree<br />- Curse of dimension |
Lab
-
Lab1: Installation of Mongodb
-
Lab2: Mongodb interface in Java
-
using maven and IDEA to install
-
Lab3: Mongodb in docker
-
Lab4: SQL in PostgreSQL
-
Lab5: Complex SQL CRUD
-
Lab6: Crete DB schema
-
Lab7: hibernate
-
hibernate with PostgreSQL
-
Lab8: Superset
-
Lab9: OLTP Benchmark
-
Lab10: SQL practice
网友评论