Sistemas de Gestão de Dados

Ano
1
Ano lectivo
2017-2018
Código
02000300
Área Científica
Opcional
Língua de Ensino
Português
Outras Línguas de Ensino
Inglês
Modo de Ensino
Presencial
Duração
Semestral
Créditos ECTS
6.0
Tipo
Opcional
Nível
2º Ciclo - Mestrado

Conhecimentos de Base Recomendados

Bases de Dados, SQL, sistemas distribuídos, conhecimentos de programação, introdução a sistemas informáticos (tecnologia de informação).

Métodos de Ensino

A cadeira está estruturada em torno de duas atividades:

- Aulas de contacto

- Projeto

Serão utilizadas dois tipos de aulas:

- Aulas de exposição de matéria.

- Aulas para acompanhamento dos projetos.

Os projetos consistem na elaboração de um ou dois trabalhos de benchmarking de soluções de gestão de dados, e um trabalho de prova de escalabilidade de uma solução a desenhar, tendo como resultado uma apresentação final, um relatório final e um pacote com o que foi desenvolvido para cada um.

Resultados de Aprendizagem

Aborda-se conceitos de sistemas de gestão de bases de dados (SGBD) convencionais, sistemas de gestão para bigdata, escalabilidade e performance. Aborda-se também sistemas de gestão de dados em outros ambientes. Os conceitos básicos incluem hardware, organização física, índices, processamento e optimização de pesquisas, transacções, backups e recuperação, bem como aspetos relacionados com o desenvolvimento de aplicações. Para além destes, a unidade curricular focará colocação e gestão de dados em ambientes paralelos, distribuídos e móveis, questões de replicação, consistência, transacções e disponibilidade nesses ambientes. São abordados temas atuais (e que podem evoluir ao longo dos anos), tais como Map-Reduce e Hive, bases de dados verticais, sistemas NoSQL. Pretende-se ainda introduzir questões de investigação nestes contextos.

Estágio(s)

Não

Programa

1. Arquitectura base de SGBDs

2. Estruturas Físicas de suporte

3. Indexação avançada

4. Processamento e optimização de pesquisas

5. Transacções, ACID, Replicação e Consistência

6. Backups e recuperação, disponibilidade.

7. Arquitecturas e processamento paralelo, distribuído, grid e móvel .

8. Arquitecturas de sistemas com escalabilidade (caching:memcached, squid, outros; case-studies:facebook, youtube, Google, wikipedia, outros)

9. Arquitecturas atuais de processamento e gestão de dados (map-reduce, cep,verticais, no-sql,cep)

10. Tópicos de investigação.

Docente(s) responsável(eis)

Pedro Nuno San-Bento Furtado

Métodos de Avaliação

Avaliação
Projecto: 50.0%
Exame: 50.0%

Bibliografia

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