You are on page 1of 57

Administração de Sistemas de

Gestão de Banco de Dados

UFCG / CEEI / DSC


SINBAD – Grupo de Sistemas de Informação e Banco de Dados
http://www.lsi.dsc.ufcg.edu.br
Disciplina: Administração de SGBD’s
2008.1
Cláudio de Souza Baptista
DBA X Mercado:
um mundo de oportunidades!
• Information Week Dez/2000 mostrou numa pesquisa com gerentes
de TI que as duas mais importantes questões relativas à gerência
de BD são:
– Facilidade de administração
– Disponibilidade de administradores qualificados
• Outra pesquisa mostra que as vagas para DBA demoram mais a
ser preenchidas do que outras posições
• Acessando o Bureau of Labor Statistics Occupational Handbook
Web site (www.bls.gov/oco), buscando por database administrator,
entrontra-se que a ocupação de DBA é esperado crescer a uma
taxa maior que a média (>36%) até 2012.
• O U.S. Department of Labor Statistics lista DBA como uma das 10
mais profissões em rápido crescimento.
• O governo americano prevê 66% de aumento na demanda por DBa
até o final desta década.
• Por ser um “hot job”, DBAs requerem e obtêm salários altos!!!!
DBA X Mercado:
um mundo de oportunidades!
• Salários entre US$60.000 e US$80.000
• Consultoria hora: US$81,00/hora
• DBA: responsável por projetar e manter uma
banco de dados de uma empresa.
• Perfil de DBA:
– Gostar de desafios
– Ser um bom resolvedor de problemas
DBA X Mercado:
hard work !
• Nem tudo são flores :
– Administração de BD é uma tarefa initerrupta (24X7)
– Prepare-se para muitas horas extras de trabalho,
especialmente em horários inconvenientes (madrugadas
e fins-de-semana), ou seja, fora das horas de pico
– Média de trabalho de DBA (fonte META Group) é de
mais de 50 horas por semana.
• Mas, as vantagens se sobrepõem às desvantagens
como veremos neste curso  ...
ABD - Administrador de BD
– Cada banco de dados requer pelo menos um ABD
– A tarefa de um Administrador de Banco de Dados
(ABD) pode ser exercida por uma única pessoa ou
por um grupo de pessoas, dependendo do tamanho
da empresa
– Principal meta de um ABD: configurar o manter o BD
de modo a torná-lo robusto, seguro e rápido nos
serviços prestados
– DBA deve ser pró-ativo: implementar práticas e
procedimentos para evitar que ocorram problemas.
DBA X Mercado
• Avaliando uma oferta de emprego:
– Além do salário , é preciso indagar outras questões:
– A empresa oferece treinamento regular aos DBAs?
– A empresa permite DBA participar reuniões de user groups?
– Existe mais de um DBA (de modo que você não seja o único
responsável por 24X7)?
– Existe Analista (ou Administrador) de Dados e administrador de
sistemas?
– DBAs participam de revisões de design, discussões de
orçamento e outros comitês de TI da empresa?
Profissionais de TI
• Administrador de Dados
• Administrador de Sistemas
• Administrador de Banco de Dados
• Administrador de Rede
• Desenvolvedores de Aplicação
• Usuários Finais
Tarefas
• Principais Tarefas dos Administradores de Dados
– Separar os aspectos de negócio da gestão de dados dos aspectos
tecnológicos.
– Entender o negócio e traduzir para um modelo conceitual e lógico
– Fazer coleta de requisitos, análise e projeto de BD
– Identificar e catalogar os dados requeridos por usuários do negócio
– Produzir modelos de dados conceitual e lógico com a visão global da
empresa, e dos diversos relacionamentos entre dados para processos
de negócio
– Política de dados para a organização
– Estabelecimento de padronização
– Documentação, compartilhamento e implementação dos dados
– Uso de um repositório para metadados
Tarefas de um ABD
• Entender os modelos de dados produzidos pelo DA e
comunicar estes modelos com os desenvolvedores de
aplicações
• Instalar e fazer upgrades do SGBD
• Inicializar e Finalizar o SGBD
• Alocar memória e planejar futuros requisitos de memória
(crescimento)
• Criar estruturas de armazenamento de banco de dados
(tablespaces) para as aplicações
• Criar tabelas, visões e índices
• Modificar esquemas
• Atribuir papéis a usuários e manter segurança
Tarefas de um ABD
• Fazer Auditoria
• Controlar e monitorar acesso dos usuários
• Migrar Banco de Dados para outras tecnologias
• Manter ambientes de BD de Teste e Produção
• Monitorar e otimizar performance
• Assegurar disponibilidade do SGBD
• Fazer backup e recuperação a falhas
• Manter a Integridade dos dados
• Realizar a migração de dados
• Contactar fabricante para suporte
• Participar de reuniões estratégicas e de projeto
• Descobrir e testar novas tecnologias
• Etc, etc, etc.
Tarefas
• Principais Tarefas dos Desenvolvedores de
Aplicação

