Buscar

01 Intodrucao

Prévia do material em texto

0010010110101111001111110101010101000
1010100010101110111000111010110011011
10010110101111001111110101010101000
10100010101110111000111010110011011
10010010110101111001111110101010101
010100010101110111000111010110011
110111100111111010101010100010111
10101110111000111010110011011111 
1011101001010101110000101010111
0110101111001111110101010101000
010101110111000111010110011011
010110101111001111110101010101
100010101110111000111010110011
11100111111010101010100010111
10110101111001111110101010101
Introdução
Bancos de Dados
Luiz Celso Gomes-Jr
gomesjr@dainf.ct.utfpr.edu.br
 
Mundo de Dados
 
Mundo de Dados
● Curtidas em Redes Sociais
● Mensagens Instantâneas
● Páginas na Web
● Notas dos alunos
● Fotos
● Localização de Pokémons
● Sinais de televisão
● Saldo de contas correntes
● Produtos à venda
 
Dados X Aplicações
Curtidas
Notas dos
alunos
Localização
Pokémons
Produtos
à venda
Saldo de
contas
 
Dados X Aplicações
Curtidas
Notas dos
alunos
Localização
Pokémons
Produtos
à venda
Saldo de
contas
Banco
de
Dados
 
Dados e aplicações
● Diversas aplicações geram e lidam com 
uma grande quantidade de dados
● É importante garantir a integridade dos 
dados e disponibilizá-los da forma mais 
efciente possível
● Sistemas de Gerenciamento de Bancos 
de Dados (SGBDs) são responsáveis pelo 
armazenamento, gerenciamento e 
disponibilização dos dados
 
Um Sistema de Gerenciamento 
de Bancos de Dados provê:
Armazenamento e acesso a uma 
grande quantidade de dados 
persistentes de forma efciente, 
confiável, conáveniente, segura e 
multi-usuirio.
 
Super SGBD
SGBD
Preciso implementar um 
sistema! Quem cuidará 
dos meus dados??
Eu, 
o Super SGBD
SGBDs desempenham muitas tarefas importantes que 
sobrecarregariam os programadores. Veremos ao 
longo do curso o quanto eles facilitam nosso trabalho.
 
Arquiteturas típicas 
para SGBDs
● O SGBD intermedia a manipulação dos 
dados para as aplicações
● Como esta intermediação é feita e quais 
elementos estão envolvidos depende do 
contexto da aplicação
● Aplicações podem demandar diversas 
confgurações de arquiteturas locais ou 
distribuídas (ou híbridas)
 
Arquitetura local
● Não costumam ser classifcados como SGBDs
● O banco é um software ou biblioteca 
executado no mesmo dispositivo da aplicação
BDApp
Computador, Celular, etc
 
Arquitetura Cliente-
Servidor
● Usada na maioria das instituições
● Usuário acessa a aplicação por um 
dispositivo Cliente (desktop, laptop, 
celular…)
● Aplicação envia consultas para obter dados 
do SGBD (Servidor)
● SGBD processa consulta e retorna dados 
para serem exibidos no Cliente
● Exemplos: Folha de pagamentos, iTunes
 
Arquitetura Cliente-
Servidor
App
Cliente 1
Servidor
SGBD
App
Cliente n
. . . Rede
 
Arquitetura Web 1.0
● Usada na maioria dos sites “normais”
● Usuário usa o navegador para requisitar 
páginas para um Servidor Web
● Servidor Web envia consultas a um ou mais 
SGBDs para obter dados e montar a página
● Exemplos: bancos online, sites de empresas
● Muitas apps e sites como Facebook, Google 
precisam de arquiteturas mais complexas. 
Veremos estes casos no fm do curso.
 
Arquitetura Web 1.0
Servidor 1
SGBD
. . . Internet
Navegador 1
Servidor
Web
Navegador n Servidor n
SGBD
Rede
Interna
. . .
 
Exemplo: Facebook
1.Usuário abre o navegador e entra em 
facebook.com
2.Servidor Web do facebook recebe a 
requisição do usuário
3.Servidor Web do facebook obtém dados do 
mural de um SGBD interno
4.Servidor Web do facebook obtém dados de 
propaganda de um outro SGBD interno
5.Servidor Web do facebook monta a página 
e envia para o navegador exibir
 
Conceitos importantes
● Modelo de Dados – Como representar os 
dados (listas, tabelas, árvores, grafos…)
● Esquema X Dados – Separação entre a 
defnição (tipo) e o conteúdo (instâncias, 
variáveis)
● Linguagem de Consulta – Como requisitar 
dados para o banco de forma conveniente 
(exemplo: como dizer para o SGBD 
“obtenha o salário médio de todos os 
funcionários que têm mais de 30 anos”)
 
Domadores de SGBDs
● Implementador: quem constrói o sistema 
(em geral grandes empresas como MS, IBM, 
Oracle, mas também muitas startups)
● Projetista: Faz análise e cria o esquema 
(defne os tipos ou classes)
● Desenávolávedor de aplicações: 
programador que usa o banco de dados (faz 
consultas, modifca dados)
● Administrador (DBA): Gerencia o 
carregamento de dados, segurança, 
backups, efciência, etc.
 
