OTIMIZAÇÃO E PERFORMANCE DE BANCO DE DADOS UTILIZANDO SQL TUNING



Documentos relacionados
Tuning em queries em Banco de Dados

14/09/2008. Curso Superior de Tecnologia em Bando de Dados Disciplina: Projeto de Banco de Dados Relacional II Prof.: Fernando Hadad Zaidan

Gerenciamento de Problemas

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE

METODOLOGIA PARA ANÁLISE DE DESEMPENHO

ROTEIRO PARA ELABORAÇÃO DE PROJETOS

ISO/IEC 12207: Gerência de Configuração

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Noções de. Microsoft SQL Server. Microsoft SQL Server

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

BANCO DE DADOS AULA 02 INTRODUÇÃO AOS BANCOS DE DADOS PROF. FELIPE TÚLIO DE CASTRO 2015

Conceitos de Banco de Dados

XDOC. Solução otimizada para armazenamento e recuperação de documentos

IW10. Rev.: 02. Especificações Técnicas

ITIL V3 (aula 5) AGENDA: GERENCIAMENTO DE CAPACIDADE GERENCIAMENTO DE CONTINUIDADE GERENCIAMENTO FINANCEIRO

A Grande Importância da Mineração de Dados nas Organizações

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

BANCO DE DADOS 1 AULA 1. estrutura do curso e conceitos fundamentais. Professor Luciano Roberto Rocha. contato@lrocha.

SISTEMA ELETRÔNICO DE EDITORAÇÃO DE REVISTAS: SEER

Tópicos. Atualizações e segurança do sistema. Manutenção Preventiva e Corretiva de Software (utilizando o MS Windows XP)

PLANO DE EXPANSÃO COMERCIAL DA ÁREA COMERCIAL EMPRESA XYZS

Metodologia de Gerenciamento de Projetos da Justiça Federal

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. DCC-IME-USP

15/09/2015. Gestão e Governança de TI. Modelo de Governança em TI. A entrega de valor. A entrega de valor. A entrega de valor. A entrega de valor

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Universidade Federal do Estado do Rio de Janeiro UNIRIO. Guia para criação do banco de dados de redes sociais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

Sistemas de Gerenciamento de Banco de Dados

Introdução à Banco de Dados. Definição

TOTVS BA Guia de Customização Linha Logix

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

No mundo atual, globalizado e competitivo, as organizações têm buscado cada vez mais, meios de se destacar no mercado. Uma estratégia para o

Sistemas de Informação I

HIBERNATE EM APLICAÇÃO JAVA WEB

Sistemas Integrados de Gestão Empresarial

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

RODRIGUES JARDIM,MIRIAN BERGMANN DE LIMA, TAMIRES RODRIGUES FERREIRA

Projeto de Sistemas I

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

<Insert Picture Here> Comparativo entre DBSE e DBEE

Módulo 4. Construindo uma solução OLAP

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

Gestão de Relacionamento com o Cliente CRM

Algoritmos. Cláudio Barbosa

4 Implementação e Resultados Experimentais

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

4 Metodologia da Pesquisa

Curso PostgreSQL - Treinamento PostgreSQL - Fundamental

SAM GERENCIAMENTO DE ATIVOS DE SOFTWARE

Sugestão de Roteiro para Elaboração de Monografia de TCC

Existem 109 questões nesta pesquisa

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

Aula 02 Conceitos básicos elipse. INFORMÁTICA INDUSTRIAL II ENG1023 Profª. Letícia Chaves Fonseca

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki

ADMINISTRAÇÃO DE ATIVOS DE TI GERENCIAMENTO DE CONFIGURAÇÃO

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS

PLANEJAMENTO ESTRATÉGICO

Gerenciamento de Serviços de TI ITIL v2 Módulo 1 Conceitos básicos

Material de Apoio. Sistema de Informação Gerencial (SIG)

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO (Bacharelado)

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

as qualidades do banco de dados SQL Server 2000 a documentação é constantemente atualizada e de fácil acesso.

Desenvolvendo Websites com PHP

Fundamentos de Sistemas Operacionais

Tecnologia em Gestão Pública Desenvolvimento de Projetos - Aula 9 Prof. Rafael Roesler

Detalhamento da Fase de Planejamento e Programação de Projeto. Gerenciamento de Tempo

Administração de dados - Conceitos, técnicas, ferramentas e aplicações de Data Mining para gerar conhecimento a partir de bases de dados

Visão estratégica para compras

Planejando o aplicativo

Administração de Sistemas de Informação Gerenciais

INSTITUTO FLORENCE DE ENSINO COORDENAÇÃO DE PÓS-GRADUAÇÃO CURSO DE PÓS-GRADUAÇÃO EM (TÍTULO DO PROJETO) Acadêmico: Orientador:

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos

Prof. Raul Sidnei Wazlawick UFSC-CTC-INE. Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010.

22 DICAS para REDUZIR O TMA DO CALL CENTER. em Clínicas de Imagem

MANUAL DE IMPLANTAÇÃO SISTEMA DE INVENTÁRIO CACIC GOVERNO FEDERAL SOFTWARE PÚBLICO

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

