Bancos de Dados
Bancos de Dados
Avançados
DCC030 ‐ TCC: Bancos de Dados Avançados (Ciência Computação) DCC049 ‐ TSI: Bancos de Dados Avançados (Sistemas Informação)
DCC842 ‐ Bancos de Dados (Pós‐Graduação) DCC842 Bancos de Dados (Pós Graduação)
MIRELLA M. MORO
http://www.dcc.ufmg.br/~mirellap // g /
Sobre esses Slides
Sobre esses Slides
Disponíveis na webpage
DCCbda
www.dcc.ufmg.br/~mirella/
DCCbda
/pdfs
•
NÃO são suficientes!
•
NÃO são suficientes!
•
Slides em inglês são provenientes das disciplinas de
banco de dados da Stanford University, escritos pelo
profs. Jeff Ullman e Hector Garcia‐Molina
(a menos quep
tenha um M ao lado do número do slide) BDA ‐ profa. Mirella MMoro 2 http://www.kdnuggets.com/2016/03/data‐science‐puzzle‐explained.html https://www.import.io/post/why‐data‐scientist‐is‐being‐called‐the‐sexiest‐job‐of‐the‐21st‐century/ 4 BDA ‐ profa. Mirella MMoro • SGBD • Modelagem, estrutura, consultaInício
g , , • Aplicações tradicionaisInício
• NoSQL: texto, documentos, grafos e afins • Conexão: Web, streams, móveis, paralelo, workflow, … C t t h d i id d iê iAgora
g
• Contexto: nuvem, hardware, privacidade, proveniência … • Coleta, extração, indexação, processamento, entrega • E.g., sistemas de recomendação e classificadoresIR
g ç• Descoberta de Conhecimento • Mineração de Dados
• E.g., aprendizado de máquina e big data analytics
KDD
Bancos de Dados
5 BDA ‐ profa. Mirella MMoro
Os salários, por áreas de atuação, também sobem na medida da qualificação do profissional Além da experiência medida da qualificação do profissional. Além da experiência, ditada por anos de trabalho no setor, a formação acadêmica também pode significar um incremento importante no p g p salário. Um profissional Um profissional de Arquitetura da Informação com com mestrado ou doutorado pode ganhar até 74,7% mais do mestrado ou doutorado pode ganhar até 74,7% mais do que um que possui apenas formação superior.
que um que possui apenas formação superior.
15 de
Quanto Ganha Profissional de TI
TI Geral
$Bancos de Dados
$ •Diretor: R$ 18.386 •Gerente: R$ 8.855 d d $ •Gerente: R$ 11.940 •Coordenador: R$ 8.953 $ •Coordenador: R$ 4.992 •Consultor: R$ 4.483 $ •Supervisor: R$ 8.154 •DBA Oracle: R$ 4.288 $ •Analista Negócios: R$ 4.037 •Analista: R$ 2.432 $ •DBA Pleno: R$ 4.283 •DBA SQL: R$ 3.725 •Técnico em TI: R$ 1.483 •Redes de Computadores, analista: R$ 2.797 $ •Processamento de dados, analista: R$ 2.646 •Programador, android: R$ 3.126 $ •Segurança da informação, pleno: R$ 3.184 http://www.guiadacarreira.com.br/salarios/quanto‐ganha‐um‐profissional‐de‐ti/ 7 http://exame.abril.com.br/revista‐exame/edicoes/1108/noticias/para‐os‐cientistas‐ de‐dados‐nao‐ha‐desemprego 8 BDA ‐ profa. Mirella MMoroLinhas de pesquisa: Mirella
SIGMO•Gerência de dados da Web
P t d C lt O D’16 ‐ SF O •Processamento de Consultas •Biblioteca Digital BDBComp O SI•Redes Sociais
•Redes Sociais Acadêmicas GMOD’1 3 •Índices de Produtividade •Sistemas de Recomendação 3 ‐ NY C•Outros tópicos
•NoSQL, BigData SIG M NoSQL, BigData •Modelagem de Dados M OD’12 ‐ 9 PHX BDA ‐ profa. Mirella MMoroObjetivo
Objetivo
Esta disciplina visa o estudo de
conceitos avançados de bancos de
ç
dados incluindo
–aspectos operacionais em sistemas de bancos de –aspectos operacionais em sistemas de bancos de dados té i t –técnicas para armazenamento –modelagem e consulta a dados estruturados e semiestruturados BDA ‐ profa. Mirella MMoro 10
NÃO é objetivo
NÃO é objetivo
•
Ensinar
Ensinar
–Programação em SQL embutido –“Truques” DB2, Oracle, MS SQL Server, … –Implementação interna DB2, Oracle, MS SQL Embora possam ser vistos no trabalho final•
Implementar
Implementar
–Um banco de dados do zero (embora seja uma excelente ideia ) excelente ideia…) –Aplicações de banco de dados(embora possa ser feito no trabalho final)feito no trabalho final) BDA ‐ profa. Mirella MMoro 11
NÃO é objetivo
NÃO é objetivo
•
Preparar para
–Provas de certificaçãoç –Provas de concursos POSCOMP –POSCOMP•
Desenferrujar OU
•
“Revisar” conceitos
T
i
h
d
t
PPGCC
•
Ter mais chances de entrar no PPGCC
BDA ‐ profa. Mirella MMoro 12Objetivo (de novo)
Objetivo (de novo)
•
Esta disciplina visa o estudo de
conceitos
d
avançados
de bancos de dados incluindo
–aspectos operacionais em sistemas de bancos de –aspectos operacionais em sistemas de bancos de dados té i t –técnicas para armazenamento –modelagem e consulta a dados estruturados e semiestruturados BDA ‐ profa. Mirella MMoro 13
Programa
Programa
1. Revisão dos conceitos básicos de banco de dados. 2. Armazenamentode dados: organização de arquivos, índices em árvore e hash 3. Processamento de consultas: ordenamento externo, avaliação de operadores relacionais tradução de SQL para álgebra seletividade e estimativa de custo relacionais, tradução de SQL para álgebra, seletividade e estimativa de custo, otimizador típico4. Processamento de transações: transação e conceitos do sistema, propriedades
d d
ACID, agendamento de transações, suporte em SQL
5. Controle de concorrência: gerenciamento de bloqueios, protocolos de controle de concorrência
6. Recuperaçãode falhas: conceitos de recuperação, ARIES, log, protocolo de logs, pontos de verificação, backup e recuperação
d d
7. Segurançae integridade
8. DEMAIS CONCEITOS ATUAIS (XML/NoSQL, Recomendação ...) BDA ‐ profa. Mirella MMoro 14
Detalhes
Detalhes…
• Avaliação – Exercícios e Participação: 30 pontos (2 exercícios online + 1 apresentação artigo) – Trabalho Final Apresentação: 30 pontos (pode ser em dupla)– Trabalho Final Escrito: 40 pontosTrabalho Final Escrito: 40 pontos(pode ser em dupla)(pode ser em dupla)
• Bibliografia
– G‐Molina Ullman Widom: Database Systems: The Complete Book 2001/2008G Molina, Ullman, Widom: Database Systems: The Complete Book. 2001/2008.
– Elmasri, Navathe: Sistemas de Banco de Dados, 2010. – Ramakrishnan, Gehrke: Database Management Systems. 2003. – Silberchatz, Korth, Sudarshan: Database Systems Concepts, 2005. BDA ‐ profa. Mirella MMoro 15
Exercício 0
PREENHER O QUESTIONÁRIO
antes da próxima aula
goo gl/85F43p
goo.gl/85F43p
BDA ‐ profa. Mirella MMoro 16
Cronograma: SERÁ ADAPTADO ~tamanho turma
Cronograma: SERÁ ADAPTADO tamanho turma
/ Í Ã d i bá i
• 15/03 EXERCÍCIOS DE REVISÃO de conceitos básicos Vejam slides online, estudem se necessário 22/03 Di ã t b lh TRAGAM LAPTOPS • 22/03 Discussão trabalhos: TRAGAM LAPTOPS • 26/04 Exercícios de Avaliação 1 – online e com consulta • 03/05 Aula especial escrita/apresentação artigos
• 03/05 Aula especial escrita/apresentação artigos
• 08,10/05 Apresentação INTERMEDIÁRIA
• 14‐26/0614 26/06 Apresentação FINAL Apresentação FINAL
• 28/06 Exercícios de Avaliação 2 – online e com consulta • 10/0710/07 meio‐dia ÚLTIMA OPORTUNIDADE entregasmeio dia ÚLTIMA OPORTUNIDADE entregas
BDA ‐ profa. Mirella MMoro 17
Trabalho Final
dois tipos diferentes de trabalho 1 Desenvolvimento 1. Desenvolvimento –Aplicação funcionando–Entregar relatório até 10pgs: funcionalidades da aplicaçãoEntregar relatório até 10pgs: funcionalidades da aplicação
2. Pesquisa
–Seminário com os resultados da pesquisaSeminário com os resultados da pesquisa
–Entregar artigo até 10pgs formato SBC: motivação, estado‐da‐arte e resultados da pesquisa
SBBD 2017 @ Uberlândia, logo ali
• JIDM: mensal
• Anais do SBBD: fevereiro e maio • Posteres/Demo: julho
Trabalho Final
duas apresentações 1. Conceitos *básicos* –08-10/05 (a confirmar) –10 a 15 minutos (depende do número de grupos) –O que é, importância/relevância, casos de uso –PARTICIPAÇÃO DA TURMA!!!!! Críticas, sugestões, ajuda 2 Trabalho final 2. Trabalho final –14 – 26/06 (a confirmar)20 a 30 minutos (depende do número de grupos) –20 a 30 minutos (depende do número de grupos) –Aplicação ou Pesquisa
BDA ‐ profa. Mirella MMoro 19
Temas Trabalho Final
Temas Trabalho Final
(EM >>DUPLAS<< Maiores detalhes: 22/03) Trabalhos em colaboração com outras disciplinas –Bancos de Dados Geográficos (Clodoveu) –Bancos de Dados Web (Alberto) –Mineração de Dados (Wagner) PAA (J l) –PAA (Jussara et al) –Classes de Grafos (Vinícius) RI + Comp Social (Jussara + Marcos)–RI + Comp. Social (Jussara + Marcos)
–Recomendação (Rodrygo) > Falar com os professores
O trabalho da disciplina pode servir para iniciar dissertação/tese ou para
> Falar com os professores dissertação/tese ou para ser o POC/monografia
BDA ‐ profa. Mirella MMoro 20
Temas de Pesquisa
Temas de Pesquisa
1 Non relational data 1 Temporal XML
1. Non relational data (graph, nosql, ...) 2. Big data 1. Temporal XML 2. XML Benchmarks 3. XML Publish/Subscribe g 3. Keyword search 4. Probabilistic processing / 4. XML Ranking 5. XML Retrieval 5. Ranking 6. Recommendation 6. XML Native Databases eXist, MonetDB/Xquery, myXMLDB Ozone Sedna
7. Social networks 8. Stream processing 9 U t i d t myXMLDB, Ozone, Sedna, Tamino 9. Uncertain data O trabalho da disciplina pode servir para iniciar dissertação/tese ou para POC/ fi ser o POC/monografia BDA ‐ profa. Mirella MMoro 21
Para Incentivar a Pesquisa
•Seminário para trabalhos publicados CIDR 2017 ( 8 SIGMOD 2016) (+8 SIGMOD 2016) •Biennial Conference on Innovative Data Systems R hResearch – top top top •ATIVIDADE
•Escolher um artigo publicado e marcar como seu https://goo.gl/S10j8C(planilha CIDR + 8SIGMOD) http //cidrdb org/cidr2017/program html(PDF + slides) http://cidrdb.org/cidr2017/program.html(PDF + slides) •Ler e entender (contexto, problema, solução, avaliação) •Preparar a apresentação (ou pegar a pronta)Preparar a apresentação (ou pegar a pronta)
•Reduzir para 5 minutos (depende # trabalhos) •Apresentar para a turmap p BDA ‐ profa. Mirella MMoro 22
Exemplos de Publicações
Exemplos de Publicações
Trabalhos em temas interessantes dissertação, tese, poc, l d i monografia; exemplos de semestres anteriores: –XML em GPU SBBD’12TripTag: redes sociais de turismo SBBD’13 –TripTag: redes sociais de turismo SBBD 13 –QualiDados: jogo qualidade dados SBBD’13 –GeoNoSQL: BD geoespacial em NoSQL CotB’14GeoNoSQL: BD geoespacial em NoSQL CotB 14 –NoSQL Geo: performance DEXA’15 –Predição MMAed ção SBBD demo’15S de o 5 –Taxonomia Geo cidadão SBBD short’15 –Análise Colaborações Acadêmicas SBBD demo’15 –VersionGraph: controle versões grafo SBBD demo’15 [só BDA] –POIView: pontos de interesse SBBD demo’15 [só BDA] –Colaborações no GitHub: análise SBBD short’16 BDA ‐ profa. Mirella MMoro 23
Outros Deadlines
Outros Deadlines
J h SIGSPATIAL @ L A • Junho – SIGSPATIAL @ L.A • Junho – HICSS @ Hawaii • Junho WebMedia @ Gramado • Junho – WebMedia @ Gramado • Julho – SocInfo• Agosto – CASON • Agosto – CASON
• Agosto – GeoInfo @ Campos do Jordão • Agosto – WSDM @ L AAgosto WSDM @ L.A.
Bancos de Dados Avançados
Bancos de Dados Avançados
A seguir:g introdução ao conteúdo da disciplina BDA ‐ profa. Mirella MMoro 25Do You Know SQL?
Do You Know SQL?
•
Explain the difference between:
SELECT b
SELECT b
FROM R
WHERE a<10 OR a>=10;
and
and
SELECT b
FROM R;
BDA ‐ profa. Mirella MMoro 26
And How About These?
And How About These?
SELECT a
SELECT a
FROM R, S
WHERE R.b = S.b;
SELECT a
FROM R
WHERE b IN
WHERE b IN
(SELECT b FROM S);
(
)
BDA ‐ profa. Mirella MMoro 27Introduzindo
Introduzindo
•
Programa de milhagens BDA
•
Você acumula pontos [participação + extra]
–Participando de discussões (saber seu nome)p ( ) –Escrevendo no quadro as respostas para exercíciosFazendo exercícios e entregando –Fazendo exercícios e entregando BDA ‐ profa. Mirella MMoro 28
POR MOODLE turma CC
é
/
h
até 15/03 @ 09hs
• Explique a diferença entre(c)
SELECT a(a)
SELECT b FROM R(c)
SELECT a FROM R, S WHERE R b = S b; FROM R WHERE a<10 OR a>=10; WHERE R.b = S.b;e
a> 10;e
(d)
SELECT a(b)
SELECT b FROM R; SELECT a FROM R WHERE b IN WHERE b IN (SELECT b FROM S); BDA ‐ profa. Mirella MMoro 29Interesting Stuff About Databases
Interesting Stuff About Databases
•
It used to be about boring stuff: employee
records, bank records, etc.
•
Today, the field covers all the largest sources
of data with many new ideas
of data, with many new ideas.
–Web search –Data mining
–Scientific and medical databasesScientific and medical databases –Integrating information
More Interesting Stuff
More Interesting Stuff
•
Database programming centers around limited
programming languages
p g
g
g
g
–Only area where non‐Turing‐complete languages make sense make sense – Leads to very succinct programming, but also to unique query optimization problemsunique query‐optimization problems
BDA ‐ profa. Mirella MMoro 31
Still More
Still More …
•
You may not notice it, but databases
are behind almost everything you do
are behind almost everything you do
on the Web
–Google searches
–Queries at Amazon, eBay, etc.
BDA ‐ profa. Mirella MMoro 32And More
And More…
•
Databases often have unique
concurrency‐
control problems
p
–Many activities (transactions) at the database at all times all times –Must not confuse actions, e.g., two withdrawals from the same account must each debit the from the same account must each debit the account BDA ‐ profa. Mirella MMoro 33d
Banco de
Dados
Dados
Avançados
Avançados
BDA ‐ profa. Mirella MMoro 34Databases
[IBD]
Databases
[IBD]
•
Collection of information that exists over a
Collection of information that exists over a
long period of time, often many years
C ll ti
f d t th t i
d b
DBMS
•
Collection of data that is managed by a DBMS:
–Create new DBs + specify their schema, DDL
–Query data + modify data, DML
–Storage of very large amounts of data: durabilityStorage of very large amounts of data: durability, secure, efficient access
Control access to data from N users at once w/o
–Control access to data from N users at once, w/o
conflicts and corrupting data BDA ‐ profa. Mirella MMoro 35M
Databases = FILES
Databases = FILES
•
Early ages
–Airline reservation systemsy –Banking systems Corporate records –Corporate records BDA ‐ profa. Mirella MMoro 36MDatabases = RDBMS
Databases = RDBMS
•
IBD (DCC011)
•
Relations = Tables
SELECT b l
SELECT balance
FROM Accounts
WHERE accountNo = 67890;
1.Examine all tuples from Accounts [FROM]
2.Pick out those that satisfy criteria [WHERE]
2.Pick out those that satisfy criteria [WHERE]
3.Produce answer with specific attributes of
h
l
[S L C ]
those tuples [SELECT]
BDA ‐ profa. Mirella MMoro 37M
Smaller and Smaller Systems Smaller and Smaller Systems
DBMS = large, expensive,
l
t
on large computers
↓ ↓ ↓
↓ ↓ ↓
N giga 1 single disk
N giga 1 single disk
DBMS PC
DBMS PC
BDA ‐ profa. Mirella MMoro 38M
Bigger and Bigger Systems
Bigger and Bigger Systems
•
One gigabyte isn’t much data
•
Corporate = 100s GB
Corporate 100s GB
–Retail chains = N TB [1000 GB = 10^12b]•
INT, CHAR .JPG, .MP3, .MPG
–1h video = 1GB.MPG –Satellite = PB [1000 TB = 10^15b] H
t
h
bl
Houston, we have a problem
BDA ‐ profa. Mirella MMoro 39MMelhor definição ainda
Melhor definição ainda…
•
O que distingue um sistema de BD de
qualquer outro software é:
q
q
SBDs assumem que os dados são tantos e
ã
d
(
l
) ã
b
tão grandes que (geralmente) não cabem
na memória principal e devem ser
p
p
alocados primariamente em disco o
tempo todo
tempo todo
BDA ‐ profa. Mirella MMoro 40Smaller / Bigger Systems
Smaller / Bigger Systems
Tertiary Storage
•
Terciary device: more than a disk
Terciary device: more than a disk
•
Usually transporting an object (storing
d
)
reading)
•
CD, DVD, clusters
,
,
BDA ‐ profa. Mirella MMoro 41M
Smaller / Bigger Systems
Smaller / Bigger Systems
Parallel Computing
•
Store enormous volumes of data accessing
Store enormous volumes of data accessing
large amounts of that data quickly
d
•
Speed up
–Index structures
–Parallelism: reading disks in parallel, distributed system, high‐speed network
system, high speed network
Store large amount of data + move quickly =
f
????
query performance????
Smaller / Bigger Systems
Smaller / Bigger Systems
•
Store large amount of data + move quickly =
query performance????
q
y p
•
Storage + access + algorithms!!
l
h
b
k
f
ll l /
•
Algorithms: break queries up for parallel /
distributed computers
VERY ACTIVE RESEARCH AREA
•
VERY ACTIVE RESEARCH AREA
BDA ‐ profa. Mirella MMoro 43MAnd More
And More
•
Client‐Server and Multi‐Tier Architecture
–Server = bottleneck –Client application server (connections, transactions authorization ) transactions, authorization, …) –Server web servers as clients (end‐user apps)•
Multimedia Data
•
Information Integration (Web, data
Information Integration (Web, data
warehouse)
BDA ‐ profa. Mirella MMoro 44M
DBMS
DBMS
BDA ‐ profa. Mirella MMoro 45
Trabalho Final é tudo
Trabalho Final é tudo
••
Trabalho final MAIOR
Trabalho final MAIOR
–Conceitos básicos → Exercícios de Avaliação 1→ ç –Trabalho final → outras disciplinas + monografias
Próximas aulas imperdíveis –Próximas aulas imperdíveis