This course provides an overview of the current databa
課程說明
Course Description
This course provides an overview of the current database management systems.
The goals
The goals
♠ | are 1) to get students familiar with how to use a database system to solve |
real problems; 2) | |
♠ | the internals of a database and some state-of-the-art implementations |
(e.g.,Google BigTable, | |
♠ | Google MegaStore, and Google Spanner etc.). |
✠ | Proper understanding of Java/OOP programming and data structure is required. |
剛修完作業系統、演算法,對大型程式系統有興趣之學生優先。
指定用書
Textbook
♠ Lecture Notes
參考書籍
References
[1] | |
ISBN:0072465638 | |
[2] | Database System Concepts, 6ed, by Abraham Silberschatz et al, |
ISBN:0073523321 | |
[3] | Database Design and Implementation, by Edward Sciore, |
ISBN: 0471757160 | |
[4] | |
iSBN:1441988335 |
教學方式
Teaching Method
♠ Lecture and Lab
♠ Lecture and Lab
教學進度
Syllabus
1 | Introduction to database systems |
A. Relational model, SQL, transactions, and ACID (with quiz) | |
B. Modern database systems for scalability, availability, and elasticity | |
2. | Query engine |
A. JDBC and DB server B. Relational algebra C. Query plans, scans, and the storage interface D. Parsing E. Planning | |
3. | Storage engine |
A. Disk and file management B. Memory management C. Transaction management (+OCC) D. Record management E. metadata management | |
4. | Benchmarking with TPC-C |
5. | Optimizations |
A. Indexing B. Materialization and sorting C. Multi-buffer plans D. Query optimization | |
6. | Distributed database systems and advanced topics |
A. NoSQL database systems B. NewSQL database systems C. OLAP and datawarehousing | |