SISTEMA DE GESTÃO DE PESSOAS SEBRAE/TO UNIDADE: GESTÃO ESTRATÉGICA PROCESSO: TECNOLOGIA DA INFORMAÇÃO

Mapeamento de Processos

Gestão do Conhecimento e Dasenvolvimento de Software

ITIL - Por que surgiu? Dependências de TI; A qualidade, quantidade e disponibilidade de infra-estrutura de TI afetam diretamente;

Introdução Banco de Dados

Processos de Desenvolvimento de Software

e-ouv Passo-a-passo Sistema de Ouvidorias do Poder Executivo Federal Junho, 2015 Controladoria-Geral da União

Sistema de Gestão da Qualidade

Introdução a Banco de Dados

IMPLANTAÇÃO DE UM SISTEMA DE AVALIAÇÃO DE DESEMPENHO NA UFG

Unidade I FINANÇAS EM PROJETOS DE TI. Prof. Fernando Rodrigues

Conhecendo os usuários de um Sistema de Banco de Dados

Transcrição:

OTIMIZAÇÃO E PERFORMANCE DE BANCO DE DADOS UTILIZANDO SQL TUNING Jéssica Correa dos Santos¹, Alexandre Paulino Sierra da Silva¹ ¹Universidade Paranaense (Unipar) Paranavai-PR-Brasil jessica_07correa@hotmail.com, alexandre.pss@unipar.br Resumo. Este artigo descreve técnicas para otimização de banco de dados, concentrado especificamente na utilização do Tuning. O Tuning refere-se ao conceito de impor mudanças e aplicar idéias para otimizar o desempenho na recuperação ou atualização de dados, quando seguidas corretamente as etapas do otimizador garantem um ótimo desempenho para a aplicação. 1. Introdução Com o aumento na demanda e da complexibilidade dos sistemas de informação, cresce também a procura por Sistemas de Gerenciamento Banco de Dados seguros e com alto desempenho, o desempenho é medido pelo tempo de resposta das consultas, ou seja, quanto mais rápido for a busca melhor seu desempenho. O baixo desempenho de um banco de dados nem sempre é aceitável pelos usuários, pois a lentidão ou indisponibilidade de informação pode gerar em prejuízos significativos. A otimização de SQL também conhecida como Tuning, tem a finalidade de ajustar as consultas, para que elas tenham uma boa performance garantindo o melhor desempenho possível. (Souza, 2009) Mesmo em um banco de dados bem projetado pode ocorrer problemas de performance se a escrita dos comandos SQL for mal elaborada. Segundo Mullins (1999), cerca de 80% dos problemas de desempenho dos bancos de dados são causados por códigos SQL mal elaborados. O objetivo desse trabalho é uma revisão bibliográfica sobre otimização, concentrando especificamente no tema Tuning, serão apresentados alguns fatores essenciais para garantir o melhorias na performance e no desempenho da aplicação, também será mostrado os passos do Tuning.

2. Otimização de banco de dados A otimização consiste em fornecer a informação ao usuário com o menor tempo possível, ou seja, encontrar um caminho mais eficiente de processar a mesma requisição. (Couto, 2006) Segundo Date (2004) a otimização representa um desafio para os sistemas de banco de dados relacionais, se o sistema espera atingir um desempenho aceitável. A vantagem não está apenas no fato que os usuários não precisam se preocupar em formular consultas para tirar o melhor desempenho do sistema, mas na possibilidade do otimizador sair-se melhor que o usuário. De acordo com as contribuições de Souza (2009) o otimizador tem a finalidade geral de escolher uma estratégia eficaz para avaliar determinada expressão relacional. 2.1. Otimização de SQL As intruções SQL mal elaboradas, podem causar probelmas de performance em uma aplicação, afetando o desempenho do banco de dados. O que ocasiona a maioria desses problemas é a forma com que os desenvolvedores escrevem as consultas SQL, eles focam no resultado e não no desempenho. A otimização de SQL tem como objetivo produzir a escolha mais eficiente para execução dos comandos SQL, o que acarreta em um ótimo desempenho para a aplicação. (Gonçalves, 2006) O Tuning de SQL tem o objetivo de auxiliar na escrita e execução adequada de comandos SQL, permitindo que a manipulação seja realizada com maior desempenho e melhorias na performance. Na escrita de comandos SQL ou na otimização de um comando já existente, o Tuning de aplicação pode melhorar o tempo de resposta da CPU, reduzir o I/O e os recursos gastos com memória, garantindo maior desempenho. 3. Tuning O Tuning significa sintonia ou ajuste para que algo funcione melhor. Ele da suporte ao Administrador do Banco de Dados (DBA), fazendo ajustes nas aplicações que melhoram a performance do banco de dados (Ikematu 2009). Também conhecido como Diagnostics e Tuning, o tuning trata da necessidade e da importância de um diagnóstico claro e preciso. Depois de diagnosticar o problema vem o ajuste ou tuning, para que o banco de dados tenha um ótimo desempenho. (Proni 2010). Segundo Proni 2010 o SQL Tuning tem o papel de melhorar o desempenho das aplicações executadas. Nos processos computacionais o desempenho é medido pela velocidade, ou seja, quanto mais rápido melhor o desempenho. A velocidade então é medida no tempo de resposta das aplicações.

