CS712 - Distributed DBMS
Course Page
Q & A
Course Category: Computer Science/Information Technology
Course Level: Graduate
Credit Hours: 3
Pre-requisites: CS403 CS610

Course Synopsis

Use of distributed systems has become a common practice in today’s computing environment especially with the easy access of the internet. Distributed Database Systems (DDBSs), however, are generally implemented in relatively large organizations and need better understanding of the database and networking concepts. The same two concepts provide the foundation of this course. The emphasis in this course is on the design and management issues of a DDBS and at the same time on the implementation issues. The course starts with the basic definitions of DDBS and related concepts. Then the background concepts of database systems and networking are discussed. After that the major architectures of the DDBSs are discussed followed by design issues of a DDBS. This part of DDBS design concentrates on the fragmentation and its different types. In order to give a better and clearer understanding of the fragmentation, different examples using leading DDBMSs are presented. The second alternative for the implementation of DDBSs is replication, which is discussed with examples. After that, the issues related to DDBS administration are discussed, like, Failure recovery, transaction management and concurrency control. Advanced topics like Parallel Databases, Object Distributed Databases, and Multidatabases are discussed for the interested students something to think and work on. The environment used for demonstration will be Windows-based and Microsoft SQL Server and Oracle will be used as tools.

Course Learning Outcomes

Upon successful completion of this course, students should be able to:
  • Understand major architectures of the DDBSs
  • Understand design issues of a DDBS
  • Understand fragmentation and its different types
  • Understand the concepts of replication
  • Understand administration issues of DDBS, like failure recovery, transaction management and concurrency control
  • Develope basic concepts of parallel databases, object distributed databases, and multidatabases

Course Contents

Introduction to Databases and Distributed Database Systems, Background (Relational Data Model, Computer Networks), Distributed Database Architectures, Distributed Database Design, Horizontal Fragmentation, Vertical Fragmentation, Replication, Introduction to Transaction Management, Distributed Concurrency Control, Introduction to Query Processing, Query Processing in Distributed Databases, Query Optimization, Introduction to Parallel Processing, Parallel DBMSs Issues, Distributed Object Database Management Systems, Database Interoperability.

Course Related Links

Errata For Principles of Distributed Database Systems, Second Edition, by M. Tamer Özsu and Patrick Valduriez
Course Instructor

Dr. Nayyer Masood Dar
Ph.D Computer Science
University of Bradford, UK

An Introduction to Distributed and Parallel Computing by Joel M. Crichlow

Database Systems Concepts by A. Silberschatz, H. Korth and S. Sudarshan

Distributed Database Systems by David Bell and Jane Grimson

Modern Database Management by Fred R. McFadden, Jeffrey A. Hoffer, and Mary B. Prescott

Oracle Parallel Processing by T., Mahapatra and S., Mishra

Principles of Distributed Database Systems by M. Tamer Ozsu and Paterick Valduriez