Databases And Concurrency (Ch 8)

Although the Nine Algorithms chapter covers most of this material as it goes, watching these two videos will help you understand how databases work and make the chapter a much easier read.

This first video introduces what databases are and what they are used for:

This video introduces the idea of relational data:

The common thread for this week is managing concurrent use of resources. We have seen that hardware developments are increasingly focused on multicore processors and how operating systems manage all the processes running on a computer.

In this environment, databases are particularly interesting. The programmers of database servers have been dealing with problems of concurrency for decades; the rest of us are just starting to face some of the problems they have been struggling with for years. One currently popular area of research in computer science is Transactional Memory - implementing the idea of transactions as a feature of either hardware or software to make programming for parallel processing easier.