Storage Devices# Memory, Flash and Hard Disks, Disk Arrays. Relational Databases and Key-value Stores. Operations On Files and Databases# Sorting, Buffer Scheduling, Mapreduce. Data Structures in Secondary Memory# Trees, Hashing, Distributed Hashing and Advanced Indexes. Concurrency Control# Serializability, Locks and Lock-based And Timestamp-based Protocols, Concurrency in Distributed Databases. Durability# Recovery, Replication. Learning Outcomes# At The End of The Course, The Student Will Be Able To# 1. Understand The Benefits and Limitations of Various Storage Devices. 2. Use Algorithms and Different Index Structures to Perform Operations (like Sorting) and Compute Queries On Information Stored in Secondary Memory. 3. Understand Different Solutions For Problems Due to Concurrent Handling of Data in Storage Systems. 4. Handle System Failures and Use a Journal and Replication to Achieve Information Durability. 5. Understand The Principles of Distributed File Systems.

Faculty: Computer Science
|Undergraduate Studies |Graduate Studies

Pre-required courses

(46209 - Structure of Operating Systems and 94412 - Probability (advanced) and 234218 - Data Structures 1) or (46209 - Structure of Operating Systems and 104034 - Introduction to Probability H and 234218 - Data Structures 1) or (94412 - Probability (advanced) and 234123 - Operating Systems and 234218 - Data Structures 1) or (104034 - Introduction to Probability H and 234123 - Operating Systems and 234218 - Data Structures 1)


Course with no extra credit

234322 - Information Storage Systems


Semestrial Information