Escolar Documentos
Profissional Documentos
Cultura Documentos
Unidade IV
7 Administrao de Banco de Dados
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.
Por exemplo, o SGBD Microsoft SQL Server armazena os dados em dois arquivos distintos:
69
Unidade IV
Observao
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.
70
Administrao de banco de dados
Lembrete
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.
Atomicidade: ter a certeza de que uma transao foi totalmente executada ou totalmente
cancelada. Nunca uma execuo pode ficar 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 danificado, a durabilidade tem que estar funcionando.
Observao
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 finalizada 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.
71
Unidade IV
Observao
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.
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.
passar fisicamente o contedo das memrias intermedirias do banco de dados para o banco de
dados fsico;
passar fisicamente o registro especial do ponto de controle para outra parte que no a anotao
cronolgica fsica.
72
Administrao de banco de dados
T5
T4
T3
T2
I1
Tempo
tc tf
Nesse exemplo da figura 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 finalizadas. Ento, o contedo concludo at o ponto de checagem precisa ser confirmado
e, assim, finalizar 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.
So as falhas que ocorrem danificando 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 danificado, mas todo um projeto de contingncia e alta
disponibilidade do seu ambiente como um todo.
73
Unidade IV
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
Para entender melhor o que significa a perda de atualizaes, vamos considerar a seguinte situao:
duas pessoas editam o mesmo registro, uma altera o telefone e outra, o endereo; ao confirmarem,
ser gravada a ltima atualizao. Isso ocorre por no haver nenhum tipo de controle no banco, mas
essa situao pode ser contornada configurando-se o sistema para que no libere o registro quando ele
estiver sendo usado por outro usurio.
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
74
Administrao de banco de dados
Tabela 3
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 (confirmao da transferncia), a conta no teve o devido dbito.
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.
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 fica em estado de
espera at que A libere o bloqueio.
Observao
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, fizerem 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 conflito entre os bloqueios gerado pelas transaes.
75
Unidade IV
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 confirmado pela transao anterior,
seja por ROLLBACK ou por COMMIT, mas, de qualquer maneira, B no depender de uma atualizao
no confirmada.
Observao
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.
Tambm conhecido como cluster de alta performance, ele funciona permitindo que ocorra uma
grande carga de processamento com um volume alto de gigaflops em computadores comuns.
76
Administrao de banco de dados
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.
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.
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:
77
Unidade IV
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
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.
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.
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.
78
Administrao de banco de dados
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.
Na figura 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.
Leitura e
gravao Replicao
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 configurar 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).
Replicao
Leitura e gravao
Figura 39
8 Modelo Dimensional
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.
80
Administrao de banco de dados
Esquema floco de neve (snowflake): 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
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 define a granularidade da tabela de fatos (qual o escopo da medio).
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
classificadas 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
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.
As tabelas de dimenso so pontos de entrada para a tabela de fatos. Atributos de dimenses eficazes
produzem recursos analticos eficientes. 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 geogrfico, filial).
A dimenso quem determina quais entidades participaram do fato (cliente, fornecedor, funcionrio).
Observao
Atributos como o nmero da nota fiscal 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 fiscal.
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
82
Administrao de banco de dados
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 modificao 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 artificiais absolutamente estveis ao longo do tempo.
Uma chave artificial um campo inteiro e autoincremental, que aumenta a cada novo registro includo
na tabela de dimenso.
8.3 Medidas
8.4 Granularidade
refere-se ao nvel de detalhe em que sero armazenados os dados no DW, quanto maior o
detalhamento, mais baixo o nvel de granularidade;
Observao
83
Unidade IV
Granularidade alta:
Granularidade baixa:
Quadro 1
8.5 Agregados
Mltiplos agregados podem ser construdos, representando os agrupamentos mais comuns dentro
das dimenses do DW a fim de aumentar a performance. A contrapartida ao aumento da performance
a elevao do consumo de espao de armazenamento.
Observao
84
Administrao de banco de dados
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) Definir 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).
extrao dos dados operacionais de diversas fontes (banco de dados, planilhas, arquivos
convencionais etc.);
acesso aos dados integrados de forma eficiente e flexvel pelo usurio final.
85
Unidade IV
Saiba mais
<www.pentaho.com>
<kettle.pentaho.com>
<community.pentaho.com/projects/bi_platform>
<softwarelivre.org/pentaho>
<pentahobrasil.org>
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 especficas 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 definio propositalmente um pouco vaga. Neste contexto, assumimos que um
86
Administrao de banco de dados
Armazenamento de dados operacionais ODS (Operational Data Store): esse conceito tem
tido muitas definies 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.
Saiba mais
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 especficos 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 significado em todas as tabelas.
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).
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, grficos e KPis.
88
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, classificao 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
calcular aplicaes;
90
Administrao de banco de dados
FIGURAS E ILUSTRAES
Figura 1
Figura 43
REFERNCIAS
Textuais
BOOCH, G.; RUMBAUGH, J. JACOBSON, I. UML Guia do usurio. 13. ed. Rio de Janeiro: Elsevier, 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.
SILBERSCHATZHENRY, A.; KORTHS, H. F.; SUDARSHAN, S. Sistema de banco de dados. 5. ed. Rio de
Janeiro: Campus, 2006.
Sites
<http://certificacaobd.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-config>
<http://nosql-database.org>
<http://softwarelivre.org>
<http://www.softwarelivre.gov.br>
92
93
94
95
96
97
98
99
100
Informaes:
www.sepi.unip.br ou 0800 010 9000