3 ms·
Yeah, I also agree that databases are a lot more about database internals (or DBMSs). Not sure if I would agree with splitting databases into separate courses.
by atomicity 7y ago
Yeah, I also agree that databases are a lot more about database internals (or DBMSs).
Not sure if I would agree with splitting databases into separate courses. I think it's a lot more useful to learn about general concepts like concurrency and memory/storage management by understanding how other systems (like OSs) handle it. For concurrency, systems courses should give students a taste of the various concurrency techniques. Then the more theoretical courses like parallel computing can give a more unified and mathematical view.
I think the current state of courses already meshes pretty well:
Real Systems| Theory of Computer Systems
============|
Networks ⇘
--------
Operating Systems ⇒ Concurrency/Parallel/Distributed Computing
--------
Databases ⇗⇘
-------------- Programming Languages
Compilers ⇒⇗
My main gripe about databases courses is that they are often way too out-of-date:
* No mention of LSM trees, which are probably a bit more important than ISAM.
* Tons of time spent on 2PL, deadlocks, and strict serializability, without any mention that mainstream database systems generally default to Read Committed and use MVCC.
* ARIES - At least the course I took spent so much time on outdated cost optimization, concurrency control techniques and then just mention a single, very complicated yet important durability technique at the end. This isn't even that young of a technique anymore (1992) and there are tons of variants which are probably a bit more important to understand than all of the 2PL variants.
- lmwnshn 7y agoThe previous offering of this course had students implement some of ARIES [0]. [0] https://15445.courses.cs.cmu.edu/fall2018/project4/ https://15445.courses.cs.cmu.edu/fall2018/project4/
- atomicity 7y agoThis looks awesome! This covers all of my complaints and even has some core material that I don't have but probably should have 'cached' in the back of my mind. Props to Pavlo and the course TAs for the great work! A lot of DB courses don't really highlight how dynamic the storage & database systems area is right now but this course does.