Você está na página 1de 6

0010010110101111001111110101010101000

1010100010101110111000111010110011011
Arquitetura de um SGBD Introdução
10010110101111001111110101010101000
10100010101110111000111010110011011
Banco de Dados: Teoria e Prática Bancos de Dados
10010010110101111001111110101010101
Slides de Luiz Celso Gomes-Jr 010100010101110111000111010110011
Aula ministrada por André Santanchè
Instituto de Computação – UNICAMP 110111100111111010101010100010111
Setembro de 2016 10101110111000111010110011011111
1011101001010101110000101010111
0110101111001111110101010101000
010101110111000111010110011011
010110101111001111110101010101
Luiz Celso Gomes-Jr
100010101110111000111010110011
gomesjr@dainf.ct.utfpr.edu.br
11100111111010101010100010111

Picture by http://www.flickr.com/photos/fdecomite/1457493536/
10110101111001111110101010101

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 Dados X Aplicações


Curtidas Curtidas

Notas dos Notas dos


alunos alunos
Banco
Localização Localização
Pokémons Pokémons de
Produtos Produtos Dados
à venda à venda

Saldo de Saldo de
contas contas
Dados e aplicações Um Sistema de Gerenciamento
de Bancos de Dados provê:

Diversas aplicações geram e lidam com uma
grande quantidade de dados

É importante garantir a integridade dos Armazenamento e acesso a uma
dados e disponibilizá-los da forma mais grande quantidade de dados
eficiente possível persistentes de forma eficiente,

Sistemas de Gerenciamento de Bancos confiável, conveniente, segura e
de Dados (SGBDs) são responsáveis pelo multi-usuário.
armazenamento, gerenciamento e
disponibilização dos dados

Super SGBD Arquiteturas típicas


Eu, para SGBDs
Preciso implementar um o Super SGBD
sistema! Quem cuidará
dos meus dados?? ● O SGBD intermedia a manipulação dos
dados para as aplicações
SGBD
● Como esta intermediação é feita e quais
elementos estão envolvidos depende do
contexto da aplicação
● Aplicações podem demandar diversas
SGBDs desempenham muitas tarefas importantes que configurações de arquiteturas locais ou
sobrecarregariam os programadores. Veremos ao distribuídas (ou híbridas)
longo do curso o quanto eles facilitam nosso trabalho.

Arquitetura Cliente-
Arquitetura local Servidor
● Usada na maioria das instituições
● Não costumam ser classificados como SGBDs
● Usuário acessa a aplicação por um
● O banco é um software ou biblioteca dispositivo Cliente (desktop, laptop,
executado no mesmo dispositivo da aplicação celular…)
● Aplicação envia consultas para obter dados
Computador, Celular, etc
do SGBD (Servidor)
● SGBD processa consulta e retorna dados
App BD para serem exibidos no Cliente
● Exemplos: Folha de pagamentos, iTunes
Arquitetura Cliente- Arquitetura Web 1.0
Servidor ●
Cliente 1 Usada na maioria dos sites “normais”
● Usuário usa o navegador para requisitar
App Servidor páginas para um Servidor Web
● Servidor Web envia consultas a um ou mais
SGBD SGBDs para obter dados e montar a página
Rede

...
● Exemplos: bancos online, sites de empresas
Cliente n
● Muitas apps e sites como Facebook, Google
precisam de arquiteturas mais complexas.
App
Veremos estes casos no fim do curso.

Arquitetura Web 1.0 Exemplo: Facebook


Navegador 1 Servidor 1 1.Usuário abre o navegador e entra em
Servidor facebook.com
Web SGBD
2.Servidor Web do facebook recebe a
requisição do usuário
Rede 3.Servidor Web do facebook obtém dados do
Internet

...
...

Interna mural de um SGBD interno


Navegador n Servidor n 4.Servidor Web do facebook obtém dados de
propaganda de um outro SGBD interno
SGBD 5.Servidor Web do facebook monta a página
e envia para o navegador exibir

Conceitos importantes Domadores de SGBDs



Implementador: quem constrói o sistema

Modelo de Dados – Como representar os (em geral grandes empresas como MS, IBM,
dados (listas, tabelas, árvores, grafos…) Oracle)

