Designação | Código | Curso | Regime | Regente |
---|
Administração de Bases de Dados | 11588 [ME78ME7800005544] | Mestrado em Engenharia Informática [MEINF] | S2 | José Orlando Roque Nascimento Pereira |
Objetivos | O programa desta UC oferece uma perspetiva bottom-up da administração de bases de dados, assumindo que o conhecimento sólido dos principais desafios de desempenho, fiabilidade e escala na gestão de dados e dos compromissos inerentes aos mecanismos existentes permite diagnosticar problemas, formular e testar hipóteses e finalmente pôr em prática soluções criativas numa diversidade de aplicações e sistemas. Esta perspetiva opõe-se frontalmente à visão, redutora mas comum, da administração de bases de dados como aplicação repetitiva de um conjunto de receitas formuladas para um sistema em particular. Esta programa endereça assim as preocupações dos administradores de bases de dados que enfrentam uma diversidade crescente de desafios e ferramentas (e.g., a distribuição em cloud e os sistemas NoSQL), mas também aos integradores de aplicações em que a gestão de dados representa o maior desafio (i.e., aplicações “big data”). |
Programa | 1. Introdução: Anatomia de um sistema de gestão de bases de dados; caraterização de aplicações alvo; identificação dos principais desafios de desempenho, fiabilidade e escala. 2. Execução de interrogações: Representação física de dados; operadores relacionais e iteradores; redundância com índices e vistas; planeamento e otimização de interrogações. 3. Isolamento e recuperação transacionais: anomalias de concorrência; resolução com locking e multi-versão; características de desempenho e estratégias de otimização; atomicidade vs durabilidade; métodos de logging e checkpointing; cópias de segurança. 4. “Big Data”: replicação e particionamento (“sharding”) em sistemas relacionais/transacionais; sistemas distribuídos de gestão de dados (NoSQL); modelo de dados, indexação e materialização; execução distribuída com “map-reduce”. 5. Estudo de casos: benchmarks OLTP (e.g. TPC-C) e aplicação de análise exploratória de dados; sistemas PostgreSQL e HBase. |
Bibliografia | H. Garcia-Molina, J. Ullman and J. Widom. Database Systems: The Complete Book. Prentice-Hall, 2006 (2nd Edition). J. Gray and A. Reuter. Transaction processing: Concepts and techniques. Morgan-Kaufmann, 1993. M. Tamer Özsu, P. Valduriez. Principles of Distributed Database System. Springer, 2011. (3 rd Edition). B. Charron-Bost, F. Pedone, A. Schipér (Eds.) Replication: Theory and Practice. Springer, 2010. |
Resultados da aprendizagem | - Explicar os principais desafios de desempenho, fiabilidade e escala na gestão de dados. - Descrever os mecanismos disponíveis para o processamento de interrogações e a manutenção de garantias transacionais. - Planear e executar soluções de gestão de dados, combinando, compondo e configurando os mecanismos disponíveis. - Estimar a medir o comportamento de sistemas de gestão de dados. |
Método de avaliação | A avaliação inclui duas componentes: exame escrito individual e projeto em grupo. |
Funcionamento | Turno: T 1; Docente: Ricardo Manuel Pereira Vilaça; Dep.: DI; Horas: 5. Turno: T 1; Docente: José Orlando Roque Nascimento Pereira; Dep.: DI; Horas: 10. Turno: PL 1; Docente: Nuno Filipe Pinto Faria; Dep.: DI; Horas: 30. |