Gerenciamento de desempenho proativo para bancos de dados

Propaganda
Gerenciamento de desempenho
proativo para bancos de dados
corporativos
Resumo
Hoje, os DBAs precisam fazer mais do que simplesmente reagir
a problemas de desempenho. Eles precisam ter uma postura
proativa nas atividades de gerenciamento de banco de dados. O
gerenciamento proativo requer as ferramentas certas para ajudá-los
a entender a quantidade avassaladora de dados brutos fornecida
pelo mecanismo de banco de dados. Este informe explica os
desafios envolvidos no gerenciamento proativo de banco de dados
e identifica os principais recursos que soluções de gerenciamento
de banco de dados devem ter.
Introdução
Desafio de desempenho do banco de dados
Muitas vezes, o gerenciamento do desempenho é comparado
à resolução de problemas de desempenho. Embora resolver
problemas ainda seja essencial, os melhores administradores de
bancos de dados (DBAs) fazem mais do que simplesmente reagir
aos problemas. A proatividade é um objetivo popular entre equipes
1
que buscam melhorar a qualidade de seu trabalho e estabilidade dos
sistemas que gerenciam.
No gerenciamento de banco de dados, tornar-se proativo é um
desafio por três motivos:
• Criticidade — Os níveis de serviço estão se tornando mais formalizados
com o alinhamento dos bancos de dados às aplicações para as quais dão
suporte. Isso reduz a tolerância ao tempo de inatividade e ao desempenho
ruim do banco de dados.
•Complexidade — A quantidade de recursos para gerenciar e de métricas
para compreender aumenta significativamente com cada nova versão de
banco de dados. Os DBAs também encontram mais complexidade com
o crescimento do volume de dados e o fato de que as empresas implantam
bancos de dados a uma velocidade cada vez maior.1
•Produtividade — Há uma demanda para que os DBAs gerenciem mais
bancos de dados2 e, portanto, implantem mais ferramentas de produtividade
para simplificar e automatizar tarefas de rotina e a coleta de dados de
desempenho.
Algumas empresas que já têm milhares de bancos de dados planejam aumentar essa quantidade em 50% nos próximos 5 anos. Consulte:
Forrester Research, "DBMS Selection: Look Beyond Basic Functions" (Seleção de DBMS: além das funções básicas), 3 de junho de 2009.
2
Em média, cada DBA gerencia 35 bancos de dados. Consulte: Forrester Research, "Take Advantage of New Ways to Save Money on
Database Costs" (Aproveite novas formas de economizar nos custos de banco de dados), 23 de fevereiro de 2010.
Objetivos de desempenho que
abordam os desafios
Para abordar esses desafios, os DBAs
mais produtivos definem objetivos e
resultados claros de desempenho. Eles
também usam dados de alta qualidade
para tomar decisões melhores do que
tomariam se contassem apenas com a
experiência, transformando métricas brutas
de desempenho em informações que têm
significado e podem ser usadas.
Quatro objetivos de desempenho emergem
repetidamente. Todos eles vão além de um
simples problema de resposta:
•
Resolução acelerada de problemas —
Problemas mais urgentes precisam sempre
de uma resolução mais rápida. Os DBAs
Os DBAs proativos
implantam
tecnologias de
desempenho para
automatizar a coleta
e a maior parte da
análise necessária
para converter
dados brutos em
informações úteis.
proativos procuram alertas de alta qualidade
mais cedo no ciclo de vida do problema,
visibilidade imediata das causas e opções
para automatizar a recuperação em tarefas
arriscadas e demoradas.
• Prevenção de problemas — Esperar o
problema acontecer é inaceitável. Os
DBAs proativos usam dados históricos para
reconhecer condições que degradam o
desempenho e determinar como evitar que
causem problemas.
•
Maximizar recursos de hardware — Aumentar
a eficiência do hardware existente gera uma
economia direta. Por exemplo: adiar uma
atualização de hardware em apenas alguns
meses pode ser significativo. O processo de
otimização também costuma melhorar a taxa
de transferência das transações, deixando os
usuários mais felizes.
•
Reduzir riscos durante mudanças — As
mudanças serão necessárias quando um
novo código de aplicação for implantado
na produção ou for feito um upgrade dos
componentes de plataforma (hardware,
sistema operacional ou banco de dados).
Os DBAs precisam ter confiança de que o
desempenho após a mudança será igual
ou excederá as expectativas. Eles também
precisam antecipar mudanças na carga
de trabalho e determinar quais pontos de
interrupção de hardware das aplicações estão
sujeitos a uma volatilidade significativa.
2
Transformar dados em informação
Os mecanismos de banco de dados são
equipados com métricas de desempenho.
Esses dados são a principal fonte de
quase toda a avaliação relacionada ao
desempenho. Com cada nova versão,
o banco de dados oferece mais e mais
métricas de desempenho. O Oracle 11g,
por exemplo, contém mais de 1.100 eventos
de espera, em comparação aos mais de
870 no 10g e mais de 400 no 9i.
Como há muitos dados disponíveis, os
DBAs simplesmente não conseguem contar
exclusivamente com métricas brutas e
ter eficiência para atender os objetivos de
desempenho. Na verdade, nenhum dos
objetivos de desempenho listados pode
ser atingido usando as métricas brutas
fornecidas pelo mecanismo de banco
de dados. Os dados brutos podem criar
suporte para um processo diagnóstico
básico, mas isso depende muito da
capacidade do DBA de interpretar dados
rapidamente e com precisão. Quando
problemas complexos forem avaliados
usando apenas métricas brutas, as decisões
serão orientadas mais por palpites que por
evidências. Isso aumenta os riscos contra
a estabilidade do sistema de produção.
Os DBAs proativos implantam tecnologias
de desempenho para automatizar a coleta
e a maior parte da análise necessária para
converter dados brutos em informações
úteis. Essas tecnologias são categorizadas
de acordo com seu principal valor e usadas
em um processo simples para ajudar os
DBAs proativos a atender seus objetivos de
desempenho, conforme ilustrado aqui.
Monitorar. Analisar. Otimizar.
Essa abordagem é importante para
evitar uma situação em que a tecnologia
de desempenho contribua mais
com a complexidade do que com
a compreensão do desempenho.
Monitorar
Detectar comportamentos
estranhos e isolar a fonte
Analisar
Identificar a causa de gargalos
de desempenho, desenvolver
um plano de otimização
Otimizar
Restaurar e maximizar
o desempenho
Figura 1. A abordagem "monitorar, analisar e otimizar"
Avaliação de tecnologias de
desempenho
Para avaliar quais tecnologias são mais
eficazes na melhora da qualidade e
estabilidade do desempenho do banco
de dados, é necessário considerar muitos
recursos. Esta seção examina os poucos
fatores vitais que podem ajudar ou atrapalhar
a implantação de uma tecnologia.
Três níveis de monitoramento
e análise de desempenho
A complexidade inerente ao ambiente
de banco de dados significa que existem
milhares de possíveis fontes de um
desempenho ruim. É por isso que o
monitoramento e a análise automatizados
são tão desejáveis. Uma tecnologia
abrangente aceita a complexidade
com o compromisso de medir todos
os componentes que possam causar
interrupções do desempenho de produção.
Se não houver medição, não haverá gestão.
O DBA deverá definir o escopo de
cobertura necessário e verificá-lo em
relação à tecnologia sendo avaliada. Existem
três níveis de monitoramento e análise de
desempenho relevantes ao banco de dados:
3
• O monitoramento de desempenho de
aplicações (APM) identifica problemas nos
componentes da aplicação, entre usuários finais
e o banco de dados. Módulos que não forem
do banco de dados poderão ser relevantes
para o DBA, especialmente os componentes de
monitoramento da virtualização.
• O monitoramento de instâncias identifica
problemas que afetam a infraestrutura do banco
de dados, fornecendo um aviso precoce de
configurações ou componentes sobrecarregados
que possam afetar a experiência do usuário.
• A análise de carga de trabalho das transações
mede o SQL que conecta usuários e aplicações
aos recursos de banco de dados. A visibilidade
profunda das transações de banco de dados
é essencial para bancos de dados cruciais, pois
ela possibilita ao DBA priorizar fontes de alto
impacto na resolução, prevenção e otimização.
Monitoramento do desempenho
de aplicações
O APM garante que a prestação de serviços
de aplicação atenda às necessidades de
empresas e dos usuários finais. Ela deve
oferecer uma visão geral correlacionada
das aplicações gerenciadas, do usuário final
ao banco de dados, dos níveis de serviço à
infraestrutura, para descobrir a causa original
de cada incidente que impacte os negócios
e corrigi-la rapidamente.
Existem três níveis
de monitoramento
e análise de
desempenho
relevantes ao banco
de dados:
Monitoramento
do desempenho
de aplicações,
monitoramento de
instâncias e análise
de carga de trabalho
de transações.
O banco de dados é o mais importante
componente da pilha de aplicações. Além
de conter os dados que movimentam
os negócios atendidos pela aplicação, o
banco de dados é o ponto focal de cada
transação. Um banco de dados lento afeta
todos os usuários e processos de aplicação.
O desempenho contínuo máximo da
aplicação requer que a instância, carga de
trabalho de transação, sistema operacional
e máquinas virtuais que deem suporte ao
banco de dados sejam otimizados.
O monitoramento
de instâncias
é a base do
gerenciamento
eficaz de banco de
dados porque dá
ao DBA visibilidade
do desempenho
de cada banco
de dados da
organização.
Monitoramento de instâncias
O monitoramento de instâncias é a base
do gerenciamento eficaz de banco de
dados porque dá ao DBA visibilidade do
desempenho de cada banco de dados
da organização. Os seguintes aspectos
do monitoramento de instâncias são
importantes para avaliar uma tecnologia:
• Resolução de problemas acelerada
• Alertas inteligentes e análise em linha de base
• Independência de produção
Resolução de problemas acelerada
Uma interface do usuário intuitiva é
importante para ver todos os bancos de
dados gerenciados em um único console.
Esse console permite que o DBA isole e
investigue rapidamente um determinado
banco de dados assim que identificar um
problema. Todo o fluxo de trabalho, do
console à fonte do problema, deve ser
concluído com poucos cliques do mouse.
Alertas inteligentes e análise em linha
de base
Quando um problema for atual ou iminente,
o DBA precisará de orientações claras para
minimizar rapidamente ou evitar o impacto
para o usuário. O DBA terá uma vantagem
real quando os alertas forem precisos,
fornecerem um aviso logo cedo e ajudarem
a priorizar problemas simultâneos por
ordem de gravidade do impacto.
Os limites fixos são úteis para identificar
condições críticas, mas fornecem apenas
um período de aviso curto para o DBA lidar
com os problemas antes de os usuários
serem afetados. Ajustar a sensibilidade dos
limites fará com que os alertas de aviso
ocorram antes no ciclo do problema,
mas também criará muitos alarmes falsos,
aumentando a sobrecarga administrativa.
A análise em linha de base resolve esses
pontos fracos usando dados históricos
para criar perfis de desempenho para
cada métrica coletada. O DBA receberá
um aviso quando desvios da linha de
base ocorrerem. Os alertas são muito
precisos e ocorrem em tempo hábil,
antes de o problema progredir o
suficiente para afetar os usuários.
Independência de produção
As métricas de desempenho devem ser
gerenciadas e armazenadas longe do
servidor de produção, para eliminar o risco
associado a ter apenas um ponto de falha.
Os dados de desempenho incorporados
estão sujeitos aos mesmos problemas
que afetam os usuários, evitando com
frequência que o DBA acesse dados de
desempenho em momentos de urgência.
Figura 2. Com uma análise em linha de base eficaz, os DBAs são alertados de desvios de
desempenho da normalidade histórica.
4
Figura 3. O contexto é essencial para a análise de carga de trabalho das transações.
Análise de carga de trabalho das
transações
O terceiro nível de monitoramento e análise
de desempenho é a análise da carga de
trabalho das transações. Por causa da
natureza altamente dinâmica da carga
de trabalho das transações, a medição
requer uma tecnologia especializada. Ao
avaliar uma solução de análise de carga de
trabalho, considere estes três fatores:
•Contexto
•
Prevenção de problemas
•
Granularidade dos dados
•
Sobrecarga mensurada
•
Escalabilidade e integridade
Contexto
Uma análise abrangente da carga
de trabalho das transações requer
contexto. As transações de banco de
dados interagem constantemente com
subsistemas complexos (como o sistema
operacional, configuração e E/S). Por
isso, os dados coletados devem medir o
desempenho de todos esses subsistemas
e ser correlacionados em um formato
que traga significado e possibilite ações.
Os produtos que apresentarem estados
de espera não estarão conduzindo uma
análise de carga de trabalho. Os estados de
espera fornecem informações valiosas de
quais tarefas tomam o tempo do banco de
dados, mas não do porquê. Eles também
não descrevem como a contenção afeta
usuários, levando a esforços de ajuste que
resolvem sintomas em vez de causas.
O conceito de fluxo de trabalho
direcionado também é importante. Esse
fluxo ocorrerá quando um produto
orientar o DBA em uma compreensão
mais profunda da condição subjacente
de desempenho. Gravidade, conselhos e
análises cruzadas são cruciais para acelerar
o conhecimento do contexto de um
problema de desempenho e de sua causa.
Prevenção de problemas
A capacidade de prevenir problemas é
um fator decisivo para ajudar os DBAs
a se tornarem proativos. Geralmente,
os problemas começam bem antes
de afetarem os usuários. Eles não são
detectados até que de repente se tornem
críticos, quando geralmente já é tarde
demais para evitar o impacto.
Os administradores avançados procuram
constantemente fontes de possíveis
lentidões. Eles precisam saber quando
os processos críticos (ou a carga de
trabalho inteira) estão se degradando, para
que possam tomar medidas corretivas.
Comparar o desempenho recente a dados
históricos (ou a uma linha de base gerada
a partir dos dados históricos) é uma forma
rápida e eficaz de identificar tendências de
degradação.
Figura 4. Os administradores precisam saber quando os processos críticos estão se degradando,
para que possam tomar medidas corretivas antes de o problema afetar os usuários.
5
Uma análise
abrangente da carga
de trabalho das
transações requer
contexto.
Granularidade dos dados
Uma análise eficaz da carga de trabalho das
transações requer que os dados alimentando
o mecanismo de análise sejam da melhor
qualidade. Dados com baixa granularidade
trazem uma margem significativa de erro
que é inaceitável para gerenciar com
precisão o desempenho de bancos de
dados cruciais. A granularidade dos dados
é determinada pela frequência de coleta.
Os administradores
avançados
procuram
constantemente
fontes de possíveis
lentidões.
As transações de banco de dados podem
alternar de contexto diversas vezes por
segundo. Até mesmo um volume moderado
de transação executará dezenas ou centenas
de novas instruções SQL a cada segundo.
Uma taxa de coleta secundária é um requisito
importante para gerenciar bancos de dados
cruciais: a frequência de coleta deve exceder
a taxa de volatilidade no subsistema de
transação, para garantir a precisão.
Por exemplo, em uma avaliação de 1 minuto
de desempenho, uma frequência de coleta
de 100 Hz renderá 6.000 amostras de cada
métrica para análise, em comparação a
60 amostras com uma frequência de 1 Hz.
É importante que a taxa de coleta se adapte
à carga de trabalho do usuário, ou seja, sua
frequência deve aumentar para manter a
qualidade máxima dos dados em cargas de
pico e diminuir quando as cargas de trabalho
diminuírem, para preservar os recursos.
Frequências de coleta estáticas reduzem
a precisão durante períodos de muita
carga, porque, à medida que o volume de
transações aumenta durante os períodos de
pico, a granularidade dos dados diminui e
buracos significativos aparecem nos dados.
Sobrecarga mensurada
A coleta otimizada pretende fornecer a
mais alta qualidade de dados a um baixo
custo. Um produto deve ter visibilidade
de sua própria sobrecarga de recursos de
produção, por dois motivos principais:
• Qualquer custo de coleta proposto precisa ser
verificado em um ambiente de produção para
garantir que esteja alinhado à sobrecarga real
observada. Se ela não for relatada, não poderá
ser medida.
6
• O monitoramento de desempenho sempre
representará uma sobrecarga de recursos,
que se tornará parte da carga de trabalho de
produção. Seu gerenciamento deve ser igual
ao gerenciamento de uma possível fonte de
contenção.
Escalabilidade e integridade
Muitas tecnologias parecem funcionar
com cargas de trabalho moderadas.
Os problemas com o monitoramento
começam a aparecer à medida que o uso
aumenta e a quantidade de bancos de
dados e transações aumenta também.
Por exemplo, quando bancos de dados
estiverem sob pressão, a coleta de métricas
de desempenho com chamadas de SQL
poderá apresentar erro pelo fato de o
banco de dados (produção) afetado não
estar acessível. Esse erro gerará buracos
nos dados de desempenho quando estes
forem mais necessários: na ocorrência de
um problema. Esses buracos dificultam a
investigação de problemas.
A coleta externa é independente de
qualquer problema atual do banco de
dados e não tem nenhum impacto nos
recursos internos do banco de dados.
A coleta ocorre sem interrupção durante
períodos de carga de pico, e o acesso aos
dados de desempenho é rápido e disponível
a todos os momentos.
Conclusão
A complexidade e criticidade de bancos de
dados corporativos modernos necessitam
de abordagens avançadas para que os
DBAs sejam proativos para gerenciar o
desempenho. O volume de dados brutos
de desempenho fornecido pelo banco de
dados passou do ponto em que pode ser
útil sem uma análise significativa.
Os DBAs proativos dependem de
tecnologias especializadas para monitorar
e analisar continuamente o desempenho
dos bancos de dados e fornecer
informações de alta qualidade, que possam
ser usadas para tomar decisões e eliminem
a adivinhação do processo de avaliação.
Essas tecnologias também devem ser
implantadas de modo a automatizar tarefas
complexas de otimização e ajudar os
DBAs a atender objetivos específicos de
desempenho:
•
Resolução de problemas acelerada
•
Prevenção de problemas
•
Maximizar recursos de hardware
•
Reduzir riscos durante mudanças
Para obter mais informações
© 2013 Dell, Inc. TODOS OS DIREITOS RESERVADOS. Este
documento contém informações proprietárias protegidas por
direitos autorais. Nenhuma parte deste documento pode ser
reproduzida ou transmitida em qualquer forma ou por qualquer
meio, eletrônico ou mecânico, incluindo fotocópia e gravação para
qualquer propósito, sem a permissão por escrito da Dell, Inc. ("Dell").
Dell, Dell Software, o logotipo e os produtos da Dell Software,
como identificados neste documento, são marcas registradas
da Dell, Inc. nos EUA e/ou em outros países. Todas as outras
marcas comerciais ou registradas são de responsabilidade de
seus respectivos proprietários.
As informações deste documento são relativas aos produtos
Dell. Nenhuma licença, expressa ou implícita, por embargo ou
de outra forma, a qualquer direito de propriedade intelectual é
concedida por este documento ou em conjunto com a venda
de produtos Dell. EXCETO CONFORME ESTABELECIDO NOS
TERMOS E CONDIÇÕES DA DELL, CONFORME ESPECIFICADO
NO CONTRATO DE LICENÇA PARA ESTE PRODUTO, A DELL NÃO
Sobre a Dell Software
A Dell Software ajuda os clientes a revelar um potencial maior pelo
poder da tecnologia, oferecendo soluções escaláveis, acessíveis e
fáceis de usar que simplificam a TI e reduzem os riscos. O portfólio
da Dell Software abrange cinco áreas principais de necessidades
do cliente: datacenter e gerenciamento de cloud computing,
gerenciamento de informações, gerenciamento de força de
trabalho móvel, segurança e proteção de dados. Esse software,
combinado ao hardware e aos serviços Dell, promove eficiência e
produtividade inigualáveis para acelerar os resultados dos negócios.
www.dellsoftware.com.
Se você tiver dúvidas sobre o possível uso deste material, entre
em contato:
Dell Software
5 Polaris Way
Aliso Viejo, CA 92656
www.dellsoftware.com
Consulte nosso site para obter informações sobre escritórios
regionais ou internacionais.
7
Whitepaper-ProactivePerfMgmt-US-SW-2013-10-21-23116
ASSUME NENHUMA RESPONSABILIDADE, SEJA ELA QUAL FOR,
E RENUNCIA A TODA GARANTIA EXPLÍCITA, IMPLÍCITA OU
ESTATUTÁRIA RELACIONADA A SEUS PRODUTOS, INCLUINDO,
SEM LIMITAÇÃO, A GARANTIA IMPLÍCITA DE COMERCIABILIDADE,
ADEQUAÇÃO A UM PROPÓSITO ESPECÍFICO OU NÃO VIOLAÇÃO.
EM HIPÓTESE ALGUMA A DELL SERÁ RESPONSÁVEL POR
QUAISQUER DANOS DIRETOS, INDIRETOS, CONSEQUENCIAIS,
PUNITIVOS, ESPECIAIS OU INCIDENTAIS (INCLUINDO, SEM
LIMITAÇÃO, DANOS POR PERDA DE LUCROS, INTERRUPÇÃO DE
NEGÓCIOS OU PERDA DE INFORMAÇÕES), DECORRENTES DO
USO OU IMPOSSIBILIDADE DE UTILIZAR ESTE DOCUMENTO,
MESMO QUE A DELL TENHA SIDO AVISADA DA POSSIBILIDADE
DE TAIS DANOS. A Dell não faz quaisquer representações ou
garantias com relação à exatidão ou completude do conteúdo
deste documento e se reserva o direito de fazer alterações nas
especificações e descrições de produtos a qualquer momento
sem aviso prévio. A Dell não se compromete em atualizar as
informações contidas neste documento.
Download