Esquema X Dados – Separação entre a ●
Projetista: Faz análise e cria o esquema
definição (tipo) e o conteúdo (instâncias, (define os tipos ou classes)
variáveis) ●
Desenvolvedor de aplicações:

Linguagem de Consulta – Como programador que usa o banco de dados (faz
requisitar dados para o banco de forma consultas, modifica dados)
conveniente (exemplo: como dizer para o ●
Administrador (DBA): Gerencia o
SGBD “obtenha o salário médio de todos os
carregamento de dados, segurança,
funcionários que têm mais de 30 anos”)
backups, eficiência, etc.
Uma breve história Caos (até ~1980)
dos SGBDs ● Avanços em discos e fitas
magnéticas permitem
● Caos (sem SGBDs) armazenamento de grandes
● Bancos de dados relacionais surgem, dão quantidades de dados
ordem ao caos, dominam indústria, fazem
● Ninguém sabe como armazenar os dados
bilionários
● ● Cada um faz do seu jeito
Web explode e inicia um novo caos!!!
● Métodos populares: hierárquico, rede
● Manutenção cara, difícil integração entre
sistemas, bugs, inconsistência...

Exemplo: Biblioteca Sistemas/Arquivos


Isolados
P ro g ra m a d e P ro g ra m a d e
C o n t r o le d e M e m b r o s R e g is t r o d o A c e r v o ● Redundância não controlada
(Santanchè 2013)
– Repetição
– Inconsistência
● Barreiras para referenciar dados em
C a d a s tro d e C a d a s tro d e outros sistemas
M e m b ro s L iv r o s
● Dificuldades com:
A r q u iv o A r q u iv o

– acesso concorrente
– integridade e recuperação em caso de falha
Sistemas isolados, implementados
de forma independente e incompatíveis! – segurança e controle de acesso

SGBDs (80's) Benefícios dos SGBDs



● Modelos conceituais Independência de dados
sólidos (Modelo ● Acesso eficiente
Relacional) ● Tempo reduzido no desenvolvimento de
● Separação entre visão aplicações
lógica e implementação ● Segurança e integridade de dados
física
● Administração de dados uniforme
● Linguagens de consulta
● Acesso concorrente
poderosas (SQL)
● ● Recuperação de falhas
Implementações
comerciais eficientes
SGBD SGBD
P ro g ra m a d e P ro g ra m a d e
C o n t r o le d e M e m b r o s R e g is t r o d o A c e r v o Aplicação Aplicação Aplicação

SGBD
Sistema Gerenciador de
Banco de Dados
C a d a s tro d e C ad as tro d e
M e m b ro s L iv r o s

B a n c o d e D a d o s d a B ib lio t e c a

Banco de Dados
e m p r é s t im o

(Santanchè 2013) (Santanchè 2013)

V is ã o E x t e r n a 1 V is ã o E x te r n a 2 V is ã o E x t e r n a n

r e q u is ito s r e q u is it o s r e q u is it o s
Modelo Relacional
Independência M o d e lo C o n c e itu a l
● Modelo mais amplamente utilizado por
de Dados e s q u e m a c o n c e itu a l SGBDs
In d e p e n d e n te d e S G B D ● Maiores empresas de informática oferecem
M o d e lo L ó g ic o
D e p e n d e n te d e S G B D
soluções: IBM, Microsoft, Oracle, SAP
e s q u e m a ló g ic o
● Grandes projetos Open Source: MySQL,
● Separação entre
M o d e lo F í s ic o PostgreSQL, SQLite
como aplicações

enxergam os dados e s q u e m a fís ic o De celulares à data centers
e como eles estão ● Mercado de U$24bi (2012)
armazenados B anco de D ados
( G u im a r ã e s , 2 0 0 3 )

Larry Ellison, ORACLE SGBDs (90's 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 Dilúvio de Informação
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

Agradecimentos
▪ Luiz Celso Gomes-Jr pelos slides. Página do Celso:
http://dainf.ct.utfpr.edu.br/~gomesjr/

André Santanchè
http://www.ic.unicamp.br/~santanche

Você também pode gostar