Introduction to Object Oriented Database: Abstraction, encapsulation, and information hiding, Classes, Inheritance Overloading Polymorphism and dynamic binding - Object-Oriented Data Model. Complex Data Types – Structured Types and Inheritance in SQL – Table Inheritance – Array and Multiset Types in SQL – Object-Identity and Reference Types in SQL
Distributed Databases - Introduction to distributed architectures–Distributed and parallel databases concepts – Client/server, parallel and distributed architectures –Design strategies:Horizontal, vertical and hybrid fragmentation- Resource allocation.
Parallel Databases: I/O Parallelism – Interquery Parallelism – Intraquery Parallelism –Intraoperation Parallelism – Interoperation Parallelism.
Introduction to Transaction Management and Concurrency Control: Transaction model and properties–Transaction serialization and recovery–Lock based concurrency control–Multi-phase locking protocols–Timestamp ordering
Concurrency Control: Optimistic concurrency control–Deadlock management – Distributed deadlock – Distributed Query Processing
Recovery and Commit Protocols: Failure analysis– Reliability and availability– Sources of failure–Recovery techniques: shadow paging and write-ahead logging–Memory and storage management (Undo/redo and steal/force) –Two Phase Commit, Three phase commit. Spatial and Temporal Data and Mobility: Time in Databases – Spatial and Geographic Data –Multimedia Databases – Mobility and Personal Databases. MySQL - MongoDB - Redis–Memcached