– projetar e desenvolver as aplicações


– definir as necessidades de memória de uma aplicação
– especificar modificações em um esquema de BD
– relacionar-se com o ABD
– ajustar as aplicações durante o seu desenvolvimento
Tarefas
• Principais Tarefas dos Usuários Finais

– inserir, modificar e remover dados, onde permitido


– gerar relatórios
Tarefas
• Principais Tarefas dos Administradores de Rede

– Responsáveis por administrar produtos de rede


(p.e., Oracle Net).
Tarefas
• Principais Tarefas dos Administradores de
Sistemas Operacionais

– Responsáveis por administrar sistemas operacionais


– (p.e., Windows Server, UNIX, Linux).
Tarefas de um ABD: Tuning
• Tuning diz respeito ao ajuste do SGBD para melhor utilização
dos recursos deste, provendo um uso eficaz e eficiente do
SGBD.
• Tuning requer conhecimento de:
– Desenvolvimento de Aplicações
– SGBD
– Sistema operacional
– Hardware
Tarefas de um ABD: Tuning
• Em Tuning, comumente serão utilizadas informações de
estatísticas de uso de HW:
– Utilização do processador
– Atividade de I/O
– Paginação
– Memória utilizada
– ...
Tarefas de um ABD: Tuning
• Princípios básicos de Tuning (Shasha 2003):
– Pense global, aja pontual
– Particione os gargalos
– Custos de inicialização são altos, custos de execução são
baixos
– Coloque no servidor apenas o que diz respeito ao servidor
– Esteja preparado para trade-offs
Tarefas de um ABD: Tuning
• Princípio 1: Pense global, aja pontual
– Tunning eficaz requer a identificação do problema e uma
intervenção mínima
– Como os médicos devem ( ou deveriam) fazer
– Exemplo de falha deste princípio: consertar uma query que
está rodando lentamente, mas que raramente é executada
ou que ocupa 1% do tempo de CPU.
Tarefas de um ABD: Tuning
• Princípio 2: Particionar Gargalos
– O sistema fica lento geralmente porquê há algum(uns)
componentes limitando a performance como um todo. Agir
nesta parte é o correto.
– Particionar permite reduzir a carga de um certo
componente do sistema.
– Lição: quando encontrar um gargalo, primeiro tente
agilizar o componente que causa o gargalo, se não
conseguir sucesso particione.
Tarefas de um ABD: Tuning
• Princípio 3: Custos de inicialização são altos,
custos de execução são baixos
– Uma operação de leitura é cara para iniciar, mas menos
cara enquanto se lê. Portanto, tente fazer leituras mais
longas, colocando tabelas que sofrem scan constantemente
serem armazenadas de forma contígua
– O mesmo raciocínio vale para abertura de conexões com o
SGBD, parsing de consultas muito usadas, envio de
mensagens na rede (tamanho das mensagens)
Tarefas de um ABD: Tuning
• Princípio 4: Coloque no servidor apenas o que diz
respeito ao servidor
– Saber fazer o load-balancing, permitindo não sobrecarregar
o servidor de banco de dados com tarefas que poderiam
estar em outras camadas.
Tarefas de um ABD: Tuning
• Princípio 5: Esteja preparado para trade-offs
– Adição de índices
– Verificar as vantagens/desvantagens entre a compra de
mais recursos versus a agilidade que se irá obter destas
aquisições.
Tarefas de um ABD: Tuning
• Cinco fatores influem na performance:
– Workload (carga)
– Throughput (Vazão)
– Recursos
– Otimização
– Contenção
Tarefas de um ABD: Tuning
• Workload
– Define a demanda do BD. Combina transações online,
batch jobs, consultas ad hoc, data warehousing, consultas
analíticas, e comandos dirigidos ao SGBD
– Pode variar drasticamente de dia para dia, hora para hora,
minuto para minuto, segundo para segundo.
– Algumas vezes é previsível (Rodar a folha de pagamento
no final do mês), mas muitas vezes é imprevisível
– Workload tem grande impacto na performance do SGBD
Tarefas de um ABD: Tuning
• Throughput
– Define a capacidade do hardware/software para processar
os dados
– É composto de velocidade de I/O, velocidade de CPU,
capacidades de paralelismo, e eficiência do SO.
– Kernel do DB, espaço em disco, controladores de cache, e
microcode são exemplos dos recursos a serem avaliados
para computar throughput
Tarefas de um ABD: Tuning
• Otimização
– Refere-se à análise das solicitações ao BD com custo de
query que geram diferentes planos de acesso aos dados.
• Contenção
– Quando a demanda (workload) para uma recurso particular
é alta então contenção acontece.
– É a condição na qual dois ou mais componentes de
workload estão tentando usar um recurso em modo
conflitante.
– À medida que a contenção aumenta, o throughput diminui.
Tarefas de um ABD: Tuning
• Resumindo:
– Performance de BD pode ser definida como a otimização
de uso de recursos para aumentar a throughput e minizar a
contenção, possibilitando o maior workload possível ser
processado.
– Um monitoramento efetivo de performance e estratégia de
tuning requer não apenas expertise no SGBD mas
conhecimento que vai além da administração de BD.
Disponibilidade
• Manter o SGBD no ar e executando a contento
• Minimizar downtime requerido por tarefas
administrativas
• Uso de tecnologias de clustering para implantar
técnicas de failover
Quantos DBAs?
– Um DBA sobre carregado pode produzir erros que cause downtime e
problemas operacionais que representem prejuízo para empresa
– O número de DBAs depende de vários fatores:
• Número de banco de dados
• Tamanho dos banco de dados
• Número de usuários
• Número de aplicações
• Service-Level Agreements (SLA)
• Requisitos de disponibilidade
• Impacto de downtime
• Requistos de performance
• Tipos de aplicações (OLTP e OLAP)
• ExperiÊncia de equipe de DBA
• Variedade de SGBDs
• Ferramentas de DBA
• Experiência de programadores e usuários finais
Certificação de DBA
• Certificação profissional está em evidência recentemente em
vários trabalhos de TI
• Em Bd existem vários programas de certificação:
– Oracle: www.oracle.com/education/certification/
– Microsoft SQL Server:
www.microsoft.com/trainingandservices/default.asp?PageID=training
– IBM DB2: www.ibm.com/certify
– Sybase: www.sybase.com/education/profcert/
– Informix:
www.informix.com/informix/training/courses/certific/welcome.htm
Sites dos Vendedores de SGBD
• Oracle: www.oracle.com
• MS SQL Server: www.microsoft.com/sql/default.asp
• IBM DB2: www.ibm.com/software/data/db2/
• Informix: www.ibm.com/software/data/informix
• Sybase: www.sybase.com
• MySQL: http://www.mysql.com/ (SUN)
• Ingres: http://www.ingres.com/
Sites dos SGBD
• Postgresql: www.postgresql.org
• Interbase: www.borland.com
• Firebird: www.firebirdsql.org/
• Adabas: http://
www.softwareag.com/corporate/products/adabas/default.asp
• OODBMS:
– UniSQL: ww.unisql.com
– Poet: www.poet.com
– Object Store: www.odi.com
– Ontos: www.ontos.com
– Jasmine: www.ca.com
• XML-Native:
– Tamino: www.softwareag.com/tamino/
Sites dos SGBD
• PC-Based (brinquedos):
– dBase: http://www.dbase.com/
– Filemaker: www.filemaker.com
– Microsoft Access:
www.microsoft.com/office/access/
– Visual FoxPro: www.microsoft.com/vfoxpro/
– Paradox: www.corel.com
Ferramentas de Adm. de ISVs
• BMC: www.bmc.com
• Computer Associates: www.ca.com
• Embarcadero Tech: www.embarcadero.com
• Quest: www.quest.com

