Unidade 1 - Introdução e Conceitos Básicos

Propaganda
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:
–
–
–
•
DB2:
–
–
–
•
www.lazydba.com
www.orafans.com
www.oraworld.com
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:
–
•
•
•
•
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:
–
–
–
•
“you cannot go wrong with Oracle or DB2”
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:
–
•
•
•
•
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:
–
–
–
•
“you cannot go wrong with Oracle or DB2”
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 workloads
Pode explorar hardware simples
e baratos
Alta disponibilidade
Alta escalabilidade
Bom para ambientes read-only
Bom para ambientes read/write
Dados não precisam ser
particionados
Dados são particionados pelo
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
Download