Uma breve história 
dos SGBDs
● Início (até 1980): Caos (sem SGBDs)
● Maturidade (1980 a 2000): Bancos de 
dados relacionais surgem, dão ordem ao 
caos, dominam indústria, fazem 
bilionários
● Dilúvio de dados (2000, hoje e amanhã): 
Web explode e inicia um novo caos!!!
 
Caos (até ~1980)
● Ninguém sabe como armazenar os dados
● Cada um faz do seu jeito
● Métodos populares: hierárquico, rede
● Manutenção cara, difícil integração entre 
sistemas, bugs, inconsistência...
● Avanços em discos e ftas 
magnéticas permitem 
armazenamento de grandes 
quantidades de dados
 
Exemplo: Biblioteca
P r o g r a m a d e
C o n t r o l e d e M e m b r o s
P r o g r a m a d e
R e g i s t r o d o A c e r v o
C a d a s t r o d e
M e m b r o s
A r q u i v o
C a d a s t r o d e
L i v r o s
A r q u i v o
Sistemas isolados, implementados 
de forma independente e incompatíveis!
(Santanchè 2013)
 
Sistemas/Arquivos 
Isolados
● Redundância não controlada
– Repetição
– Inconsistência
● Barreiras para referenciar dados em 
outros sistemas
● Difculdades com:
– acesso concorrente
– integridade e recuperação em caso de falha
– segurança e controle de acesso
 
