Distributed database architectures and models. Distributed data storage: data fragmentation, replication, and allocation. Distributed query processing. Distributed transaction model. Concurrency control. Homogeneous and heterogeneous solutions. Client server, peer-to-peer, mobile databases, distributed view materialization and World Wide Web architectures.
Explanation of Prerequisites
CpE-341 or CpE-401: Each student is expected to have a working knowledge database fundamentals and an ability to write programs.
Text Book and/or Other Required Materials
M.T. Özsu and P. Valduriez, Principles of Distributed Database Systems, 2nd edition, Prentice-Hall, 1999.
This course is designed to exposes students to database theory and database market technologies, to present database engineering formal designs as well as database implementation using the commercial database systems, to address strategies to when and how to shorten and improve the quality of the software engineering life cycle using DBMS, and to get students involved in a relational database design and implementation as a major part of the course.
1. Introduction to distributed database management (1 hrs)
2. Distribution architectures (4 hrs)
3. Distribution design (5 hrs)
4. Distributed query processing and optimization (6 hrs)
5. Distributed concurrency control (4 hrs)
6. Distributed reliability protocols (4 hrs)
7. New distribution architectures (4 hrs)
8. Pervasive and mobile distributed database management (4 hrs)
9. Web data management (5 hrs)
10. Interoperability and componentization (4 hrs)
11. Security issue in distributed database management (3 hrs)
- 3 hours lecture sessions per week.
- Course assessment:
--- Exams (2 midterms + 1 final).
--- Oral presentation.
--- Written report
--- Homework assignments (4-6).
--- Project (proposal, design and implementation)
Contribution of the Course to the Professional Component
Math and Basic Sciences: 0%
Engineering Topics: 100%
General Education: 0%
Relationship of Course to Program Outcomes
CpE-442 achieves the computer engineering program outcomes a, b, c, d, e, f, g, h, and k as required by ABET Criterion 3 and program outcomes m as required by ABET Criterion 8 (program criteria). These relationships are indicated in the course specific outcomes. The level of contribution of the course to program outcomes are:
Strong: (a), (c), (d), (e), (g), (k), (m) Average: (f), (h) Some: (i)
Specific Course Outcomes
Upon successful completion of this course, students will be able to:
1. Understand the nature of distributed database systems in and its use in modern enterprises [Program outcomes: a, h, m].
2. Know the difference between centralized database models and distributed database systems [Program outcomes: a, h].
3. Program in distributed SQL [Program outcomes: a, c, k, m].
4. Improve and fine tune distributed database systems reliability [Program outcomes: a, c, m].
5. Interface distributed database systems to the web using the latest in technologies [Program outcomes: a, c, e, k, m].
6. Learn the importance of security and integrity and how to implement it in distributed database systems and how to set and reset access permissions to distributed database objects [Program outcomes: a, c, f, h, i].
7. Understand the importance of distributed transaction and how to implement processing and concurrency control in distributed database systems and how to grantee the consistency of a distributed database relation [Program outcomes: a, c, e, m].
8. Build and implement a prototype distributed database systems [Program outcomes: a, c, e, k, m].
9. Practice teamwork which includes division of their roles and tasks, communication and discussion of ideas among team members to complete the project [Program outcomes: d].
10. Document their work in a written report and present their work formally in front of class mates [Program outcomes: g].