CS712 : Distributed DBMS

Course Overview

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 Calendar

1 Introduction to Distributed Database Systems
2 Definition of Distributed Database Systems, Compulsory Parts, Charcteristics, Objectives
3 Resembling Setups, Reasons for DDBS and Promises of DDBMS
4 The concept and role of the transaction in distributed computing.
5 Background of RDBMS, Relational Data Model, Keys, Tables, Normalization
6 Normalization
7 Relational Data Languages
8 Derived Relational Algebra, Relational Calculus, Computer Networks
9 Computer Networks Concepts, DDBMS Architecture
10 DDBS Architecture, Dimensions, Architectural Alternatives
11 Major DDBS Architectures
12 Global Schema Architecture, Global Data Dictionary, DDB Design, Distribution Design Issues
13 Correctness Rules For Fragmentation, Horizontal & Vertical Fragmentation
14 Minterm Predicates
15 PHF-Minimality of Pr, PHF-COM-MIN Algorithm, DHF Examples
16 DHF Details, Vertical Fragmentation (VF)
17 Vertical Fragmentation Information Requirements, Clustering Algorithm, AM
18 VF, Global Affinity Measure (AM), Bond Energy Algorithm
19 VF, Global Affinity Measure (AM), Bond Energy Algorithm (Continue)
20 VF, Computed CA, Partitioning Algorithm
21 Fragmentation, Types, Replication, Replication Architecture in SQL Server, Models
22 Setting Up Replication
23 Agents Creation (Snapshot Agent, Distributor Agent)
24 Fragmentation (Practical Work)
25 Reasons for Fragmentation, DHF, Transactional Replication, Merge Replication
26 Transaction Management, Properties of Transaction
27 ACID Properties, Types of Transaction, Transaction in DDBS
28 Serializability Theory in DDBS
29 Locking based CC, Time Stamp ordering based CC
30 Basic Concept of Query Optimization, QP in centralized and Distributed DBS
31 Query Decomposition and its phases
32 Final Phase of QD, Data Localization
33 Data Localization for Hybrid Fragmentation, Query Optimization
34 Query Optimization, Cetralized QO, QO in Distributed Environment
35 Query Optimization, Semijoin based algorithms, Distributed Query Process Algorithms
36 Query Optimization
37 Parallel Database Systems
38 Parallel Processing Basics
39 Parallel Systems Architecture
40 Parallel Data Processing, Parallel Query Optimization
41 Analysis of Parallel Data Processing Approaches, Parallel Query Optimization
42 Different Situation in Modeling, Object Distribution Design, Architectural Issues
43 Database Introperability - I
44 Database Introperability-II
45 Database Introperability-III