OBS: ISV: Independent Software Vendors


Ferramentas de Modelagem
• ERWin (CA): www.ca,com
• DeZign for DB: www.datanimic.com
• Embarcadero: www.embarcadero.com
• MS Visio Enterprise: www.microsoft.com
• Oracle designer: www.oracle.com
• System Architect: www.popkin.com
• Rational Rose: www.rational.com
• Visible Analyst: www.visible.com
• Power Design: www.sybase.com
Magazines
• Oracle Magazine: www.oracle.com/oramag/index.html
• DB2 Magazine: www.db2mag.com
• SQL Server Magazine: www.sqlmag.com
• Sybase Magazine: www.sybase.com/inc/sybmag
• Database Trends and Applications: www.dbta.com
• Data Management Review: www.dmreview.com
• Exploring Oracle: www.elementkjournals.com/dbm/
• SQL Magazine: www.devmedia.com.br/sqlmagazine/
Consultores
• www.ylassoc.com
• www.tusc.com
• www.dbadirect.com
• www.dbdebunk.com
• www.craigmullins.com
• ASK TOM da Oracle
Portais
• DBAzine.com: www.dbazine.com
• Searchbase.com: www.searchbase.com
• Data Administration newsletter: www.tdan.com
• Oracle:
– www.lazydba.com
– www.orafans.com
– www.oraworld.com
• DB2:
– www.ruban.de
– db2usa.hypermart.net/cindex.htm
– www7b.boulder.ibm.com/dmdd/
• SQL Server:
– www.sqlservercentral.com
– www.sql-server-performance.com
– www.swynk.com/sql
Portais
• Padronização
(www.jcc.com/SQLPages/jccs_sql.htm):
– ANSI: www.ansi.org
– ISO: www.iso.ch
– NIST: www.nist.gov
• DAMA (Data Management Association:
www.dama.org
User Groups
• Oracle: www.ioug.org
• DB2: www.idug.org
• SQL Server: www.sqlpass.org
• Informix: www.iiug.org
• Sybase: www.sybase.com/ISUG/
DBA: Visão Oracle
• ABD necessita de privilégios no sistema
operacional
• Usernames do ABD Oracle:
– SYS (password: CHANGE_ON_INSTALL)
– SYSTEM (password: MANAGER)
• Existe um papel DBA que pode ser atribuído a
usuários que terão privilégios de administração
exceto shutdown e startup
Tarefas DBA: Visão Oracle
• Tarefa 1: Avaliar o hardware do servidor
– Quantos HD
– Tape drives
– Memória disponível
• Tarefa 2: Instalar o software Oracle
– server e front-end
– Oracle Net
Tarefas DBA: Visão Oracle
• Tarefa 3: Planejar o Database
– estrutura lógica de armazenamento
– projeto físico do database
– política de backup
• Tarefa 4: Criar e Abrir o database
– pode-se criar o db usando o Oracle Database
Configuration Assistant, ou
– criar scripts para criação do database
Tarefas DBA: Visão Oracle
• Tarefa 5: Backup do database
– criar redo files adicionais
– fazer backup do database completo
– fazer backups incrementais
• Tarefa 6: Atribuir papéis aos usuários
– privilégios de acesso
– políticas de segurança
Tarefas DBA: Visão Oracle
• Tarefa 7: Implementar o projeto do Database
– criar tablespaces
– criar os objetos do database
• Tarefa 8: Ajustar a performance do database
– Ajuste de SQL
– Ajuste de Índices
– Ajuste de projeto do BD
– Ajuste de Hardware, SO e Rede
Requisitos de Segurança:
Visão Oracle
• ABD precisa de privilégios especiais
• Cada BD Oracle tem um papel (role) DBA
(database administrator) que permite realizar as
tarefas de administração
• Existem dois usuários que têm o papel DBA:
– SYS
– SYSTEM
Requisitos de Segurança:
Visão Oracle
• SYS
– o dicionário de dados é armazenado no esquema
SYS
• SYSTEM
– contém tabelas adicionais que mostram informações
administrativas
– contém tabelas e visões internas
Requisitos de Segurança: Visão
Oracle
– Existem dois privilégios de administração:
• SYSDBA
– inicializa e finaliza o banco de dados
– CREATE e ALTER DATABASE
– RECOVERY
– Permite um usuário se conectar como SYS
– Esquema é SYS
• SYSOPER
– inicializa e finaliza o banco de dados
– CREATE e ALTER DATABASE
– RECOVERY
– Permite executar tarefas básicas mas sem poder olhar os
dados dos usuários
– Esquema é PUBLIC
2. Instalação
Criando o Ambiente de BD
– Definir a estratégia da organização
• Qual SGBD é desejável para a empresa?
• Deve-se procurar minimizar o número de SGBDs diferentes na empresa.
• Deve-se procurar os grandes fabricantes (IBM DB2, Oracle, SQL-Server),
baseado no ditado:
– “you cannot go wrong with Oracle or DB2”
• Numa segunda opção, pode-se contactar o segundo escalão de fabricantes:
Sybase e Informix
• Se a empresa adota a política de software open-source então Postgresql e
MySQL são as escolhas
• Numa terceira opção, vem o terceiro escalão: ADABAS e INGRES
• Se há requisitos específicos do tipo:
– Uso para BD muito grandes (Very Large DB) => NCR Teradata
– Uso exclusivo para XML => Tamino
– Uso de SGBD OO => ObjectDesign e Versant
• Importante saber se o fornecedor proverá no futuro novas funcionalidades
(mínimas que sejam) com pequeno risco.
Criando o Ambiente de BD
– Definir a estratégia da organização
• Qual SGBD é desejável para a empresa?
• Deve-se procurar minimizar o número de SGBDs diferentes na empresa.
• Deve-se procurar os grandes fabricantes (IBM DB2, Oracle, SQL-Server),
baseado no ditado:
– “you cannot go wrong with Oracle or DB2”
• Numa segunda opção, pode-se contactar o segundo escalão de fabricantes:
Sybase e Informix
• Se a empresa adota a política de software open-source então Postgresql e
MySQL são as escolhas
• Numa terceira opção, vem o terceiro escalão: ADABAS e INGRES
• Se a requisitos específicos do tipo:
– Uso para BD muito grandes (Very Large DB) => NCR Teradata
– Uso exclusivo para XML => Tamino
– Uso de SGBD OO => ObjectDesign e Versant
• Importante saber se o fornecedor proverá no futuro novas funcionalidades
(mínimas que sejam) com pequeno risco.
Criando o Ambiente de BD
– Na escolha de um BD são importantes os seguintes aspectos:
• Suporte ao Sistema Operacional
• Tipo da organização (conservadora ou liberal)
• Benchmarks (detalhes no próximo slide)
• Escalabilidade
• Disponibilidade de ferramentas de software de apoio
• Peopleware
• TCO (custo da licença + custo de software extra requerido + custo de
profissionais + suporte + administração do SGBD)
• Política de Releases
• Referências de outros clientes
Avaliando BenchMark
– Benchmark
• Teste usado para comparar performance de hardware e/ou software
• Existem vários benchmarks, em BD TPC é o mais respeitado
– TPC – Transaction Processing Performance Council
• É um organização independente e que não visa lucro que gerencia e
administra testes de benchmark
• Testes de benchmark medem performance baseados no número de
transações que um dado sistema e SGBD podem executar por unidade de
tempo (ex. num. de transações por minuto)
• TPC tem os seguintes benchmarks:
– TPC-App: Application Server e Web services benchmark
– TPC-C: Workload de produção planejado num ambiente de transações
– TPC-H: processamento ad-hoc no qual transações não são conhecidas e pré-
definidas
– TPC-R: ambiente de suporte à decisão
– TPC-W: Processamento de transações na Web
• Ver: http://www.tpc.org
• Ver: http://itautec.cin.ufpe.br/tpc.aspx#2
Criando o Ambiente de BD
– Arquiteturas de SGBD
• Realidade atual: infraestrutura de TI é distribuída e heterogênea
• Quatro níveis de arquiteturas:
– Enterprise:
» Projetado para escalabilidade e performance
» Capaz de suportar grande volumes de dados, múltiplas transações e múltiplos tipos de
aplicação
» Executa numa máquina robusta (mainframe ou servidor rodando UNIX, Linux ou XP(NT)
» Suporte para múltiplos processadores, queries paralelas, e outras características avançadas
» Ex. Oracle Enterprise Edition, preço US$40,000.00
– Departamental:
» Também conhecido como Workgroup DBMS
» Para empresas de médio a pequeno porte
» Executa em UNIX, Linux e XP
» Ex. Oracle Standard One, preço US$5,000.00
– Personal:
» Projetado para usuário único.
» Roda em plataformas do tipo PC com Linux ou Windows
» Ex. Microsoft Access, Personal Oracle
– Mobile
» Projetado para usuários utilizarem remotamente sem conexão
» Plataformas laptop, PDA e mobile phones
» Ex. Personal Oracle Lite http://www.orafaq.com/faqpol.htm
Criando o Ambiente de BD
– Arquiteturas de SGBD
• Clustering de SGBD
– Clustering é o uso de computadores independentes trabalhando
conjuntamente num único sistema, altamente disponível. Visa
aumentar disponibilidade e escalabilidade
– Presta-se para load balancing e failover
– Há duas arquiteturas:
• shared-disk : todos os computadores compartilham os dispositivos
de disco. Cada processador tem sua memória privada.
• shared-nothing: cada sistema tem seus próprios recursos privados
(memória, disco, etc.) e os processadores se comunicam a através
da troca de mensagens na rede
Criando o Ambiente de BD
Comparação de Shared-disk e shared-nothing

Shared-disk Shared-nothing
Rápida adaptação à mudança de Pode explorar hardware simples e
workloads baratos

Alta disponibilidade Alta escalabilidade

Bom para ambientes read-only Bom para ambientes read/write

Dados não precisam ser Dados são particionados pelo


particionados cluster
Criando o Ambiente de BD
• Comparação de Shared-disk e shared-nothing
– Ex.: DB2 para OS/390 provê shared-disk clustering
– DB2 Extended Enterprise Edition provê shared-nothing
clustering
– Oracle Real Application Clusters provê shared-disk
clustering

You might also like