Data Management Systems

Year
1
Academic year
2019-2020
Code
02000300
Subject Area
Optional
Language of Instruction
Portuguese
Other Languages of Instruction
English
Mode of Delivery
Face-to-face
Duration
SEMESTRIAL
ECTS Credits
6.0
Type
Elective
Level
2nd Cycle Studies - Mestrado

Recommended Prerequisites

Database systems, SQL, Distributed systems, programming languages.

Teaching Methods

The course is structured in two activities:

- Lectures

- Project

There will be two lecture types:

- Expositive lectures, where the teacher presents the main concepts.

- Lectures for project coaching.

The projects consist on developing benchmarking and an application for proof of scalability of a scenario, each having as main results: a final presentation, a final report and a packet with what was done.

Learning Outcomes

Know the inner workings of database systems, and the inner workings of large scale data management systems. Know NoSQL. Know bigdata mechanisms, benchmarking and research issues.

Work Placement(s)

No

Syllabus

1. DBMSs Architecture

2. Application Characteristics (OLTP, OLAP, etc) and benchmarking

3. Physical support structures

4. Basic and Advanced Indexing

5. Query Processing and optimization

6. Transactions, ACID,Replication and consistency

7. Backups and recovery, availability .

8. Architectures and parallel processing, distributed, grid and mobile.

9. Scalability .

10. Current processing architectures and data management (map-reduce, zip, vertical, in-sql, cep)

11. Research Topics.

Head Lecturer(s)

Pedro Nuno San-Bento Furtado

Assessment Methods

Assessment
Exam: 50.0%
Project: 50.0%

Bibliography

1. Database Management Systems, by Raghu Ramakrishnan

2. Database Systems Concepts, by Abraham Silberschatz

3. Papers describing mechanisms on each subject, available in the course site

4. Reserach papers on each subject, available in the course site

5. Course Slides made by teacher and available in the course site

6. Other references for lab classes and projects:

Manuals and internet-available manuals on mysql, Oracle, postgres, monetdb, vertica, voltdb, mongodb, Cassandra, streambase, esper, others.

High Performance MySQL: Optimization, Backups, Replication, Load Balancing & More, by Jeremy D. Zawodny

MongoDB: The Definitive Guide by Kristina Chodorow

Hadoop: The Definitive Guide by Tom White