A fase de tuning de um banco de dados é um processo de refinamento que envolve modificações em varios aspectos desse BD, e que vão desde mudanças nos conceitos apreendidos nos diagramas entidade relacionamento (ER) até a troca de hardware, passando pela configuracão dos softwares que executam nesse sistema. (Tramontina, 2008) 3.1. Utilização do Tuning Segundo Ikematu (2009), para se obter melhores resultados, ou seja, melhor performance do BD, o ajuste ou tuning deve ser feito durante a fase de projeto. Pois com o ajuste no projeto pode-se tirar o máximo de benefícios com um custo mais baixo. Se não utilizado corretamente na fase de projeto, ou seja, se os usuários reclamarem sobre tempo de respostas ruins, geralmente é tarde para usar estratégias mais eficientes do tuning. Com o sistema bem projetado, pode-se obter vantagens completas de melhorias de performance e desempenho do banco de dados. Porém mesmo um sistema bem projetado pode degradar-se com o uso. A vista disso o tuning é uma parte importante da manutenção do sistema. Foque seus esforços de ajuste em comandos onde os benefícios de ajuste excedem o custo do ajuste. Em complementação a políticas e procedimentos para análise e revisão de SQL podem ser usadas ferramentas automatizadas para minimizar o volume de códigos SQL ruins. Use ferramentas tais como TKPROF, SQL Trace Facility e outras para encontrar o problema. Encontre os comandos que consomem mais recursos e/ou são executados mais frequentemente. Não adianta ajustar comandos SQL para projetos ineficientes da aplicação. (Ikematu 2009) O Tuning de SQL é apenas uma parte de um conjunto de fatores para a otimização do ambiente de banco de dados. Alguns fatores são essências para se obter melhorias na performance e no desempenho da aplicação, a figura 1 demonstra os fatores essências para o utilização adequada do Tuning. Uma metodologia recomendada para tuning deveria seguir os seguintes passos: (Ikematu 2009) Abaixo a figura demonstra os passos do tuning.

Fonte Ikematu 2009 Visualizando a figura 1, entende-se que o tuning é um processo interativo, e que um passo depende do outro. Para se obter um melhor desempenho nas consultas, o ajuste deve ser feito em todas as etapas na elaboração do sistema. 4. Metodologia Para a realização deste trabalho foi feita uma pesquisa em artigos científicos e sites na internet e uma revisão bibliográfica. 5. Conclusões Este artigo demonstrou que a otimização usa técnicas que tende a melhorar o desempenho do banco de dados. Mas para que otimização traga aumento no desempenho, essas técnicas devem ser aplicadas corretamente.

O SQL Tuning não trata apenas da otimização de consultas SQL, e sim da otimização de todas as fases do projeto de banco de dados. Se as fases do Tuning forem seguidas adquadamente o resultado será satisfatório. Garantindo assim sucesso no desempenho e na performance do banco de dados. Referências COUTO, Eder. Artigo: Aumentando a Performance da Aplicação Através da Otimização de SQL. imasters 2006. Disponível em:< http://imasters.com.br/artigo/4055/bancodedados/aumentando_a_performance_da_aplic acao_atraves_da_otimizacao_de_sql/> Acesso em: 25/07/2013. DATE, C. J., Introdução a Sistemas de Banco de Dados. 8. ed. Rio de Janeiro: Campus 2004. GONÇALVES, E. (2006) Tuning de SQL: a importância da otimização em comandos SQL. SQL Magazine, n. 31, p.64-66. IKEMATU, Ricardo Shoiti. Artigo: Realizando tuning na base de aplicações. Celepar 2009 disponível em: <http://www.batebyte.pr.gov.br/modules/conteudo/conteudo.php?conteudo=1592> Acesso em: 25/07/2013. MULLINS, Craig S. The Most Important Thing is Performance. 1999. Disponível em <http://www.craigsmullins.com/cnr_perf.htm >. Acesso em: 20/05/2013. PORNI, Ricardo Portilho, Artigo SQL Magazine: Oracle Benchmark: Linux x Windows. Disponivel <http://www.devmedia.com.br/oracle-benchmark-linux-x-windows-artigorevista-sql-magazine-87/21045> Acesso em: 05/07/2013 SOUZA, Fernando de Assis; ALONSO, Alana Katiuscia Pires Bosso; SANTOS, Rodrigo, Artigo Científico: Avaliação das Principais Técnicas de Desempenho em Banco de Dados Oracle Através da Otimização de SQL. Policamp, 2009. Disponível em:<http://scholar.googleusercontent.com/scholar?q=cache:dyrs1ou8zlij:scholar.goog le.com/&hl=pt-pt&as_sdt=0,5> TRAMONTINA, G. B. Database Tuning: Configurando o Interbase e o PostgresSQL. Campinas, 2008. Disponivel em <http://www.ic.unicamp.br/~geovane/mo410-091/ch20-configinterbaseposgres-art.pdf> Acesso em: 23/07/2013.