SGBDs (80's)
● Modelos conceituais 
sólidos (Modelo 
Relacional)
● Separação entre visão 
lógica e implementação 
física
● Linguagens de consulta 
poderosas (SQL)
● Implementações 
comerciais efcientes
 
Benefícios dos SGBDs
● Independência de dados
● Acesso efciente
● Tempo reduzido no desenvolvimento de 
aplicações
● Segurança e integridade de dados
● Administração de dados uniforme
● Acesso concorrente
● Recuperação de falhas
 
P r o g r a m a d e
C o n t r o l e d e M e m b r o s
P r o g r a m a d e
R e g i s t r o d o A c e r v o
C a d a s t r o d e
M e m b r o s
C a d a s t r o d e
L i v r o s
B a n c o d e D a d o s d a B i b l i o t e c a
e m p r é s t i m o
SGBD
(Santanchè 2013)
 
SGBD
Banco de Dados
SGBD
Sistema Gerenciador de
Banco de Dados
Aplicação Aplicação Aplicação
(Santanchè 2013)
 
Independência
de Dados
● Separação entre 
como aplicações 
enxergam os dados 
e como eles estão 
armazenados
M o d e l o C o n c e i t u a l
B a n c o d e D a d o s
V i s ã o E x t e r n a 1 V i s ã o E x t e r n a 2 V i s ã o E x t e r n a n
U s u á r i o s 
F i n a i s
M o d e l o L ó g i c o
M o d e l o F í s i c o
e s q u e m a c o n c e i t u a l
e s q u e m a l ó g i c o
e s q u e m a f í s i c o
r e q u i s i t o s r e q u i s i t o s r e q u i s i t o s
I n d e p e n d e n t e d e S G B D
D e p e n d e n t e d e S G B D
( G u i m a r ã e s , 2 0 0 3 )
 
Modelo Relacional
● Proposto por E. F. Codd em 1970 no artigo:
– “A Relational Model for Large Shared Data 
Banks”
● Independência da estrutura interna
– “Activities of users at terminals and 
most application programs should 
remain unafected when the internal 
representation of data is changed […]” 
(Codd, 1970)
 
Modelo Relacional● Modelo mais amplamente utilizado por 
SGBDs
● Maiores empresas de informática oferecem 
soluções: IBM, Microsoft, Oracle, SAP
● Grandes projetos Open Source: MySQL, 
PostgreSQL, SQLite
● De celulares à data centers
● Mercado de U$24bi (2012)
 
Larry Ellison, ORACLE
 
Relação (Tabela)
● Tupla = conjunto ordenado de atributos
● Valores de atributos são atômicos e monovalorados
I S B N T í t u l o C a t e g o r i a A u t o r A n o
9 5 8 0 4 7 1 4 4 4 V i d a s S e c a s R o m a n c e G r a c i l i a n o R a m o s 1 9 3 8
9 5 8 0 4 7 9 5 0 X A g o s t o R o m a n c e R u b e m F o n s e c a 1 9 9 0
0 5 5 4 2 5 3 2 1 6 M i c r o g r a p h i a C i ê n c i a s R o b e r t H o o k e 1 6 6 5
0 1 9 5 0 8 7 4 4 5 D i v i n a C o m é d i a P o e s i a D a n t e A l i g h i e r i 1 3 0 8
0 5 5 9 2 7 4 2 8 9 L e O p e r e C i ê n c i a s G a l i l e u G a l i l e i 1 8 1 1
0 4 5 1 5 2 6 9 2 9 H a m l e t D r a m a W i l l i a m S h a k e s p e a r e 1 5 9 9
1 6 0 3 0 3 3 7 8 5 O t h e l l o D r a m a W i l l i a m S h a k e s p e a r e 1 5 6 5
t u p l a s
a t r i b u t o s
L i v r o
r e l a ç ã o
(Santanchè 2013)
 
Consultas (SQL)
ISBN Título Categoria Autor Ano
9580471444 Vidas Secas Romance Graciliano Ramos 1938
958047950X Agosto Romance Rubem Fonseca 1990
0554253216 Micrographia Ciências Robert Hooke 1665
0195087445 Divina Comédia Poesia Dante Alighieri 1308
0559274289 Le Opere Ciências Galileu Galilei 1811
0451526929 Hamlet Drama William Shakespeare 1599
1603033785 Othello Drama William Shakespeare 1565
Livro
● Obtenha todos os livros de categoria 
“drama”
● SELECT * FROM Livro 
WHERE Categoria = “Drama”
 
SGBDs (2000 em 
diante)
● Modelo relacional continua 
dominando o mercado
● BDs relacionais são 
adequados para mais de 
90% das aplicações
● Mas a Internet, Celulares, 
Redes Sociais, Sensores… 
Têm causado uma revolução!
BigData – Dilúvio 
de Informação
 
Dilúvio de Informação
● 1bi usuários conectados no facebook 
(23/08/2015)
● 2bi smartphones no mundo
● 1b sites web
● 300 horas de vídeo no YouTube a cada minuto
● Google, Amazon, Microsoft and Facebook = 
1,200 petabytes = 1.200.000.000.000.000.000 
bytes = 5 pilhas de CDs até a Estação Espacial 
Internacional
 
Cientista de DadosCientista de Dados
• salário médio nos 
EUA $118,709 
(dobro de um 
programador) 
• em 2018 se prevê 
um défcit de 
140.000 a 190.000 
profssionais nos 
EUA
 
 
Revista Exame
● Cerca de 2,5 bilhões de gigabytes de 
dados são criados diariamente, o 
sufciente para encher 15 milhões de 
iPads.
● … É aí que entra a fgura do cientista de 
dados, capaz de extrair informações úteis 
de onde impera o caos.
● “Esse profssional é alguém que consegue 
unir dados desconexos, apontar 
tendências e ajudar na tomada de 
decisões” (IBM Brasil)
 
Revista Exame
● A atual ênfase dada a esse profssional 
marca uma nova fase da indústria de TI.
● No Brasil, um profssional recém-formado 
pode ganhar até 000 reais, enquanto os 
gerentes chegam a receber cerca de 20000 
reais.
● “Hoje, a disputa por esses profssionais é 
global e deve persistir por pelo menos uma 
década”
● o défcit de profssionais pode chegar a 
380000 vagas no mundo em 2018.
 
Business Insider
http://www.businessinsider.com/data-scientist-best-job-in-us-right-now-2018-
2
 
Business Insider
● For the third year in a row, data scientist 
has been ranked the best job in America
● the data scientist position has the highest 
overall job score of 4.8 out of a possible 5
● data scientists have an average 
compensation of $120,000 per year, there 
are 4,524 job openings, and overall job 
satisfaction in the position scores a 4.2 out 
of 5
http://www.businessinsider.com/data-scientist-best-job-in-us-right-now-2018-
2
 
Business Insider - skills
● SQL
● Some Python
● R
● Modeling
● Dashboarding
● Depending on the data scientist you are you 
can use Tableau
● More recent big data tools like Hadoop
http://www.businessinsider.com/data-scientist-best-job-in-us-right-now-2018-2
 
Engenheiros e Dados
● As soluções para processamento de dados 
atualmente mesclam otimizações de 
software e hardware
● Atuais datacenters são monstros a serem 
domados
● Empresas tipicamente de engenharia estão 
se tornando cada vez mais especialistas em 
dados
● O mercado está crescendo… muito!
 
Luiz André Barroso
Engenheiro do Google responsável pelo 
desenvolvimento da arquitetura de Datacenter 
moderna.
 
McLaren
 
Tesla Motors
● Autonomous cars 
● Fleet learning 
● over-the-air updates
 
O que vamos ver
● Como obter e armazenar dados
● Como modelar os dados
● Como gerenciar os dados
● Como consultar e manipular os dados
● Como otimizar o desempenho do banco 
para atender às necessidades da aplicação
● E como resolver qualquer problema 
relacionado com dados no mundo e região!
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27
	Slide 28
	Slide 29
	Slide 30
	Slide 31
	Slide 32
	computação + internet = dilúvio de informação
	Slide 34
	Slide 35
	Cientista de Dados
	Slide 37
	Slide 38
	Slide 39
	Slide 40
	Slide 41
	Slide 42
	Slide 43
	Slide 44
	Slide 45
	Slide 46
	Slide 47

Continue navegando