Uma Abordagem Não-Intrusiva para Sintonia Automática de Consultas SQL
|
|
- José Vilanova Cunha
- 8 Há anos
- Visualizações:
Transcrição
1 Uma Abordagem Não-Intrusiva para Sintonia Automática de Consultas SQL Arlino H. Magalhães de Araújo 1, José Maria Monteiro 1, José Antônio F. de Macêdo 1 1 Departamento de Computação Universidade Federal do Ceará (UFC) Campus do Pici - Bloco Fortaleza CE Brasil {arlino,monteiro,jose.macedo}@lia.ufc.br Nível: Mestrado Ingresso: março de 2010 Conclusão esperada: março de 2012 Etapa concluída: disciplinas Abstract. The cost models used in current DBMS query optimizers depend on several factors, such as: statistics, estimates and properties. This fact makes these optimizers, in many cases, inaccurate to pick plans, generating suboptimal plans. In such situations, it is necessary to tune SQL statements to guide the optimizer in choosing a better execution plan than that which would normally be selected. However, this process requires a high level of expertise and skill of the DBA. Thus, this paper presents an approach for automatic and non-intrusive SQL tuning. Resumo. Os modelos de custo utilizados pelos otimizadores de consulta dos SGBDs atuais dependem de diversos fatores que podem torná-los imprecisos, tais como: estatísticas, estimativas e propriedades. Este fato faz com que esses otimizadores sejam, em muitos casos, imprecisos na escolha de planos de execução, gerando planos sub-ótimos. Em tais situações, é necessário realizar a sintonia da consulta SQL a fim de orientar o otimizador na escolha de um plano de execução melhor do que aquele que normalmente seria selecionado. Entretanto, esse processo exige um alto nível de especialização e habilidade do DBA. Neste sentido, este trabalho apresenta uma abordagem para a sintonia automática e não-intrusiva de consultas SQL. 1. Introdução Sistemas Gerenciadores de Bancos de Dados (SGBDs) permitem especificar consultas usando linguagens declarativas de alto nível, como, por exemplo, SQL (Structured Query Language). O otimizador de consultas é responsável por escolher um plano de execução eficiente para cada consulta a ser executada pelo SGBD. Para este propósito, os otimizadores baseados em custos procuram, em um grande espaço de busca, o plano de execução que proporcione o menor tempo de resposta. Para realizar esta tarefa os otimizadores utilizam um modelo de custo, o qual possibilita estimar os recursos necessários e o custo da execução de cada um dos planos analisados, possibilitando assim comparar o custo de execução das várias alternativas de plano e selecionar o plano de execução ótimo, ou seja, que apresente o menor custo de execução. 7
2 Os modelos de custo utilizados pelos otimizadores de consulta atuais são bastante complexos e dependem de fatores que podem torná-los imprecisos, tais como: (a) estimativas de cardinalidade, que são inferidas através de suposições sobre correlação e uniformidade; (b) constantes de calibração, usadas na estimativa de determinados custos, os quais não podem ser calculados de forma exata ou que dependem de aspectos específicos do hardware utilizado, como, por exemplo, o custo de I\O em um disco rígido específico; (c) fórmulas de cálculo de determinados custos podem não capturar todos os detalhes dos algoritmos utilizados nos planos de execução; (d) parâmetros de configuração do banco de dados influenciam os custos de execução das consultas, como, por exemplo, tamanho do buffer de memória; e (e) mesmo que fosse possível determinar com exatidão o custo de uma determinada consulta de maneira isolada, na prática, as consultas executam de forma concorrente e a execução de uma consulta pode influenciar o tempo de execução das demais devido a fatores como o compartilhamento das estruturas de índice e bloqueios excessivos [Bruno and Chaudhuri and Ramamurthy 2009]. 2. Definição do Problema Mesmo usando métodos de acesso e estratégias de avaliação suportadas pelo SGBD, às vezes, os otimizadores não conseguem produzir planos ótimos. Nestes casos, deve ser realizado o ajuste (ou sintonia) da consulta SQL. Para isso, em geral, duas estratégias são frequentemente utilizadas: (a) reescrever a consulta SQL de tal forma que esta retorne o mesmo resultado da cláusula SQL anterior e influencie o otimizador a escolher um plano de execução que ofereça um desempenho melhor que o plano de execução gerado anteriormente; e (b) aplicar Query Hinting para forçar a seleção de um determinado plano de consulta que seja mais eficiente que o plano de execução gerado inicialmente [Shasha and Bonnet 2003]. A técnica de reescrita consiste em escrever uma nova cláusula SQL semanticamente equivalente à cláusula SQL inicialmente utilizada (ou seja, que retorne o mesmo resultado) e que apresente ganhos de desempenho [Hamakrishnan and Gehrke 2008]. Um mecanismo comum usado nos bancos de dados comerciais é a Query Hinting. Essencialmente, um hint (dica) instrui o otimizador a restringir seu espaço de busca para certo subconjunto de planos de execução (por exemplo, impor a escolha de planos que usem um determinado tipo índice ou determinar a ordem e/ou método de junção). O uso de um hint é feito apenas alterando-se a sintaxe do comando SQL. Contudo, deve ser observado se o plano escolhido para esta nova consulta (após a inserção do hint) proporciona um desempenho melhor [Bruno and Chaudhuri and Ramamurthy 2009]. O Administrador de Bancos de Dados (DBA) utiliza-se da reescrita de SQL e da inserção de hints para ajustar (sintonizar) as consultas SQL. Entretanto, esse processo é complexo e requer bastante conhecimento em áreas, como: (i) otimização de consultas, execução de operadores de planos de consultas, configuração de parâmetros e outros aspectos internos dos bancos de dados; (ii) identificação de índices necessários e outras estruturas de acesso; (iii) manutenção de estatísticas sobre os dados; e (iv) características dos sistemas de armazenamento de dados [Herodotou and Babu 2009]. 8
3 Além disso, em geral, o DBA trabalha de uma forma reativa, ou seja, só é acionado quando é percebido que uma consulta está lenta (em geral, isso é detectado por um usuário). Depois de monitorar e identificar o problema, ele ajusta a consulta, testa e a envia para o programador realizar esta alteração no código da aplicação que está usando a consulta SQL. Todo esse processo consome bastante tempo, tanto do DBA como do programador. 3. Solução Proposta Para lidar com os fatores que influenciam o otimizador de consultas a escolher um plano sub-ótimo, esse trabalho propõe uma abordagem e uma arquitetura, a qual está organizada em dois módulos, cuja finalidade é realizar a sintonia automática de consultas SQL em bancos de dados relacionais. O primeiro módulo consiste em um advisor capaz de automaticamente: (i) capturar as consultas anteriormente executadas, (ii) analisar essas consultas e (ii) sugerir (por meio de alertas, wizards ou relatórios) oportunidades de sintonia de consultas SQL. Assim, o advisor identifica cláusulas SQL que se fossem ajustadas, reescritas ou utilizassem hints, poderiam fazer com que o otimizador de consultas escolhesse planos de execução melhores, reduzindo o tempo de execução das consultas SQL e trazendo ganhos de desempenho. O segundo módulo consiste em um middleware que atua entre a aplicação e o SGBD. Este middleware é responsável por: (i) receber as consultas SQL enviadas pelas aplicações; (ii) realizar a sintonia automática das consultas SQL recebidas; (iii) enviar as consultas obtidas pelo processo de sintonia (reescritas) para o SGBD e (iv) receber do SGBD o resultado da execução da consulta e enviá-lo à aplicação. A abordagem proposta utilizará um conjunto de heurísticas para realizar a sintonia das consultas SQL. As heurísticas são constituídas de regras para identificar potenciais problemas de sintonia nos comandos SQL, bem como de formas de reescrever as consultas para solucionar os problemas identificados. A solução proposta apresenta ainda as seguintes características: - Não-intrusiva: completamente desacoplada do código do SGBD. Isso permite que a solução concebida possa ser utilizada com qualquer SGBD. - Independente de localização: pode executar em uma máquina distinta daquela utilizada para hospedar o SGBD. Adicionalmente, o middleware que compõe o segundo módulo da arquitetura proposta apresenta ainda as seguintes características: - Automático: completamente independente de interações com seres humanos. - On-the-fly: ser executado de forma contínua durante o funcionamento normal do SGBD. 3.1 Contribuições As principais contribuições desta dissertação são: (1) Uma abordagem não-intrusiva para sintonia automática de consultas SQL. (2) Um conjunto de heurísticas voltadas para identificar oportunidades de sintonia em consultas SQL e ajustar (reescrever) essas consultas de forma a induzir o otimizador a escolher um plano de execução melhor, ou seja, que proporcione um tempo de execução menor. 9
4 (3) Uma arquitetura baseada na colaboração entre agentes de software que possibilite implementar a abordagem proposta. (4) Uma implementação da arquitetura e da abordagem proposta. 4. Arquitetura Proposta A arquitetura concebida (ilustrada na Figura 1) baseia-se na colaboração entre agentes de software e é dividida em dois módulos: o módulo 1, um advisor cuja finalidade é analisar as consultas previamente executadas e sugerir oportunidades de sintonia de consultas SQL; e o módulo 2, um middleware que atua entre as aplicações e o SGBD realizando a sintonia automática e on-the-fly das consultas SQL enviadas pelas aplicações. Figura 1: Arquitetura não-intrusiva para sintonia automática de consultas SQL. Os principais componentes desta arquitetura são: - Agent for Workload Obtainment (AWO): consulta a metabase do SGBD e recupera as cláusulas SQL que foram ou estão sendo executadas, juntamente com seus respectivos planos de execução e estimativas de custo. E, em seguida, as armazena na metabase local (Local MetaData - LM). - Local MetaData (LM): armazena a carga de trabalho capturada pelo AWO. - Driver for Workload Access (DWA): driver que permite recuperar a carga de trabalho submetida a um SGBD específico. - Driver for Data Access (DDA): driver que permite que o motor do middleware proposto (Middleware for Query Rewrite) envie as consultas ajustadas automaticamente para o SGBD e receba o resultado da execução dessas consultas. - Agent for Statistics Obtainment (ASO): acessa o SGBD e recupera informações estatísticas, como, por exemplo, o número de linhas de uma determinada tabela, etc. 10
5 - Driver for Statistics Access (DSA): driver que permite recuperar as estatísticas de um SGBD específico. - Heuristic Set (HS): conjunto de heurísticas utilizadas pelos agentes para identificar consultas SQL com oportunidades de melhoria e para reescrever essas cláusulas. Algumas das heurísticas identificadas são genéricas e se aplicam a qualquer SGBD, já outras, no entanto, são específicas. - Agent for Query Rewrite (AQR): analisa uma determinada consulta SQL, utilizando o conjunto de heurísticas (HR), a fim de identificar oportunidades de melhoria e reescrever a consulta, caso seja necessário. - Middleware for Query Rewrite (MQR): é motor do middleware proposto e responsável por receber consultas SQL das aplicações, ajustar automaticamente essas consultas, enviar as consultas ajustadas para o SGBD, receber o resultado da execução dessas consultas e enviá-los para as aplicações. 5. Trabalhos Relacionados Em [Krishnaprasad et al 2004] é descrita uma técnica para transformar uma consulta XML em uma cláusula equivalente no modelo relacional ou objeto-relacional por meio de reescrita em tempo de compilação. No trabalho proposto em [Bruno and Chaudhuri and Ramamurthy 2009] é discutido um framework denominado Power Hints, o qual possibilita a criação e utilização de hints. O framework possibilita a criação de hints por meio de expressões regulares, tornando mais fácil e flexível criar restrições para planos de execução de consulta, permitindo uma sintonia mais precisa. Em [Herodotou and Babu 2009] é apresentada uma ferramenta denominada ztuned cuja finalidade é facilitar experimentos relacionados à sintonia de consultas SQL. A ferramenta produz conjuntos de planos que possuem operadores com a mesma cardinalidade (chamados de planos da vizinhança) e escolhe o plano ótimo entre os melhores planos de cada vizinhança, utilizando-se do mecanismo de estimativa de custos do próprio SGBD. A ferramenta trabalha desacoplada do otimizador de consultas e pode ser potencialmente utilizada com qualquer SGBD que possua um otimizador baseado em custos. No Oracle 10g é introduzido um componente denominado Automatic SQL Tuning Advisor que fornece recomendações de criação de índices baseado nos predicados presentes nas cláusulas SQL e recomendações de oportunidades de reescrita de consultas utilizando equivalências semânticas [Dageville and Dias 2006]. Existem algumas ferramentas tais como o IBM Optim Development Studio [Studio 2010], o Embarcadero DB Optimizer XE [Optimizer 2010] e o Quest SQL Optimizer for Oracle [Oracle 2010] que já realizam sintonia de consultas através de recomendações de reescrita, de uso de hints e/ou de criação de índices. Entretanto, elas adotam uma abordagem offline (não contínua) na solução do problema e transferem para o DBA, dentre outras tarefas, a decisão de executar ou não as recomendações sugeridas. 11
6 Adicionalmente, vale destacar que não foi encontrado nenhum trabalho relacionado à sintonia de consultas SQL que possua as três características a seguir: onthe-fly (executar de forma contínua), automática (independente de intervenções humanas) e não-intrusiva (desacoplada do código do SGBD). 6. Estado Atual do Trabalho 7. Conclusões (1) Identificação das heurísticas para reescrita de consultas (etapa concluída). (2) Identificação das heurísticas para a utilização de query hinting (em desenvolvimento). (3) Implementação e avaliação do protótipo (em desenvolvimento). (4) Elaboração do texto (não iniciado). Neste trabalho apresentamos uma arquitetura e uma abordagem não-intrusiva para sintonia automática de consultas SQL. A solução proposta aplica-se a situações onde o otimizador de consultas não consegue produzir planos ótimos, mesmo usando métodos de acesso e estratégias de avaliação suportadas pelo SGBD. A ferramenta proposta utiliza um conjunto de heurísticas e a colaboração entre agentes de software para realizar de forma autônoma a sintonia das consultas SQL. Para avaliar e validar a abordagem proposta pretende-se utilizar uma carga de trabalho sintética, mais precisamente o benchmark TPC-H, e uma carga de trabalho real. Referências Bruno, N., Chaudhuri, S. and Ramamurthy, R. (2009) Power Hints for Query Optimization, In: Proceedings of the 2009 IEEE International Conference on Data Engineering, ACM, Washington, DC, USA. Dageville, B. and Dias, K. (2006) Oracle s Self-Tuning Architecture and Solutions, In: IEEE Computer Society Technical Committee on Data Engineering, Oracle, USA. Hamakrishnan, R. and Gehrke, J. (2008) Sistemas de Bancos de Dados, São Paulo: McGraaw- Hill. Herodotou, H. and Babu, S. (2009) Automated SQL Tuning through Trial and (Sometimes) Error, In: DBTest 09, ACM, Rhode Island, USA. Krishnaprasad, M., Liu, Z. H., Manikutty, A., Warner, J. W., Arora, V. and Kotsovolos, S. (2004) Query Rewrite for XML in Oracle XML DB, In: Proceedings of the Vldb Conference, Toronto, Canada. Optimizer, D. X. (2010) Embarcadero DB Optimizer XE, Available: June. Oracle, S. O. (2010) Quest SQL Optimizer for Oracle, Available: Optimizer-for-Oracle, June. Shasha, D. and Bonnet, P. (2003) Database Tuning: Principles, Experiments and Troubleshooting Techniques, Morgan Kaufmann. Studio, O. D. (2010) IBM Optim Development Studio, Available: 01.ibm.com/software/data/optim/development-studio, June. 12
Uma Ferramenta para a Sintonia de Instruções SQL *
Uma Ferramenta para a Sintonia de Instruções SQL * Arlino H. M. de Araújo 1,2, José Maria Monteiro 2, José A. F. de Macêdo 2, Júlio A. Tavares 3, Ângelo Brayner 3 1 Universidade Federal do Piauí (UFPI)
Leia mais4 Implementação e Resultados Experimentais
4 Implementação e Resultados Experimentais Com o objetivo de fazer a criação automática de visões materializadas, ou seja, prover uma solução on-the-fly para o problema de seleção de visões materializadas,
Leia maisTuning e Self-Tuning de Bancos de Dados
Tuning e Self-Tuning de Bancos de Dados Dr. José Maria Monteiro Universidade de Fortaleza (UNIFOR) monteiro@unifor.br Secretaria da Fazenda do Estado do Ceará Sefaz-CE monteiro@sefaz.ce.gov.br 1 Self-Tuning
Leia maisBANCO DE DADOS AULA 02 INTRODUÇÃO AOS BANCOS DE DADOS PROF. FELIPE TÚLIO DE CASTRO 2015
BANCO DE DADOS AULA 02 INTRODUÇÃO AOS BANCOS DE DADOS PROF. FELIPE TÚLIO DE CASTRO 2015 NA AULA PASSADA... 1. Apresentamos a proposta de ementa para a disciplina; 2. Discutimos quais as ferramentas computacionais
Leia maisBancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações
Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações Tópicos Conceitos Básicos Bancos de Dados Sistemas de Bancos de Dados Sistemas de Gerenciamento de Bancos de Dados Abstração
Leia maisBanco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]
1/6 Banco de Dados O que é um Banco de Dados? Uma coleção de dados relacionados [ELMASRI/NAVATHE] Conjunto de dados integrados que tem por objetivo atender a uma comunidade específica [HEUSER] Um conjunto
Leia maisArquitetura de Banco de Dados
Arquitetura de Banco de Dados Daniela Barreiro Claro MAT A60 DCC/IM/UFBA Arquitetura de Banco de dados Final de 1972, ANSI/X3/SPARC estabeleceram o relatório final do STUDY GROUP Objetivos do Study Group
Leia maisFACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais
FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS Bancos de Dados Conceitos Fundamentais Tópicos Conceitos Básicos Bancos de Dados Sistemas de Bancos de Dados Sistemas de Gerenciamento de Bancos
Leia maisLINGUAGEM DE BANCO DE DADOS
LINGUAGEM DE BANCO DE DADOS Gabriela Trevisan Bacharel em Sistemas de Informação Universidade Federal do Rio Grande Pós-Graduanda Formação Pedagógica de Professores (FAQI) Conceito de BD Um banco de dados
Leia maisConceitos de Banco de Dados
Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir
Leia maisNoções de. Microsoft SQL Server. Microsoft SQL Server
Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados
Leia maisProf.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br
Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos
Leia maisDisciplina de Banco de Dados Introdução
Disciplina de Banco de Dados Introdução Prof. Elisa Maria Pivetta CAFW - UFSM Banco de Dados: Conceitos A empresa JJ. Gomes tem uma lista com mais ou menos 4.000 nomes de clientes bem como seus dados pessoais.
Leia maisDisciplina: Tecnologias de Banco de Dados para SI s
Curso de Gestão em SI Disciplina: Tecnologias de Banco de Dados para SI s Rodrigo da Silva Gomes (Extraído do material do prof. Ronaldo Melo - UFSC) Banco de Dados (BD) BD fazem parte do nosso dia-a-dia!
Leia maisPara construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.
Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos
Leia maisOTIMIZAÇÃO E PERFORMANCE DE BANCO DE DADOS UTILIZANDO SQL TUNING
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,
Leia maisBanco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com.
Sistemas da Informação Banco de Dados I Edson Thizon (edson@esucri.com.br) 2008 Apresentação (mini-currículo) Formação Acadêmica Mestrando em Ciência da Computação (UFSC/ ) Créditos Concluídos. Bacharel
Leia maisDado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:
MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação
Leia maisBanco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas
Processamento e Otimização de Consultas Banco de Dados Motivação Consulta pode ter sua resposta computada por uma variedade de métodos (geralmente) Usuário (programador) sugere uma estratégia para achar
Leia maisProgramação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br
Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Introdução BD desempenha papel crítico em todas as áreas em que computadores são utilizados: Banco: Depositar ou retirar
Leia mais1 http://www.google.com
1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou
Leia maisINTRODUÇÃO. Diferente de Bando de Dados
INTRODUÇÃO Diferente de Bando de Dados 1 INTRODUÇÃO DADOS São fatos conhecidos que podem ser registrados e que possuem significado. Ex: venda de gasolina gera alguns dados: data da compra, preço, qtd.
Leia maisSistemas de Banco de Dados Aspectos Gerais de Banco de Dados
Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados 1. Conceitos Básicos No contexto de sistemas de banco de dados as palavras dado e informação possuem o mesmo significado, representando uma
Leia maisGBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM
GBC043 Sistemas de Banco de Dados Introdução Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM Página 2 Definição BD Def. Banco de Dados é uma coleção de itens de dados
Leia maisSistemas de Bases de Dados
Sistemas de Bases de Dados Carlos Viegas Damásio José Alferes e Carlos Viegas Damásio Sistemas de Bases de Dados 2014/15 Objectivos - Em Bases de Dados (2º ano) pretendia-se: Que os estudantes fossem capazes
Leia maisFundamentos de Banco de Dados
Fundamentos de Banco de Dados SISTEMAS BASEADOS NO PROCESSAMENTO DE ARQUIVOS Sistema A Funcionário Pagamento Cargo Sistema B Funcionário Projeto SISTEMAS GERENCIADORES DE BANCO DE DADOS (SGBD) Sistema
Leia maisProf. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br
Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados,
Leia mais2 Auto-sintonia de Bancos de Dados e Agentes de Software
2 Auto-sintonia de Bancos de Dados e Agentes de Software A uso da abordagem de agentes de software 1 pode trazer benefícios a áreas de aplicação em que é necessário construir sistemas autônomos, ou seja,
Leia maisDesenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA
Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos
Leia maisSistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com
Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Estruturas de Sistemas Operacionais Um sistema operacional fornece o ambiente no qual os programas são executados. Internamente,
Leia maisIntrodução à Banco de Dados. Definição
Universidade Federal da Bahia Departamento de Ciência da Computação (DCC) Disciplina: Banco de Dados Profª. Daniela Barreiro Claro Introdução à Banco de Dados Definição Um banco de dados é uma coleção
Leia maisRoteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)?
Roteiro BCC321 - Banco de Dados I Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz Conceitos Básicos Banco
Leia maisProf. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior
Prof. Antonio Almeida de Barros Jr. Introdução Dados Informações Banco de Dados Conceitos Básicos em Bancos de Dados Definição BD - Banco de Dados SGBD - Sistema de Gerenciamento de BD Programa de Aplicação
Leia maisMETODOLOGIA PARA ANÁLISE DE DESEMPENHO
UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA METODOLOGIA PARA ANÁLISE DE DESEMPENHO DE SISTEMAS DE TRANSFERÊNCIA ELETRÔNICA DE FUNDOS PROPOSTA DE TRABALHO
Leia maisIntrodução Banco de Dados
Introdução Banco de Dados Vitor Valerio de Souza Campos Adaptado de Vania Bogorny Por que estudar BD? Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária reserva de hotel matrícula em
Leia maisDisciplina: Unidade III: Prof.: E-mail: Período:
Encontro 08 Disciplina: Sistemas de Banco de Dados Unidade III: Modelagem Lógico de Dados Prof.: Mario Filho E-mail: pro@mariofilho.com.br Período: 5º. SIG - ADM Relembrando... Necessidade de Dados Projeto
Leia maisArquiteturas RISC. (Reduced Instructions Set Computers)
Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina
Leia maisProf. Daniela Barreiro Claro
Prof. Daniela Barreiro Claro SQL, SQL3 e OQL são linguagens declarativas O SGBD deve processar e otimizar estas consultas antes delas serem efetivamente executadas Uma consulta possui muitas estratégias
Leia maisProfº Aldo Rocha. Banco de Dados
Profº Aldo Rocha Banco de Dados AULA 02 SBD Turma: ASN102 BELÉM, 12 DE AGOSTO DE 2011 Aula Passada Na aula passada nós trabalhamos a introdução a Banco de dados e a AGENDA FOI: Níveis de abstração; Dado,
Leia maisConteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo
Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de
Leia maisIntrodução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos
Conceitos Básicos Introdução Banco de Dados I Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Dados
Leia maisSistemas Operacionais
Sistemas Operacionais Sistemas Operacionais Prof. Marcelo Sabaris Carballo Pinto Gerenciamento de Dispositivos Gerenciamento de Dispositivos de E/S Introdução Gerenciador de Dispositivos Todos os dispositivos
Leia maisFundamentos dos Sistemas de Informação Organização de Dados e Informações
Fundamentos dos Sistemas de Informação Organização de Dados e Informações http://professor.fimes.edu.br/milena milenaresende@fimes.edu.br Sistema de Gerenciamento de Bases de Dados (DBMS) A implementação
Leia maisDocente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Introdução a Banco de Dados Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com 12/06/2013 Sumário Motivação da Disciplina
Leia maisConhecendo os usuários de um Sistema de Banco de Dados
Conhecendo os usuários de um Sistema de Banco de Dados Palestra Grupo PET/DSC 09 de Dezembro de 2009 Prof. Carlos Eduardo Pires cesp@dsc.ufcg.edu.br Agenda Conceitos Gerais Sistema de Banco de Dados Tipos
Leia mais? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.
? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.? Desde de 1994, a Microsoft lança versões do SQL SERVER
Leia maisBANCO DE DADOS 1 AULA 1. estrutura do curso e conceitos fundamentais. Professor Luciano Roberto Rocha. www.lrocha.com contato@lrocha.
BANCO DE DADOS 1 AULA 1 estrutura do curso e conceitos fundamentais Professor Luciano Roberto Rocha www.lrocha.com contato@lrocha.com 1 ROTEIRO Apresentação do Docente; Apresentação da Ementa da Disciplina;
Leia maisISO/IEC 12207: Gerência de Configuração
ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que
Leia maisUNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula
Leia mais3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio
32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio
Leia mais3. O NIVEL DA LINGUAGEM DE MONTAGEM
3. O NIVEL DA LINGUAGEM DE MONTAGEM Nas aulas anteriores tivemos a oportunidade de discutir dois diferentes níveis presentes na maioria dos computadores atuais. Nesta aula dedica-se a outro nível que também
Leia maisAlgoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br
(Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução
Leia maisSistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados
Sistema de Bancos de Dados Conceitos Gerais Sistema Gerenciador de Bancos de Dados # Definições # Motivação # Arquitetura Típica # Vantagens # Desvantagens # Evolução # Classes de Usuários 1 Nível 1 Dados
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisMC536 Bancos de Dados: Teoria e Prática
Universidade Estadual de Campinas - UNICAMP Instituto de Computação - IC MC536 Bancos de Dados: Teoria e Prática Aula #1 Arquitetura de Banco de Dados Profs. Anderson Rocha e André Santanchè Campinas,
Leia maisBanco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011
Banco de Dados Aula 1 - Prof. Bruno Moreno 16/08/2011 Roteiro Apresentação do professor e disciplina Definição de Banco de Dados Sistema de BD vs Tradicional Principais características de BD Natureza autodescritiva
Leia maisALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA
ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA INTRODUÇÃO O projeto de um banco de dados é realizado sob um processo sistemático denominado metodologia de projeto. O processo do
Leia maisNOME SEXO CPF NASCIMENTO SALARIO
Tutorial SQL Fonte: http://www.devmedia.com.br/articles/viewcomp.asp?comp=2973 Para começar Os Sistemas Gerenciadores de Bancos de Dados Relacionais (SGBDr) são o principal mecanismo de suporte ao armazenamento
Leia mais*O RDBMS Oracle é um sistema de gerenciamento de banco de dados relacional.
Arquitetura Oracle e seus componentes Hoje irei explicar de uma forma geral a arquitetura oracle e seus componentes. Algo que todos os DBA s, obrigatoriamente, devem saber de cabo a rabo. Vamos lá, e boa
Leia maisProcessos de gerenciamento de projetos em um projeto
Processos de gerenciamento de projetos em um projeto O gerenciamento de projetos é a aplicação de conhecimentos, habilidades, ferramentas e técnicas às atividades do projeto a fim de cumprir seus requisitos.
Leia maisIntrodução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos
Introdução Banco de Dados Por que usar BD? Vitor Valerio de Souza Campos Adaptado de Vania Bogorny 4 Por que estudar BD? Exemplo de um BD Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária
Leia maisAula Anterior. Capítulo 2
Capítulo 2 Clique Ciclo para de Vida editar e o estilo do Organização título do mestre Projeto O Ciclo de vida do projeto Características do ciclo de vida do projeto Relações entre o ciclo de vida do projeto
Leia maisGBD PROF. ANDREZA S. AREÃO
GBD PROF. ANDREZA S. AREÃO Dado, Informação e Conhecimento DADO: Estímulos captados pelos sentidos humanos; Símbolos gráficos ou sonoros; Ocorrências registradas (em memória, papel, etc.); Indica uma situação
Leia maisPrevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki
Prevayler Perola André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki Prevayler Prevayler é a implementação em Java do conceito de Prevalência. É um framework que prega uma JVM invulnerável
Leia maisFaculdade Lourenço Filho - ENADE 2011-1
1. Quando se constrói um banco de dados, define-se o modelo de entidade e relacionamento (MER), que é a representação abstrata das estruturas de dados do banco e seus relacionamentos. Cada entidade pode
Leia maisLP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br
LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de
Leia mais08/04/2013. Agenda. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ
Agenda Caché Server Pages Uma Aplicação Banco de Dados Fernando Fonseca Ana Carolina Salgado Mestrado Profissional 2 SGBD de alto desempenho e escalabilidade Servidor de dados multidimensional Arquitetura
Leia maisTreinamento. DBA Oracle 11g. Duração: 120 horas
Treinamento DBA Oracle 11g Duração: 120 horas Neste curso no primeiro módulo (Introdução ao Oracle 11g SQL e PL_SQL) é oferecido um curso introdutório à tecnologia do banco de dados Oracle 11g. Também
Leia maisBanco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados
Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses
Leia maisCA Mainframe Chorus for Storage Management Versão 2.0
FOLHA DO PRODUTO CA Mainframe Chorus for Storage Management CA Mainframe Chorus for Storage Management Versão 2.0 Simplifique e otimize suas tarefas de gerenciamento de armazenamento, aumente a produtividade
Leia mais14/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan
Faculdade INED Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan 1 Unidade 2 Introdução a SQL 2 Leitura Obrigatória ELMASRI,
Leia mais7.Conclusão e Trabalhos Futuros
7.Conclusão e Trabalhos Futuros 158 7.Conclusão e Trabalhos Futuros 7.1 Conclusões Finais Neste trabalho, foram apresentados novos métodos para aceleração, otimização e gerenciamento do processo de renderização
Leia maisCapítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho
20 Capítulo 3 Avaliação de Desempenho Este capítulo aborda como medir, informar e documentar aspectos relativos ao desempenho de um computador. Além disso, descreve os principais fatores que influenciam
Leia maisPROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às
Leia maisBANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING
BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING http://www.uniriotec.br/~tanaka/tin0036 tanaka@uniriotec.br Bancos de Dados Distribuídos Conceitos e Arquitetura Vantagens das Arquiteturas C/S (em relação
Leia maisADDRESS RESOLUTION PROTOCOL. Thiago de Almeida Correia
ADDRESS RESOLUTION PROTOCOL Thiago de Almeida Correia São Paulo 2011 1. Visão Geral Em uma rede de computadores local, os hosts se enxergam através de dois endereços, sendo um deles o endereço Internet
Leia maisUML - Unified Modeling Language
UML - Unified Modeling Language Casos de Uso Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 24 de abril
Leia maisSISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA
SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA 1. INTRODUÇÃO O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas operacionais multiprogramáveis. O sistemas multiprogramáveis
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 13 Gerência de Memória Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso Sumário
Leia maisBARRAMENTO DO SISTEMA
BARRAMENTO DO SISTEMA Memória Principal Processador Barramento local Memória cachê/ ponte Barramento de sistema SCSI FireWire Dispositivo gráfico Controlador de vídeo Rede Local Barramento de alta velocidade
Leia maisSistemas Operacionais Gerência de Dispositivos
Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Gerência de Dispositivos Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com Introdução A gerência
Leia maisRelatorio do trabalho pratico 2
UNIVERSIDADE FEDERAL DE SANTA CATARINA INE5414 REDES I Aluno: Ramon Dutra Miranda Matricula: 07232120 Relatorio do trabalho pratico 2 O protocolo SNMP (do inglês Simple Network Management Protocol - Protocolo
Leia maisConceitos básicos. Aplicações de banco de dados. Conceitos básicos (cont.) Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada.
Conceitos básicos Angélica Toffano Seidel Calazans E-mail: angelica_toffano@yahoo.com.br Conceitos introdutórios de Modelagem de dados Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada.
Leia mais18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB
18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB Autor(es) HARLEI MIGUEL DE ARRUDA LEITE Orientador(es) PLÍNIO ROBERTO SOUZA VILELA Apoio Financeiro PIBIC/CNPQ
Leia maisGerência de Redes NOC
Gerência de Redes NOC Cássio D. B. Pinheiro pinheiro.cassio@ig.com.br cassio.orgfree.com Objetivos Apresentar os conceitos fundamentais, assim como os elementos relacionados a um dos principais componentes
Leia maisPLANO DE ENSINO. PRÉ-REQUISITO: Modelagem e Programação Orientada a Objetos. PROFESSOR RESPONSÁVEL : Josino Rodrigues Neto
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO Rua Dom Manoel de Medeiros, s/n Dois Irmãos 52171-900 Recife-PE Fone: 0xx-81-332060-40 proreitor@preg.ufrpe.br PLANO DE ENSINO
Leia maisObjetivos Específico
Banco de Dados Ementa (DBA) Conceitos Gerais sobre Banco de Dados Instalação e configuração da Ferramenta de Banco de Dados. Elaboração de projeto de Banco de Dados. Implementação do projeto de Banco de
Leia mais4 Plano de Recuperação
4 Plano de Recuperação Como pode ser observado na Seção 3.2, um projeto de um middleware para TVD deve considerar o fato que ele será embarcado em plataformas diversas e, portanto, que fará uso de diversas
Leia maisPersistência e Banco de Dados em Jogos Digitais
Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem
Leia maisOficina. Praça das Três Caixas d Água Porto Velho - RO
Oficina Praça das Três Caixas d Água Porto Velho - RO Oficina Ministrante: Marcel Leite Rios Apresentação Pessoal Marcel Leite Rios Prof. de Informática IFRO Graduado: Sistemas de Informação - ULBRA MBA
Leia maisAlgoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual
Algoritmos: Lógica para desenvolvimento de programação de computadores Autor: José Augusto Manzano Capítulo 1 Abordagem Contextual 1.1. Definições Básicas Raciocínio lógico depende de vários fatores para
Leia maisRoteiro 2 Conceitos Gerais
Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e
Leia maisRoteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)
Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Definição Geral: Disciplina de Compiladores Prof. Jorge Bidarra (UNIOESTE) A especificação de requisitos tem como objetivo
Leia mais1. CONCEITOS BÁSICOS DE BD, SBD E SGBD
Introdução 1. CONCEITOS BÁSICOS DE BD, SBD E SGBD A importância da informação para a tomada de decisões nas organizações tem impulsionado o desenvolvimento dos sistemas de processamento de informações.
Leia mais14/09/2008. Curso Superior de Tecnologia em Bando de Dados Disciplina: Projeto de Banco de Dados Relacional II Prof.: Fernando Hadad Zaidan
Faculdade INED Curso Superior de Tecnologia em Bando de Dados Disciplina: Projeto de Banco de Dados Relacional II Prof.: Fernando Hadad Zaidan Unidade 2.2 1 2 Material usado na montagem dos Slides Bibliografia
Leia mais1.1. Organização de um Sistema Computacional
1. INTRODUÇÃO 1.1. Organização de um Sistema Computacional Desde a antiguidade, o homem vem desenvolvendo dispositivos elétricoeletrônicos (hardware) que funciona com base em instruções e que são capazes
Leia mais