You are on page 1of 34

69

R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
ADMINISTRAO DE BANCO DE DADOS
Unidade IV
7 ADMINISTRAO DE BANCO DE DADOS
Nas unidades anteriores, apresentamos os conceitos fundamentais necessrios para o entendimento
e a criao de um banco de dados. Na fase de concepo e criao, o administrador de banco de dados
est mais prximo do administrador de dados. Aps a implementao fsica do projeto de banco de
dados, isso no signica que o trabalho acabou, muito pelo contrrio, agora que as habilidades e
experincia do DBA sero colocadas em prtica, pois o trabalho de ajustes de desempenho (tuning) e a
manuteno e a garantia de que tudo funcione da maneira desejada vo depender de aes contnuas
desse prossional.
Os conceitos descritos a seguir sero apresentados de forma genrica, pois o ideal seguir as
recomendaes oferecidas pelos fornecedores de banco de dados. Parece estranho, mas no . No
adianta voc comprar uma Ferrari, por exemplo, e estudar o manual do Gol. Se voc quer tirar o mximo
de proveito de todas as funcionalidades da Ferrari, ter que se tornar um especialista. A analogia parece
absurda, mas funciona para banco de dados.
De modo geral, os SGBD costumam armazenar os dados e as estruturas de bancos de dados em
locais e arquivos diferentes de onde so armazenadas as informaes sobre as operaes efetuadas
sobre os dados e as estruturas.
Por exemplo, o SGBD Microsoft SQL Server armazena os dados em dois arquivos distintos:
Um arquivo com a extenso mdf
Arquivo principal do banco de dados.
Nesse arquivo so gravados os dados e a estrutura do banco de dados.
Um arquivo com a exteno ldf
Arquivo de log do banco de dados.
Grava todas as operaes realizadas dentro do banco de dados.
Funciona como um dirio de tudo o que acontece l dentro.
70
Unidade IV
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
Observao
Os fornecedores de banco de dados oferecem cursos especficos
para capacitar os profissionais de administrao de banco de dados.
Nem sempre uma tarefa trivial, em que basta ler um manual e
seguir.
A escolha do banco de dados da empresa uma deciso muito delicada, na medida em que
est ir acarretar troca de aplicativos e de hardware. Os investimentos diretamente aplicados
no banco de dados costumam ser infinitamente menores do que aqueles a serem aplicados na
empresa, visando sua perfeita adequao ao novo SGBD. Essa deciso, sempre que possvel,
deve ser tomada por especialistas em banco de dados, com profundos conhecimentos de
anlise de sistemas, de banco de dados e de software de gerenciamento de banco de dados,
de forma a evitar que a empresa escolha um banco de dados inadequado aos seus propsitos
e, pouco tempo depois, seja obrigada a perder todos os investimentos realizados em software
e hardware.
7.1 Backup
O backup considerado como uma das atividades mais importantes e crticas de administrao de
banco de dados. Consiste em fazer uma cpia de segurana (dump) dos dados e da estrutura do banco
de dados, e das operaes realizadas na linha do tempo, entre uma cpia e outra.
O backup em tempo de execuo uma caracterstica sempre disponvel em todos os tipos de SGBD,
porm temos aplicaes que invariavelmente so comprometidas por falhas de hardware e outras cujo
mesmo tipo de falha no causa perda alguma de dados ou de integridade.
Novamente, cada SGBD tem essa caracterstica melhor ou pior implementada, cabendo ao
administrador de banco de dados escolher aquele que lhe oferecer mais segurana.
Normalmente, as falhas podem ser de dois tipos: soft crach e hard crash. A primeira so
falhas do sistema (por exemplo, queda de energia) que afetam todas as transaes em curso no
momento, mas no danicam sicamente o banco de dados. A segunda so falhas da mdia (por
exemplo, queda da cabea de gravao sobre o disco) que causam danos ao banco de dados ou
a uma parte dele e afetam pelo menos todas as transaes que, no momento, esto usando essa
parte.
7.1.1 Recuperao e concorrncia
Os problemas de recuperao e concorrncia de dados esto ligados a processamento de
transao.
71
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
ADMINISTRAO DE BANCO DE DADOS
Lembrete
Transao uma unidade de trabalho lgica, ou seja, uma sequncia
de operaes que transforma um estado consistente de banco de dados em
outro estado consistente, sem que os pontos de consistncia intermedirios
sejam preservados.
O sistema no deve permitir que transaes sejam executadas em parte (ou seja, o programa pode
terminar de forma anormal durante as atualizaes), pois isso levaria o banco a um estado inconsistente.
Por isso, sistemas que suportam o processamento de transao tm uma melhor forma de segurana.
Essa segurana resumida em quatro tpicos, a saber:
Atomicidade: ter a certeza de que uma transao foi totalmente executada ou totalmente
cancelada. Nunca uma execuo pode car pela metade.
Consistncia: no permanecer com estgio intermedirio, deve ir de um estgio consistente a outro.
Isolamento: uma transao, quando executada, tem que ser executada independente de outra.
No importa se elas estejam sendo processadas separadas ou de forma concorrente, o resultado
ter que ser o mesmo. Existe um sistema gerenciador de transao que permite isso.
Durabilidade: garantir que todas as transaes no realizadas permaneam no banco e sejam
realizadas assim que o computador for reinicializado. Se, por algum problema, o computador
desligar e o disco no for danicado, a durabilidade tem que estar funcionando.
Observao
A atomicidade proporcionada por meio das operaes COMMIT e
ROLLBACK.
7.1.2 Pontos de sincronizao
O ponto de sincronizao representa a ligao entre duas transaes consecutivas, mostrando onde
o banco de dados est (ou deveria estar) em estado de consistncia. As nicas operaes que apresentam
este ponto so COMMIT e ROLLBACK.
COMMIT: garante que a transao foi nalizada com xito. O banco de dados (depois do trmino da
transao) encontra-se em estado de consistncia, e todas as suas atualizaes so permanentes.
ROLLBACK: assinala que a transao foi malsucedida. O sistema informa que algo saiu errado e
que todas as atualizaes devem ser refeitas, ou seja, elimina vestgios do que foi feito.
72
Unidade IV
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
Observao
As operaes COMMIT e ROLLBACK terminam a transao e no o
programa.
Todas as transaes so acumuladas em um buffer, que, de tempo em tempo, atualiza o banco;
caso ocorra uma queda de energia, as operaes efetuadas at ento so perdidas. Assim, para melhor
segurana, necessrio que esteja presente sempre um arquivo de log.
A finalidade desse arquivo registrar cronologicamente todas as transaes realizadas,
assim, quando houver uma falha, possvel fazer recuperao. O log, por sua vez, no pode
ficar no buffer, j que assim que desligado o computador, tudo o que est na memria
perdido.
7.2 Meios de recuperao (restore)
O sistema deve ser preparado para se recuperar no s das falhas locais (danos causados apenas
na rea em que estas ocorreram), mas tambm das falhas globais (danos em diversas reas, havendo
implicaes expressivas no sistema). H duas categorias de falhas, descritas a seguir.
7.2.1 Falhas do sistema
Normalmente, so causadas por queda de energia ou desligamento do computador sem
finalizao correta, que no danificam fisicamente o banco de dados. Assim, no se ter mais
conhecimento do momento exato da transao que estava processando, consequentemente, ela
ser desfeita.
Ainda h as transaes que foram realizadas com sucesso, mas que no tiveram tempo de ser
transferidas da memria intermediria do banco de dados para o banco de dados fsico.
Uma maneira de se controlar utilizando um mtodo conhecido como check point
(ponto de controle), de tempo em tempo o sistema faz as anotaes cronolgicas. Tem como
objetivo:
passar sicamente o contedo das memrias intermedirias do banco de dados para o banco de
dados fsico;
passar sicamente o registro especial do ponto de controle para outra parte que no a anotao
cronolgica fsica.
73
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
ADMINISTRAO DE BANCO DE DADOS
Ponto de checagem
(Tempo, tc)
Falha no sistema
(Tempo, tf)
Tempo
T5
T4
T3
T2
I1
tf tc
Figura 36 Linha do tempo de uma transao RED
Nesse exemplo da gura 36, o ponto de checagem foi feito quando as transaes T1 e T5 j tinham
comeado e a transao T4 j tinha acabado. A T3 comeou e terminou depois do ponto de checagem,
e a T2 comeou depois e no terminou a sua execuo. Neste caso, algumas tero que ser refeitas e
outras desfeitas.
Tabela 1
Refeitas Desfeitas
T3 T1
T5 T2
As transaes T3 e T5 tero que ser refeitas, pois, antes de acontecer a falha do sistema, elas j
tinham sido nalizadas. Ento, o contedo concludo at o ponto de checagem precisa ser conrmado
e, assim, nalizar de forma correta a transao.
J T1 e T2 precisam ser desfeitas, pois, quando a falha ocorreu, a sua execuo no havia terminado.
necessrio que apague tudo o que foi feito, ou seja, desfazer, para que seja reiniciada a transao.
7.2.2 Falhas dos meios fsicos
So as falhas que ocorrem danicando o disco rgido, ou seja, certa parte dos dados destruda.
Exemplo: colapso de uma cabea de disco ou falha no controlador de disco. importante sempre ter
cpia do banco (backup), pois, em uma falha dos meios, se podem perder inmeras informaes, o que
ir trazer prejuzo ou danos ao usurio.
Nesse caso, o sistema precisa ser recriado em outra mquina. Para que o impacto dessas aes
de reconstruo do ambiente seja o menor possvel, na viso do usurio, existem diversas solues
que envolvem no s a substituio do disco danicado, mas todo um projeto de contingncia e alta
disponibilidade do seu ambiente como um todo.
74
Unidade IV
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
A arquitetura do seu ambiente deve ser projetada em conjunto com a equipe de analistas
de suporte e de redes. Projetos desse tipo costumam envolver a alta administrao da
organizao, pois o investimento alto e s vezes significa a contrao de servios de data
center especializados. Tudo vai depender do valor dos dados da empresa e de quanto vale o
risco de perder os dados.
7.3 Concorrncia
Em um sistema em que existe a possibilidade de se ter inmeras transaes ocorrendo ao mesmo
tempo, h a necessidade de um mecanismo de controle de concorrncia, que assegure que uma
transao no interra em outra. Alguns problemas que podem surgir com a ausncia deste mecanismo
so: perda de atualizao, dependncia de uma transao no conrmada, anlise inconsistente. Para
evitar tamanho transtorno, utilizado um mecanismo chamado bloqueio (lock), que permite segurana
e consistncia no banco de dados.
Para entender melhor o que signica a perda de atualizaes, vamos considerar a seguinte situao:
duas pessoas editam o mesmo registro, uma altera o telefone e outra, o endereo; ao conrmarem,
ser gravada a ltima atualizao. Isso ocorre por no haver nenhum tipo de controle no banco, mas
essa situao pode ser contornada congurando-se o sistema para que no libere o registro quando ele
estiver sendo usado por outro usurio.
O problema da dependncia de uma transao no confirmada que isso pode retornar
para o usurio informaes erradas, comprometendo muito a utilizao do banco. Suponha
que ocorra a seguinte situao: uma transao A faz um update, logo em seguida, uma
transao B faz uma leitura no mesmo dado. Se, por algum motivo, houver um rollback na
transao A, a transao B ter visto um dado que no mais existe, ou seja, o rollback desfez
tudo da transao A, e a transao B fica desatualizada, oferecendo ao usurio informaes
inconsistentes.
No exemplo a seguir, fica clara essa situao: a transao A teve sua alterao e, antes mesmo
de ela ser confirmada, houve um rollback, resultando na desatualizao dos dados fornecidos na
transao B.
Tabela 2
Transao A Tempo Transao B
UPDATE T1 -
- T2 READ
ROLLBACK T3 -
O problema da anlise inconsistente: consideremos a seguinte situao em uma conta bancria:
75
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
ADMINISTRAO DE BANCO DE DADOS
Tabela 3
Transao A Tempo Transao B
Soma 50 T1 -
Soma 20 T2 -
- T3 READ
- T4 Transferncia
(20)
- T5 COMMIT
Total 70 T6 -
Como pode ser observado, as transaes A e B esto utilizando a mesma conta bancria. A primeira
faz a soma, e a segunda realiza uma transferncia de dinheiro. O total da transao A retornar um
resultado inconsistente, pois os dados alterados pela transao B no foram atualizados, e como ocorreu
o commit (conrmao da transferncia), a conta no teve o devido dbito.
7.4 Bloqueio (Lock)
Havendo duas transaes, com ambas precisando do mesmo dado, elas devero ser executadas uma
aps a outra; isso possvel quando se utiliza a tcnica do bloqueio.
Existem dois tipos de bloqueios:
Bloqueio compartilhado: pode haver inmeras pessoas utilizando o mesmo dado. Quando uma
transao B solicita um dado que est sendo utilizado pela transao A, B ca em estado de
espera at que A libere o bloqueio.
Bloqueio exclusivo: ningum mais tem acesso quele dado.
Todas as operaes de banco de dados geram bloqueios, at mesma a leitura.
Observao
No pode haver dois bloqueios exclusivos nem um compartilhado e
exclusivo, seno no exclusivo.
A tcnica do bloqueio pode resolver os problemas encontrados na concorrncia. Como foi visto, se
um mesmo registro estiver sendo utilizado ao mesmo tempo por usurios diferentes, e estes, por sua
vez, zerem alteraes nele, permanecer a ltima mudana feita. Com o bloqueio, as transaes A e
B podem utilizar o mesmo registro, sendo que o ltimo a solicitar os dados permanece em estado de
espera, embora haja desta forma um conito entre os bloqueios gerado pelas transaes.
76
Unidade IV
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
Por razes anlogas, a transao que primeiro utilizava o registro entra em estado de espera, e a
outra transao executada. E assim temos um problema que o bloqueio traz: o impasse, em que as
duas transaes so incapazes de prosseguir, eliminando desta forma a perda de atualizao.
Outro cenrio possvel quando a transao B solicita um registro que est sendo utilizado pela
transao A, nesse caso, a transao B entra em estado de espera. Enquanto A no alcanar o ponto
de sincronismo (ROLLBACK ou COMMIT), B no liberado para prosseguir. Assim que A terminar sua
execuo, B liberado e, neste ponto, ele j pode obter um valor conrmado pela transao anterior,
seja por ROLLBACK ou por COMMIT, mas, de qualquer maneira, B no depender de uma atualizao
no conrmada.
Se uma transao A est em bloqueio compartilhado, e B solicita implicitamente um bloqueio
exclusivo no mesmo registro, B ca em estado de espera at que A libere. Assim que liberado, a
transao A no consegue mais ser executada, pois a solicitao implcita de bloqueio compartilhado
entra em conito com o bloqueio exclusivo feito por B, forando um impasse no qual ambos cam
na espera.
Observao
Impasse uma situao em que as transaes cam paradas espera da
outra para liberar bloqueio. Isso pode acontecer com vrias transaes, no
necessariamente com duas. Quando houver um impasse, necessrio que
o sistema detecte, liberando os bloqueios, permitindo assim que continue a
transao. A maneira como ser feito isso, o programador resolver, mas
importante que o usurio no tenha conhecimento disso.
7.5 Arquitetura bsica do ambiente de banco de dados
Voc pode ter um ambiente de alta disponibilidade e desempenho por meio da arquitetura de
hardware combinada com os recursos de software. As tcnicas bsicas envolvem dois conceitos: cluster
e replicao.
Cluster nome dado a um conjunto de computadores ligados em rede que funcionam como se
fossem um nico computador, compartilhando recursos de memria, armazenamento e processamento.
Essa tcnica faz parte do plano de contingncia e alta disponibilidade, pois voc pode desenvolver o seu
projeto de banco de dados distribudos.
7.5.1 Cluster de alto desempenho
Tambm conhecido como cluster de alta performance, ele funciona permitindo que ocorra uma
grande carga de processamento com um volume alto de gigaops em computadores comuns.
77
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
ADMINISTRAO DE BANCO DE DADOS
7.5.2 Cluster de alta disponibilidade
So clusters cujos sistemas conseguem permanecer ativos por um longo perodo de tempo e em
plena condio de uso. Pode-se dizer que eles nunca param seu funcionamento, alm disso, conseguem
detectar erros, protegendo-se de possveis falhas.
7.5.3 Cluster para balanceamento de carga
Esse tipo de cluster tem como funo controlar a distribuio equilibrada do processamento. Requer
um monitoramento constante na sua comunicao e em seus mecanismos de redundncia, pois, se
ocorrer alguma falha, haver uma interrupo no seu funcionamento.
Figura 37 Exemplo de esquema de um cluster
7.6 Replicao
Replicao de banco de dados a cpia dos dados do banco de dados original para outro banco de
dados. So vantagens da replicao em banco de dados:
78
Unidade IV
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
sistema menos sensvel a falhas, por causa da redundncia;
trabalho com balanceamento da carga;
backup on-line dos dados.
A replicao de banco de dados tambm pode ser usada para garantir a integrao e a integridade
entre os bancos de dados de sistemas com modelo de dados relacional distribudos. Nesse caso, o
sistema gerenciador de replicao de dados precisa ser capaz de replicar as transaes em tempo real.
Geralmente, os servidores de replicao s conseguem replicar uma imagem do banco (snapshot),
portanto, no d para implementar uma arquitetura desse tipo.
Saiba mais
Para conhecer essa soluo, recomendamos a leitura do case de sucesso
da USP, que est disponvel no site da Sybase por meio do link <http://
www.sybase.com.br/les/Success_Stories/USP_Replication_Server.pdf>.
Acesso em: 14 jun. 2012.
7.6.1 Replicao sncrona (eager)
A transao s concluda aps todos os servidores fazerem commit. conhecida como phase 2
commit, ou seja, o commit realizado em duas fases. Apesar de garantir consistncia de transao entre
servidores, de baixa escalabilidade. Outra caracterstica dessa arquiteta a indisponibilidade em caso
de queda de rede. Foi muito pesquisada nos ltimos dez anos, vrias implementaes foram realizadas,
mas considerada impraticvel para a maioria dos ambientes de produo por ser de altssimo custo e
de difcil manuteno.
7.6.2 Replicao assncrona (lazy)
A transao concluda localmente e depois replicada, portanto, com alta escalabilidade. No garante
consistncia de transao direta entre os servidores. Para ter essa consistncia, a implementao deve
ser modelada e implementada de tal forma que garanta essa consistncia. de baixo custo e resistente
a quedas de rede. Esse tipo de replicao foi implementado na USP e usado at hoje.
7.6.3 Replicao unidirecional (master-slave)
A replicao realizada sempre no mesmo e nico sentido, de um banco de dados A para um banco
de dados B. usado normalmente para hot-backup de servidores de banco de dados e tambm utilizado
para melhoria de desempenho de consultas em sites remotos. Apenas a base master recebe atualizaes.
Pouco sujeito a inconsistncias, mesmo no modelo lazy.
79
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
ADMINISTRAO DE BANCO DE DADOS
7.6.4 Replicao multidirecional (multi-master)
A replicao realizada em vrios sentidos. Usada para garantir alta disponibilidade e garantir melhor
desempenho tanto em consultas quanto em atualizaes. Todas as bases podem receber atualizaes.
Sujeito a inconsistncias no modelo lazy.
7.6.5 Exemplo de funcionamento de um cluster com replicao
Na gura a seguir, temos uma estrutura em cluster de alta disponibilidade, em que os servidores de
banco de dados esto em uma estrutura de replicao master-slave.
Aplicao
Leitura e
gravao
Replicao
Master_db Slave_db
Figura 38 Estrutura de cluster
Suponha que o servidor principal (master) de banco de dados apresente alguma falha e o torne
indisponvel. Existem diversos softwares por meio dos quais voc consegue congurar o monitoramento
da comunicao entre os servidores. Assim que for detectada a falha de comunicao, ela deve ser
redirecionada automaticamente para conectar com o servidor replicado; em alguns minutos, a aplicao
comear a funcionar a partir do servidor (slave).
Leitura e gravao
Aplicao
Replicao
Master_db Slave_db
Figura 39
8 MODELO DIMENSIONAL
A modelagem dimensional uma tcnica voltada especialmente para a implementao de um
modelo que permita a visualizao de dados de forma intuitiva e com altos ndices de performance na
extrao de dados. a tcnica de projeto mais utilizada para a construo de data warehouses (DW), que
busca um padro de apresentao dos dados de fcil visualizao pelo usurio nal e bom desempenho
para consultas.
O modelo dimensional, ou multidimensional, detecta os relacionamentos inerentes aos dados para
armazen-los em matrizes multidimensionais conhecidas como cubo de dados ou hipercubo, caso o
cubo possua mais de trs dimenses, conforme a gura a seguir:
80
Unidade IV
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
Figura 40 Representao grca de um cubo de dados
Permite que os dados sejam consultados diretamente em qualquer combinao de dimenses, sem
a necessidade de consultas complexas no banco de dados.
Ferramentas prprias proporcionam a visualizao dos dados de acordo com as dimenses escolhidas
pelo usurio.
O modelo dimensional composto por uma tabela dominante, com mltiplas junes, chamada de
tabela de fatos, e de um conjunto de tabelas conhecidas como tabelas de dimenso.
Tipos de esquema do modelo dimendisional:
Esquema estrela (star schema): um dos mais usados na modelagem dimensional e consiste
em uma tabela de fatos central e uma tabela para cada dimenso.
81
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
ADMINISTRAO DE BANCO DE DADOS
Esquema oco de neve (snowake): uma variao do esquema estrela em que algumas
tabelas de dimenso so normalizadas, criando-se uma tabela de dimenso secundria cuja chave
se torna estrangeira na tabela de dimenso primria. Essa tcnica interfere no entendimento dos
dados pelo usurio e na performance de algumas consultas, portanto, no deve ser usada como
regra geral, embora s vezes possa ser interessante ou at necessria.
8.1 Fatos
Os fatos so os atributos do comportamento. So medidas de aes que ocorrem entre diferentes
objetos ou dimenses. Em geral, so numricos ou aditivos (podem ser somados) e raramente
textuais.
A tabela de fatos a tabela principal de um modelo dimensional. formada por uma chave,
composta pelas chaves das dimenses relacionadas e de um ou mais fatos mensurveis, ou medidas, em
geral numricas, para cada conjunto das dimenses. Observe-se que muitas vezes no existe um valor
associado para um cruzamento de dimenses.
O fato representa uma medio do negcio, isto , fato tudo aquilo que pode ser medido. A lista
de dimenses dene a granularidade da tabela de fatos (qual o escopo da medio).
As caractersticas bsicas de um fato so:
variam ao longo do tempo;
tem valores numricos;
seu histrico cresce com o passar do tempo.
Uma linha da tabela de fato corresponde a uma medio. Uma medio uma linha da tabela de
fatos. Todas as tabelas de fatos esto alinhadas com a mesma granularidade. As medies dos fatos
devem ser numricas e aditivas. As tabelas de fato representam relaes N:N. As medidas podem ser
classicadas em:
Valores aditivos: medidas em que podem ser aplicados os operadores, tais como soma, porcentagem
etc. Faz sentido adicion-los continuamente e sobre todas as dimenses, por exemplo, vendas em
R$ e vendas em unidades.
Valores no aditivos: medidas que no podem ser manipuladas livremente, como porcentagtem
ou valores relativos, tais como temperatura e condio do tempo.
8.2 Dimenso
As dimenses descrevem pessoas, lugares e coisas relacionadas a um negcio. As tabelas de dimenso
so formadas por uma chave primria e por atributos que a descrevem. Quanto maior o tempo dedicado
82
Unidade IV
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
descrio dos atributos, ao preenchimento dos seus valores e garantia da qualidade dos dados,
melhor ser o DW.
Cada dimenso tem sua prpria granularidade, que no pode ser menor que da tabela de fatos, mas
pode ser maior.
Dimenses determinam o contexto em que ocorreram os fatos. No modelo dimensional, cada
dimenso est associada a um ou mais fatos, sendo estas usualmente mapeadas em entidades no
numricas e informativas. As dimenses contm descritores textuais da empresa.
As tabelas de dimenso so pontos de entrada para a tabela de fatos. Atributos de dimenses ecazes
produzem recursos analticos ecientes. As dimenses implementam a interface de usurio para o DW.
A maioria dos fatos envolve pelo menos quatro dimenses bsicas: onde, quando, quem e o qu.
A dimenso onde determina o local em que o fato ocorreu (local geogrco, lial).
A dimenso quando a prpria dimenso tempo.
A dimenso quem determina quais entidades participaram do fato (cliente, fornecedor, funcionrio).
A dimenso o qu determina qual o objeto do fato (produto, servio).
Observao
Existem casos em que algumas dimenses podem conter milhes de
entradas, por exemplo, a dimenso cliente em uma companhia telefnica;
neste caso, a navegao por essa dimenso pode tornar-se demorada.
Pode-se, neste caso, utilizar ndices nos atributos que sejam objetos de
navegao.
Frequentemente, os campos mais utilizados em uma dimenso grande possuem um domnio
pequeno, ou seja, assumem uma pequena quantidade de valores. Em uma dimenso cliente, esses
atributos podem ser atributos demogrcos, como sexo, faixa etria e classe social. Neste caso, pode-se
optar pela criao de uma minidimenso separada da dimenso cliente para aumentar a ecincia da
navegao.
Atributos como o nmero da nota scal de venda, aparentemente, deveriam fazer parte da tabela de
fatos. Em um banco de dados relacional, ele seria o atributo determinante do cabealho da nota scal.
Em um banco de dados dimensional, normalmente todos os atributos determinados pelo nmero da nota
foram armazenados em dimenses prprias e fariam parte da chave primria dos itens da nota. Ainda
assim, pode-se utilizar esse atributo para agrupar os fatos pelo documento original. Atributos desse tipo
83
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
ADMINISTRAO DE BANCO DE DADOS
so representados como dimenses degeneradas (descaracterizadas), isto , chaves de dimenso sem
uma dimenso correspondente.
8.2.1 Chave articial (surrogate key)
Utilizar uma chave candidata como chave primria de uma dimenso pode causar problemas caso
esta chave no seja absolutamente estvel ao longo do tempo. Uma modicao em uma chave de
uma dimenso pode ocasionar um grande volume de mudanas nas tabelas de fato relacionadas a essa
dimenso.
A soluo para esse problema utilizar chaves articiais absolutamente estveis ao longo do tempo.
Uma chave articial um campo inteiro e autoincremental, que aumenta a cada novo registro includo
na tabela de dimenso.
8.3 Medidas
Medidas so atributos que quanticam um determinado fato, representando o desempenho de um
indicador em relao s dimenses que fazem parte do fato. O contexto de uma medida determinado
em funo das dimenses do fato (MACHADO, 2000).
8.4 Granularidade
A granularidade o nvel de detalhe de um banco de dados dimensional. um dos pontos mais
importantes no projeto de um DW porque:
refere-se ao nvel de detalhe em que sero armazenados os dados no DW, quanto maior o
detalhamento, mais baixo o nvel de granularidade;
afeta o volume de dados do DW e, portanto, a performance na extrao de informaes.
Um DW pode ser implementado em nveis duais de granularidade ao longo do tempo. possvel
manter as informaes mais recentes em um baixo nvel de granularidade, aumentando assim as
possibilidades de extrao de informaes. medida que os dados vo cando obsoletos, possvel
resumi-los em um alto nvel de granularidade de forma a manter a performance.
Observao
A granularidade dene o nvel de detalhe dos dados existentes no DW.
Quanto maior o nvel de detalhes, mais baixo o nvel de granularidade e
vice-versa. Ela determina o volume de dados do DW e o tipo de consulta
que pode ser atendida.
84
Unidade IV
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
Granularidade alta:
Economia de espao em disco.
Reduo na capacidade de atender consultas.
Granularidade baixa:
Grande quantidade de espao em disco.
Aumento na capacidade de responder a qualquer questo.
Quadro 1
Fatos Dimenses Medidas
Representam um item, transao ou
evento de negcio.
Determinam o contexto de um assunto
de negcios, como uma anlise de
vendas de produtos.
So os atributos numricos
que representam um fato e so
determinadas pela combinao das
dimenses que participam dele.
Reetem a evoluo dos negcios. So os balizadores de anlise de dados.
Representam o desempenho de um
indicador de negcios relativo s
dimenses que participam de um fato.
So representados por conjuntos
de valores numricos (medidas) que
variam ao longo do tempo.
Normalmente no possuem atributos
numricos, pois so somente
descritivas e classicatrias dos
elementos que participam de um fato.
Podem possuir uma hierarquia de
composio de seu valor.
8.5 Agregados
Agregados so resumos construdos a partir de fatos individuais, inicialmente por questes de
performance, ou quando o ambiente dos fatos inexpressivo na menor granularidade. Agregados
permitem que as aplicaes antecipem os resultados a serem pesquisados pelo usurio, eliminando a
necessidade de se repetirem clculos comumente realizados.
Mltiplos agregados podem ser construdos, representando os agrupamentos mais comuns dentro
das dimenses do DW a m de aumentar a performance. A contrapartida ao aumento da performance
a elevao do consumo de espao de armazenamento.
Observao
Resumos armazenados com o objetivo de melhorar o desempenho
de consultas, o agregado composto por registros na tabela de fatos
que representam o resumo do registro de nvel bsico da tabela de fatos,
associados a registros agregados das dimenses.
85
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
ADMINISTRAO DE BANCO DE DADOS
8.6 Passos do projeto de DW
1) Decidir qual(is) processo(s) do negcio devemos modelar, por meio da combinao do conhecimento
do negcio com o conhecimento dos dados que esto disponveis.
2) Denir o gro do processo do negcio. O gro o nvel fundamental atmico de dados que
representar o processo na tabela de fatos.
3) Escolher as dimenses que sero aplicadas a cada registro da tabela de fatos. Para cada dimenso
escolhida, descrever todos os diferentes atributos de dimenso (campos) que preencham cada
tabela dimensional.
4) Escolher os fatos mensurveis que iro popular cada registro da tabela de fatos. Fatos
mensurveis so quantidades numricas aditivas, como quantidade vendida e vendas (em
espcie).
Funcionalmente, o processo de data warehousing engloba trs etapas:
extrao dos dados operacionais de diversas fontes (banco de dados, planilhas, arquivos
convencionais etc.);
organizao e integrao dos dados em um banco de dados, o DW;
acesso aos dados integrados de forma eciente e exvel pelo usurio nal.
Fontes de dados: dados extrados, em geral, do ambiente operacional da empresa para
o ambiente de tomada de decises. Podem estar armazenados em bancos de dados de vrios
modelos, planilhas eletrnicas (Excel, por exemplo), arquivos convencionais ou at em
documentos e textos. Podem ser inclusive externos organizao, por exemplo, indicadores
econmicos.
rea de transporte de dados (data staging area): representa a rea intermediria de
armazenamento entre as fontes de dados e o DW, onde implementado o processo de ETL (Extract,
Transform and Load extrao, transformao e carga/atualizao).
Os dados so extrados do ambiente operacional para a rea de transporte. So transformados
quando necessrio, para uniformizar formatos e contedos como: dados iguais com nomes
diferentes, duplicao de dados, codificaes distintas para o mesmo dado etc. A transformao
inclui o processo de limpeza, que elimina erros nos dados. Em seguida, so carregados no DW.
Existem ferramentas ETL (back-end) para implementar esses processos, tanto gratuitas quanto
pagas.
86
Unidade IV
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
Figura 41 Ferramenta de ETL Pentaho
Saiba mais
Para conhecer mais sobre a ferramenta Open Source Pentaho,
recomendamos os sites:
<www.pentaho.com>
<kettle.pentaho.com>
<community.pentaho.com/projects/bi_platform>
<softwarelivre.org/pentaho>
<pentahobrasil.org>
Servidor de apresentao: mquina fsica de destino onde os dados do DW so organizados e
armazenados para acesso direto pelos usurios nais, geradores de relatrio e outras aplicaes.
Trs sistemas bem distintos so necessrios para o funcionamento de um DW: o sistema fonte, a
rea de transporte de dados e o servidor de apresentao.
Se esse servidor for um banco de dados relacional, as tabelas sero organizadas em esquemas
estrela. Como a maioria das grandes implementaes tem sido em bancos relacionais, a maior parte das
discusses especcas do servidor de apresentao direcionada nesse sentido.
Processo de negcio: conjunto coerente de atividades de negcio que fazem sentido aos usurios
dos nossos DW. Essa denio propositalmente um pouco vaga. Neste contexto, assumimos que um
87
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
ADMINISTRAO DE BANCO DE DADOS
processo de negcio um agrupamento til de recursos de informao com um tema coerente. Em
muitos casos, implementaremos um ou mais datamarts para cada processo de negcio.
Armazenamento de dados operacionais ODS (Operational Data Store): esse conceito tem
tido muitas denies para ser til. Essencialmente, pode representar um sistema operacional separado
servindo como ponto de integrao entre diversos sistemas operacionais ou contendo dados integrados
em nvel detalhado, que seria na verdade parte do DW.
Olap (On-line Analytic Processing): processamento analtico on-line um conjunto de princpios
vagamente denidos que fornecem uma estrutura dimensional de suporte tomada de decises
(consulta e apresentao de textos e dados numricos). O termo OLAP tambm usado para denir um
grupo de fornecedores que oferecem produtos de bancos de dados multidimensionais e no relacionais
orientados ao suporte tomada de decises.
Saiba mais
Rolap: Relational-Olap (implementada em banco de dados relacional).
Molap: Multidimensional-Olap (implementada sem depender de banco
de dados relacional).
Dolap: Desktop-Olap (utiliza os recursos da mquina cliente, portanto,
extremamente limitada).
8.7 Data mart (DM)
O data mart uma parte do DW. Dentro de uma empresa, enquanto o DW armazena os dados da
empresa inteira, o DM armazena os dados de um nico departamento, por exemplo.
um subconjunto lgico de um DW. Tem escopo limitado, para atender a uma determinada rea ou
processo do negcio. Representa um projeto que pode vir a ser completado e no um empreendimento
galtico. Um DW composto pela unio de todos os seus DM.
Estabelecemos certos requisitos especcos para cada DM: deve ser representado por um modelo
dimensional e dentro de um mesmo DW. Todos esses DM devem ser construdos a partir de dimenses
e fatos conformes, que tm o mesmo signicado em todas as tabelas.
8.8 Ferramentas de acesso aos dados
Possibilitam a explorao do DW pelo usurio nal. Variam de simples ferramentas de consultas ad
hoc e geradores de relatrios, aplicaes para usurios nais que acessem os dados do DW, a ferramentas
de anlises sosticadas para Olap e minerao de dados.
88
Unidade IV
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
Ferramentas de consultas ad hoc permitem ao usurio formular suas prprias consultas, manipulando
diretamente os dados cadastrados.
EIS Executive Information Systems: sistemas que examinam uma perspectiva ampla dos dados
e oferecem informaes comparativas e claras para tomada de decises.
Minerao de dados (data mining): tcnicas e ferramentas de anlise de dados com a funo de
descobrir e entender tendncias, comportamentos, anomalias e outras relaes entre os dados.
Olap On-line Analytical Processing: uma categoria da tecnologia de software que permite
que os analistas, gerentes e executivos obtenham, de maneira rpida, consistente e interativa, o acesso
a uma variedade de visualizaes possveis da informao (INMOM et al., 2005).
Key performance: indicador-chave de desempenho. Serve para acompanhar o desempenho de uma
mtrica. Para isso, necessita de outra mtrica para servir de base, por exemplo, meta VS realizado. So
exibidos para os usurios na forma de semforos, conta-giros, termmetros ou guras que sirvam para
chamar bem a ateno, conforme a gura a seguir.
Figura 42
Dashboard uma pgina que combina diversas informaes a respeito de um mesmo tema. Essas
informaes so apresentadas de formas diferentes. Em um mesmo dashboard, podem coexistir
relatrios, grcos e KPis.
A seguir, um exemplo de dashboard.
89
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
ADMINISTRAO DE BANCO DE DADOS
Figura 43
Esse dashboard, para quem gosta de acompanhar a Champions League, o campeonato de futebol
europeu, fornece, alm de resultados de jogos, classicao de times e vrias outras estatisticas sobre
os times e seus jogadores.
Outro site em que podem ser vistos e testados outros dashboards : <www.xcelsius-strategy.com.br/
xcelsius-strategy/portfolio/sfa_latam_perform.html>, que pode ser acessado junto com outros modelos
de forma interativa pelo browser.
Resumo
A importncia dos sistemas de bancos de dados nas organizaes
vista pela crescente valorizao dos bancos de dados e dos sistemas
gerenciadores de bancos de dados, o que gera consequentes investimentos
em tcnicas de gerenciamento, monitoramento, backup e restaurao
de dados e em todo o processo que envolve a importncia nanceira
de manter a integridade dos bancos de dados. Um problema muito real
refere-se ao gerenciamento de todas as contas bancrias em sistemas de
arquivos permanentes de um determinado banco. Esse sistema possui
uma srie de programas aplicativos necessrios para a manipulao por
parte dos usurios, que permitem:
dbito e crdito em outra conta;
um programa para adicionar uma nova conta;
90
Unidade IV
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
fazer pagamentos e depsitos;
calcular aplicaes;
inserir novas alquotas.
Esses aplicativos s foram desenvolvidos porque surgiram problemas
e necessidades da organizao bancria, e isso signica um processo
contnuo, pois as aplicaes so desenvolvidas conforme vo surgindo as
necessidades.
O ambiente de data warehouses (DW) integra informaes provenientes
de uma grande variedade de bancos de dados operacionais em um nico
banco de dados lgico, que pode ser visto como um repositrio central
desenvolvido para facilitar o processo de suporte deciso. Segundo
Inmom et al. (2005), DW uma coleo de dados orientados por assuntos,
integrados, no volteis e variveis com o tempo, para suporte ao processo
gerencial de tomada de deciso.
Como se trata de uma implementao estratgica, o DW deve utilizar
equipamentos de tecnologia aberta, para no deixar a empresa atrelada a
um nico fornecedor, isso para no criar uma dependncia tanto no caso
de implementao tecnolgica como na manuteno e suporte.
Um DW corporativo constitui a modalidade mais robusta. So
solues geralmente adotadas por grandes corporaes que justiquem
o porte desse tipo de soluo (maiores que 100 Gb), dois a trs anos para
a implementao e investimentos na ordem de seis a sete milhes de
dlares. Atualmente, esse custo pode ser reduzido de forma substancial
com a adoo de solues open source. A escolha da modalidade de DW
deve considerar outros aspectos, como: custo, tempo de desenvolvimento,
ferramenta e consultoria.
91
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
ADMINISTRAO DE BANCO DE DADOS
FIGURAS E ILUSTRAES
Figura 1
Disponvel em: <http://www.csc.lsu.edu/~chen/>. Acesso em: 5 jul. 2012.
Figura 43
Disponvel em: <http://www.tablerochampions.com/site/champions/dashboard.jsp>. Acesso em: 15 jul.
2012.
REFERNCIAS
Textuais
BEAULIEU, A. Aprendendo SQL. 1. ed. So Paulo: Novatec, 2010.
BOOCH, G.; RUMBAUGH, J. JACOBSON, I. UML Guia do usurio. 13. ed. Rio de Janeiro: Elsevier, 2000.
CHU, S. Y. Banco de dados: organizao, sistemas e administrao. So Paulo: Atlas, 1983.
DATE, C. J. Introduo a sistemas de bancos de dados. Traduo da 7. ed. americana de Vandenberg
Dantas de Souza. Rio de Janeiro: Campus, 2000.
ELMASRI, R.; NAVATHE, S. B. Sistemas de banco de dados: fundamentos e aplicaes. 4. ed. So Paulo:
Pearson, 2005.
HERRENO, E. Balanced scorecard e a gesto estratgica: uma abordagem prtica. Rio de Janeiro:
Elsevier, 2005.
HUBBARD, D. W. Como mensurar qualquer coisa encontrando o valor do que intangvel nos
negcios. Traduo de Ebria de Castro Alves. Rio de Janeiro: Qualitymark, 2008.
INMON, W. Building the DataWarehouse, 4. ed. New Jersey, USA: John Wiley and Sons, 2005.
KIMBALL, R.; CASERTA, J. The Datawarehouse ETL toolkit. Boulder Creek, USA: Kimball Group, 2004.
KIMBALL, R.; ROSS, M. The DataWarehouse Toolkit. New Jersey, USA: John Wiley and Sons, 2002.
LEME FILHO, T. BI Business Intelligence no Excel. Rio de Janeiro: Novaterra, 2012.
MACHADO, F. N. R. Projeto de Data Warehouse. So Paulo: rica, 2000.
___. Banco de dados: projeto e implementao. So Paulo: rica, 2004.
92
ROLDN, M. C. Pentaho 3.2 Data Integration Beginners Guide. Birmingham, UK: Packt Publishing,
2010.
SILBERSCHATZHENRY, A.; KORTHS, H. F.; SUDARSHAN, S. Sistema de banco de dados. 5. ed. Rio de
Janeiro: Campus, 2006.
SIMCSIK, T.; POLLONI, E. G. F. Tecnologia da informao automatizada. So Paulo: Berkeley, 2002.
Sites
<http://certicacaobd.com.br>
<http://silasmendes.com/dba>
<http://www.mcdbabrasil.com.br>
<http://www.sybase.com/resources/blogs>
<http://dbaforums.org/oracle>
<www.kimballgroup.com>
<education.oracle.com>
<www.prometric.com>
<www.microsoft.com/learning>
<http://demo.phpmyadmin.net/master-cong>
<http://nosql-database.org>
<http://softwarelivre.org>
<http://www.softwarelivre.gov.br>
93
94
95
96
97
98
99
100
Informaes:
www.sepi.unip.br ou 0800 010 9000

You might also like