Processamento de Produtos ( X )

Tamanho: px
Começar a partir da página:

Download "Processamento de Produtos ( X )"

Transcrição

1 Processamento de Produtos ( X ) Alternativas e suas estimativas de custo A: laço aninhado ( nested-loop ) A: laço aninhado com índice ( indexed nestedloop ) A: merge-junção ( balanced-line ou sortmerge ) A: hash-junção ( hash-join ) Laço Aninhado (A) Dois laços para varredura de blocos das relações a serem combinadas para cada bloco B de faça para cada bloco B de faça início se uma tupla t B satisfaz a condição de junção com uma tupla t B então adicione t * t ao resultado fim

2 Pior caso Laço Aninhado - Custo apenas um bloco de cada relação cabe na memória custo = MIN(b + b * b, b + b * b ) Exemplo b b0 Tupla Tupla Tupla Tupla Tupla y b b0 Tupla Tupla Tupla Tupla Tupl custo = MIN (0+0*0, 0+0*0) = 0 acessos Laço Aninhado com Índice (A) Aplicado se existir um índice para o atributo de junção do laço interno Custo para cada tupla externa de, pesquisa-se o índice para buscar a tupla de custo diretamente associado ao tipo de índice b b0 Tupla Tupla Tupla Tupla Tupla y b b0 Tupla Tupla Tupla Tupla Tupl h I índice árvore-b p/ (I )

3 Laço Aninhado com Índice (A) Exemplos índice primário árvore-b para atributo chave (ver caso A da eleção) em custo = b + n * (h Is + ) índice primário árvore-b para atributo não-chave (ver caso A da eleção) em custo = b + n * (h Is + (C s ( ) / f ) ) índice secundário árvore-b para atributo nãochave (ver caso A da eleção) em custo = b + n * (h Is + + C ( ) ) Merge-Junção (A) Aplicada se e estiverem fisicamente ordenadas pelos atributos de junção ptr bloco bloco ptr bloco b tupla n tupla n bloco b

4 Merge-Junção - Funcionamento ID- ID- ptr 00 C ptr 00 A 00 E B D F esultado ID- ID- Merge-Junção - Funcionamento ID- ID- ptr 00 C ptr 00 A 00 E ptr. = ptr.? NÃO esultado B D F ID- ID-

5 Merge-Junção - Funcionamento ID- ID- 00 C ptr ptr 00 A 00 E ptr. = ptr.? IM esultado B D F ID- ID- 00 C Merge-Junção - Funcionamento ID ptr 00 ptr. = ptr.? NÃO esultado ID- C A ptr E B D F ID- ID- 00 C

6 Merge-Junção - Funcionamento ID ptr 00 ptr. = ptr.? IM esultado ID- C A E ptr B D F ID- ID- 00 C 00 E Merge-Junção - Funcionamento ID ptr 00 ptr. = ptr.? IM esultado ID- C A E B ptr D F ID- ID- 00 C 00 E 00 B

7 Merge-Junção - Funcionamento ID- ID- 00 C 00 A 00 E ptr B D ptr F esultado Final ID- ID- 00 C 00 E 00 B Merge-Junção - Custo Pressupõe que pelo menos um bloco de cada relação cabe na memória geralmente isso é possível exige uma única leitura de cada relação custo M-J = b + b e e/ou não estiverem ordenadas, elas podem ser ordenadas custo = custo ordenação e/ou + custo M-J

8 Ordenação Externa Ordenação interna ordenação feita totalmente em memória Ordenação externa ordenação na qual os dados não cabem inteiramente na memória útil no processamento de consultas exibição ordenada de dados (ODE BY) avaliação de planos de execução técnica mais utilizada para ordenação de relações Mergeort Externo Mergeort Externo Executa em etapas Etapa ort ordena partições da relação em memória tamanho da partição depende da disponibilidade de blocos na memória (n buf = n o de buffers disponíveis) gera um arquivo temporário ordenado para cada partição Etapa Merge de n iterações ordena um conjunto de temporários a cada iteração gera um novo temporário resultante da ordenação ordenação termina quando existir somente um temporário que mantém a relação inteira ordenada

9 Mergeort Externo - Exemplo n buf = ( ) f = b = 0 disco 0 memória sort temp temp temp temp 0 disco reservo bloco para o resultado ordenado 0 temp temp 0 ordenada memória 0 memória disco disco teração teração merge de n iterações 0 Mergeort Externo - Custo n buf = f = b = 0 disco 0 memória sort temp temp temp temp 0 disco + de todos os blocos da relação custo = * b

10 Mergeort Externo - Exemplo n buf = f = b = N o de iterações é dependente do n o de temporários a ordenar A cadteração, o n o de temporários se reduz a um fator de n buf n o iterações: log n buf (b / n buf ) + a cada iteração: * b custo = * b * log n buf (b / n buf ) n o inicial de temporários 0 temp temp temp 0 temp temp 0 ordenada memória temp final 0 memória disco disco temp disco teração teração merge de n iterações 0 Mergeort Externo - Custo n buf = f = b = 0 0 temp temp temp temp 0 Custo Total = * b + * b * log n buf (b / n buf ) = * b (log n buf (b / n buf ) + ) Exemplo =. ( log ( / ) + ) = ( + ) = acessos 0

11 Merge-Junção - Custo e ambas as relações ( e ) estão ordenadas custo = b + b e uma delas () não está ordenada custo = * b (log n buf (b / n buf ) + ) + b + b e ambas as relações não estão ordenadas custo = * b (log n buf (b / n buf ) + ) + * b (log n buf (b / n buf ) + ) + b + b Exercício Estime o custo das operações produtórias abaixo, considerando as estimativas sobre Pac dadas no Exercício, além de n buf =, n Cons = 000 tuplas e t Cons = 0 bytes. A relação Cons está ordenada por codm e possui um índice secundário hash para codp: a) ρ P (Pac) X θ=σ P.idade = P.idade ρ P (Pac) b) Pac Cons

12 Hash-Junção (A) Aplicada se existir um índice hash com a mesma função definido para os atributos de junção das relações e Executa em etapas. Particionamento separa em partições (conjunto de ou mais blocos) as tuplas de e que possuem o mesmo valor para a função de hash. Junção analisa e combina as tuplas de uma mesma partição Hash-Junção - Funcionamento t t X hash( ) = 0 hash( ) = 0 t t t X t t t t n hash( ) = hash( ) = X t m hash( ) = n hash( ) = n

13 Hash-Junção - Custo Fase de Particionamento lê as relações e e as reescreve, organizadas em partições sempre que um conjunto de tuplas com o mesmo valor de hash adquire o tamanho de um bloco, este bloco é anexado a um arquivo temporário para a partição para fins de simplificação de cálculo, considera-se que a função hash distribui uniformemente os valores das tuplas evita escrita de muitas pequenas partições (difícil estimar na prática). Assim, assume-se custo = custo e não custo > custo custo = * b + * b = * (b + b ) Hash-Junção - Custo Fase de Junção lê as partições de mesmo hash e combina as tuplas novamente, para fins de simplificação de cálculos, considera-se uma nova leitura de todos os blocos de e organizados nas partições na prática, é possível que alguns blocos de ou de sejam lidos mais de uma vez para serem combinados com outros blocos, porém, tal situação é muito dinâmica, dependendo dos dados existentes em e custo = (b + b ) Custo Total custo = * (b + b ) + (b + b ) = * (b + b )

14 Estimativa de Tamanho de Produtos Produto cartesiano ( X ) tamanho = n * n Junção por igualdade ( equi-join natural ou theta) junção natural sem atributo em comum tamanho = n * n Estimativa de Tamanho de Produtos Junção por igualdade ( equi-join ) junção por referência (fk() = pk()) tamanho estimado <= n ( < devido a eventuais nulos) na prática, assume-se tamanho = n X (supondo join theta) ID- ID- ID- ID-.ID-.ID

15 Estimativa de Tamanho de Produtos Junção por igualdade ( equi-join ) junção entre chaves candidatas (atributos unique) tamanho <= MIN (n, n ) ( < : nem todos podem casar) na prática, assume-se tamanho = MIN(n, n ) ID CPF CPF X (supondo join theta) ID-.CPF.CPF Estimativa de Tamanho de Produtos Junção por igualdade ( equi-join ) junção entre atributos não-chave ( () = ()) cada tupla de associa-se com C ( ) de se tenho n tuplas n * C ( ) idem para as tuplas de : n * C ( ) tamanho estimado = MIN( n * C ( ), n * C ( ) ) menor estimativa geralmente está mais próxima do real X (supondo join theta) C ( ) = / =, C s ( ) = / =, n * C ( ) = n * C ( ) = Tamanho estimado =

16 Estimativa de Tamanho de Produtos Junção theta por desigualdade ( () > (), por exemplo) estimativa: cada tupla de > n s / tuplas de e viceversa tamanho estimado (caso médio) = AVG(n * (n s / ), n * (n / )) = n * (n s / ) OU n * (n / )) X (supondo join theta) n * (n / ) = *, = n * (n / ) = * = Tamanho estimado = Junções Complexas - Custo Estimativas de custo apresentadas até agora consideram uma única condição de junção na prática, várias condições podem ser definidas Dada umunção complexa conjuntiva X θ = σ c c cn estima-se o custo de cada condição c i X θ = σ ci escolhe-se a condição c i de menor custo para ser implementada as demais condições c, c,, c i-, c i+,, c n são verificadas a medida que as tuplas de X θ = σ ci são geradas

17 Junções Complexas - Custo Dada umunção complexa disjuntiva X θ = σ c c cn, tem-se as seguintes alternativas aplica-se o algoritmo de laço aninhado mais simples e independente de condição de junção aplica-se ( X θ = σ c ) ( X θ = σ c ) ( X θ = σ cn ) custo total é a soma dos menores custos de cada junção individual tamanho do resultado é dado pela estimativa de tamanho de operações de união (a ser visto) Exercício Estime o tamanho das operações produtórias do Exercício

Escrita ( W ) do Resultado

Escrita ( W ) do Resultado Escrita ( W ) do esultado Qualquer alternativa de processamento deve considerar este custo b res = número de blocos de resultado a ser W Exemplo: estimativa de W do resultado de um produto b res = tamanhoproduto

Leia mais

Definição do Plano de Execução. Estimativas sobre os Dados

Definição do Plano de Execução. Estimativas sobre os Dados Definição do Plano de Execução Analisar alternativas de processamento Escolher a melhor alternativa Diversas medidas podem ser consideradas tempo CPU, comunicação, acessos a disco medida mais relevante

Leia mais

3 Plano de Execução de Consultas

3 Plano de Execução de Consultas Sumário 1 Introdução ao Processamento de Consultas 2 Otimização de Consultas 3 Plano de Execução de Consultas 4 Introdução a Transações 5 Recuperação de Falhas 6 Controle de Concorrência 7 Fundamentos

Leia mais

Sumário. Definição do Plano de Execução

Sumário. Definição do Plano de Execução Sumário 1 Introdução ao Processamento de Consultas 2 Otimização de Consultas 3 Plano de Execução de Consultas Introdução a Transações 5 Recuperação de Falhas 6 Controle de Concorrência 7 Fundamentos de

Leia mais

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

Banco 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 mais

Otimização de Consultas Baseada em Custo. Cristina Dutra de Aguiar Ciferri

Otimização de Consultas Baseada em Custo. Cristina Dutra de Aguiar Ciferri Otimização de Consultas Baseada em Custo Cristina Dutra de Aguiar Ciferri Estatísticas Informações aproximadas sobre base de dados cada tabela cada atributo de cada tabela cada índice Coletadas durante

Leia mais

Processamento Cosequencial: Ordenação Interna e Externa. Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Cristina D. A.

Processamento Cosequencial: Ordenação Interna e Externa. Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Cristina D. A. Processamento Cosequencial: Ordenação Interna e Externa Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Cristina D. A. Ciferri Ordenação em RAM Situação: arquivo cabe em RAM Etapas leitura de todos

Leia mais

Bases de Dados. Algoritmos. Custo de operação. Algoritmos de selecção. Algoritmo de ordenação. Algoritmos de junção.

Bases de Dados. Algoritmos. Custo de operação. Algoritmos de selecção. Algoritmo de ordenação. Algoritmos de junção. Bases de Dados Algoritmos Custo de operação Algoritmos de selecção Algoritmo de ordenação Algoritmos de junção Outras operações Materialização e pipelining 2 1 Bases de Dados Algoritmos de selecção Algoritmos

Leia mais

Há vários algoritmos para processar junções nested-loop join block nested-loop join indexed nested-loop join merge-join hash-join

Há vários algoritmos para processar junções nested-loop join block nested-loop join indexed nested-loop join merge-join hash-join Bases de Dados Algoritmos para junção Algoritmos para junções Há vários algoritmos para processar junções nested-loop join block nested-loop join indexed nested-loop join merge-join hash-join A escolha

Leia mais

Processamento e Otimização de Consultas. Msc. Simone Dominico Orientador: Dr. Eduardo Cunha de Almeida PPGINF - UFPR

Processamento e Otimização de Consultas. Msc. Simone Dominico Orientador: Dr. Eduardo Cunha de Almeida PPGINF - UFPR Processamento e Otimização de Consultas Msc. Simone Dominico Orientador: Dr. Eduardo Cunha de Almeida PPGINF - UFPR Conteúdo Processamento de consultas; Introdução Etapas no Processamento de Consultas

Leia mais

MATA60 BANCO DE DADOS Aula: Otimização. Prof. Daniela Barreiro Claro

MATA60 BANCO DE DADOS Aula: Otimização. Prof. Daniela Barreiro Claro MATA60 BANCO DE DADOS Aula: Otimização Prof. Daniela Barreiro Claro Introdução a Otimização SQL, SQL3 e OQL são linguagens declarativas O SGBD deve processar e otimizar estas consultas antes delas serem

Leia mais

Bacharelado em Ciência da Computação UFU Disciplina GBC053 Gerência de Banco de Dados Profa. Sandra de Amo

Bacharelado em Ciência da Computação UFU Disciplina GBC053 Gerência de Banco de Dados Profa. Sandra de Amo Bacharelado em Ciência da Computação UFU Disciplina GBC053 Gerência de Banco de Dados Profa. Sandra de Amo Solução dos Exercicios Aula 26 Cálculo de Custos de Planos de Execução de Consultas R(sid,bid,day,rname)

Leia mais

Compilação, Otimização e Execução de Consultas. Profa. Dra. Cristina Dutra de Aguiar Ciferri

Compilação, Otimização e Execução de Consultas. Profa. Dra. Cristina Dutra de Aguiar Ciferri Compilação, Otimização e Execução de Consultas Cristina Dutra de Aguiar Ciferri Decomposição de Consultas Bloco de consulta é uma unidade básica que pode ser traduzida em operadores algébricos e otimizada

Leia mais

Ordenação e Busca em Arquivos

Ordenação e Busca em Arquivos Ordenação e Busca em Arquivos Cristina D. A. Ciferri Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Moacir Ponti Jr. Exemplos de Busca Registros de tamanho fixo M A R I A R U A b 1 S A O b C A

Leia mais

Dois parâmetros essenciais t T tempo de transferência de um bloco. assume-se igual para operações de leitura e escrita

Dois parâmetros essenciais t T tempo de transferência de um bloco. assume-se igual para operações de leitura e escrita Bases de Dados Algoritmos de processamento Custo de operação Dois parâmetros essenciais t T tempo de transferência de um bloco assume-se igual para operações de leitura e escrita t S tempo de localização

Leia mais

Processamento de Consultas. Simone Dominico Orientador: Dr. Eduardo Cunha de Almeida PPGINF - UFPR

Processamento de Consultas. Simone Dominico Orientador: Dr. Eduardo Cunha de Almeida PPGINF - UFPR Processamento de Consultas Simone Dominico Orientador: Dr. Eduardo Cunha de Almeida PPGINF - UFPR Sumário Plano de Consulta; Modelos de processamento de Consultas; Metódos de Acesso; Algoritmos de seleção;

Leia mais

Etapa III - Implementação de Operadores da Álgebra Relacional; Etapa IV - Comparação experimental de varredura sequencial x acesso aleatório

Etapa III - Implementação de Operadores da Álgebra Relacional; Etapa IV - Comparação experimental de varredura sequencial x acesso aleatório UFU/FACOM/BCC GBC053 - Gerenciamento de Banco de Dados - 2018/2 Trabalho de Implementação Prof. Ilmério Reis da Silva O trabalho semestral da disciplina em epígrafe tem como objetivo a implementação de

Leia mais

Ordenação Externa (Merge Sort)

Ordenação Externa (Merge Sort) Ordenação Externa (Merge Sort) Referências: A.V.Aho, J.E.Hopcroft, J.D.Ullman, Data Structures and Algorithms, Cap. 11. Problema: ordenar dados organizados como arquivos, ou de forma mais geral, ordenar

Leia mais

Bases de Dados. Optimização de planos de execução. Plano de execução

Bases de Dados. Optimização de planos de execução. Plano de execução Bases de Dados Optimização de planos de execução Plano de execução O plano de execução define a sequência de operações e o algoritmo para cada operação 2 1 Plano de execução Mas atenção: escolher o algoritmo

Leia mais

Processamento da Consulta. Processamento da Consulta

Processamento da Consulta. Processamento da Consulta Processamento da Consulta Equipe 05 Adriano Vasconcelos Denise Glaucia Jose Maria Marcigleicy Processamento da Consulta Refere-se ao conjunto de atividades envolvidas na extra de dados de um banco de dados.

Leia mais

ACH2025. Laboratório de Bases de Dados Aula 15. Processamento de Consultas Parte 2 Otimização. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO

ACH2025. Laboratório de Bases de Dados Aula 15. Processamento de Consultas Parte 2 Otimização. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO ACH2025 Laboratório de Bases de Dados Aula 15 Processamento de Consultas Parte 2 Otimização Professora: Fátima L. S. Nunes Contexto Dada uma expressão em álgebra relacional, o otimizador deve propor um

Leia mais

Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas

Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas DI-FCT/UNL 28 de abril de 2018 Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas N. º : Nome: Grupo 1 (7 valores) 1 a) Para cada uma das seguintes

Leia mais

Uso de Índices na Otimização e Processamento de Consultas. Otimização e Processamento de Consultas. Otimização e Processamento de Consultas

Uso de Índices na Otimização e Processamento de Consultas. Otimização e Processamento de Consultas. Otimização e Processamento de Consultas usuário processador de E/S gerador de respostas Uso de Índices na Otimização e Processamento de Consultas Profa. Dra. Cristina Dutra de Aguiar Ciferri analisador controle de autorização verificador de

Leia mais

Chapter 12: Query Processing. José Alferes Sistemas de Bases de Dados - ISCTEM janeiro de 2017

Chapter 12: Query Processing. José Alferes Sistemas de Bases de Dados - ISCTEM janeiro de 2017 Chapter 12: Query Processing José Alferes Sistemas de Bases de Dados - ISCTEM janeiro de 2017 107 Chapter 12: Query Processing - Visão geral de processamento e otimização de perguntas - Medidas de custo

Leia mais

Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas

Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas DI-FCT/UNL 28 de abril de 2018 Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas N. º : Nome: Grupo 1 (7 valores) 1 a) Para cada uma das seguintes

Leia mais

Prof. Daniela Barreiro Claro

Prof. 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 mais

de Bases de Dados Exame 1

de Bases de Dados Exame 1 Ano lectivo 2011/2012 2 o semestre Administração e Optimização de Bases de Dados Exame 1 Regras O exame tem a duração de 2 horas. O exame é individual e com consulta. Poderá consultar o livro, slides da

Leia mais

INF70 Gerenciamento de Banco de Dados 2 Ordenação Externa. Ilmério Reis da Silva UFU/FACOM/BCC

INF70 Gerenciamento de Banco de Dados 2 Ordenação Externa. Ilmério Reis da Silva  UFU/FACOM/BCC INF70 Gerenciamento de Banco de Dados 2 Ordenação Externa Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/gbd2 UFU/FACOM/BCC Roteiro Fundamentos Two-way Merge Sort External Merge Sort

Leia mais

ALGORITMOS DE ORDENAÇÃO

ALGORITMOS DE ORDENAÇÃO ALGORITMOS DE ORDENAÇÃO Prof. André Backes Conceitos básicos 2 Ordenação Ato de colocar um conjunto de dados em uma determinada ordem predefinida Fora de ordem 5, 2, 1, 3, 4 Ordenado 1, 2, 3, 4, 5 OU 5,

Leia mais

Quick Sort. Considerações Sobre Algoritmos de Ordenação. Estagiário PAE: Jesimar da S. Arantes Professor: Claudio Quick F. M.

Quick Sort. Considerações Sobre Algoritmos de Ordenação. Estagiário PAE: Jesimar da S. Arantes Professor: Claudio Quick F. M. Quick Sort Considerações Sobre Algoritmos de Ordenação Professor: Claudio F. M. Toledo 26 de Outubro de 2016 Professor: Claudio Quick F. M. Sort Toledo 26 de Outubro de 2016 1 / 14 Quicksort: Escolha do

Leia mais

Tecnologias de Bancos de Dados

Tecnologias de Bancos de Dados Tecnologias de Bancos de Dados Processamento e Otimização de consultas Professor: Tadeu dos Reis Faria Set/2008 Referências Bibliográficas NAVATHE, Shamkant B., ELSMARI, Ramez. Sistemas de Banco de Dados.

Leia mais

Processamento de Consultas. Processamento de Consultas. Processamento de Consultas Distribuídas. Otimização de Consultas

Processamento de Consultas. Processamento de Consultas. Processamento de Consultas Distribuídas. Otimização de Consultas Processamento de Processamento de Consultas Processamento de Consultas Passos na execução de consultas Consulta ao B.D. Análise e Tradução Expressão Algébrica Avaliação Plano de Execução Otimização Resultado

Leia mais

Sumário. Etapas do Processamento de Consultas

Sumário. Etapas do Processamento de Consultas Sumário 1 Introdução ao Processamento de Consultas 2 Otimização de Consultas 3 Plano de Execução de Consultas 4 Introdução a Transações 5 Recuperação de Falhas 6 Controle de Concorrência 7 Fundamentos

Leia mais

Banco de Dados. Otimização de consultas. Prof. Joao Eduardo Ferreira Prof. Osvaldo Kotaro Takai. Última atualização: 15 de maio de 2006

Banco de Dados. Otimização de consultas. Prof. Joao Eduardo Ferreira Prof. Osvaldo Kotaro Takai. Última atualização: 15 de maio de 2006 Banco de Dados Otimização de consultas Última atualização: 15 de maio de 2006 Prof. Joao Eduardo Ferreira Prof. Osvaldo Kotaro Takai Introdução Consulta em linguagem de alto nível Análise e validação Forma

Leia mais

Administração e Optimização de BDs

Administração e Optimização de BDs Departamento de Engenharia Informática 2010/2011 Administração e Optimização de BDs Mini-Projecto 2 Entrega a 16 de Abril de 2011 2º semestre A resolução deve ser claramente identificada com o número de

Leia mais

Classificação Externa: Geração de Partições Classificadas

Classificação Externa: Geração de Partições Classificadas Classificação Externa: Geração de Partições Classificadas Vanessa Braganholo Baseado no Material de: Inhaúma Neves Ferraz (IC/UFF) Cenário: Arquivos Sequencias } Acesso não pode ser feito em posições aleatórias

Leia mais

Bases de Dados Paralelas

Bases de Dados Paralelas Bases de Dados Paralelas Introdução Paralelismo I/O Paralelismo Interquery Paralelismo Intraquery Paralelismo Intraoperação Paralelismo Interoperaçao Concepção de Sistemas Paralelos 1 Introdução As máquinas

Leia mais

Classificação Externa: Geração de Partições Classificadas

Classificação Externa: Geração de Partições Classificadas Classificação Externa: Geração de Partições Classificadas Vanessa Braganholo Baseado no Material de: Inhaúma Neves Ferraz (IC/UFF) Importância da Ordenação/Classificação } Vimos até agora várias operações

Leia mais

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

Banco 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 mais

INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados

INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados Número: Nome: -------------------------------------------------------------------------------------------------------------- INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados Exame

Leia mais

Algoritmos e Estruturas de Dados II. Ordenação Externa II. Ordenação Externa. Ordenação Externa. Ordenação Externa

Algoritmos e Estruturas de Dados II. Ordenação Externa II. Ordenação Externa. Ordenação Externa. Ordenação Externa Algoritmos e Estruturas de Dados II Ordenação Externa II Prof. Ricardo J. G. B. Campello As análises dos métodos de ordenação tradicionais se preocupam basicamente com o tempo de execução dos algoritmos

Leia mais

de Bases de Dados Exame 2

de Bases de Dados Exame 2 Ano lectivo 2009/2010 2 o semestre Administração e Optimização de Bases de Dados Exame 2 Regras O exame tem a duração de 2 horas. O exame é individual e com consulta Só poderá abandonar a sala ao fim de

Leia mais

Otimização e Execução de Consultas Caso Centralizado Parse Query

Otimização e Execução de Consultas Caso Centralizado Parse Query Bancos de Dados III Processamento de Consultas em Bancos de Dados Distribuídos Rogério Costa rogcosta@inf.puc-rio.br 1 Otimização e Execução de Consultas Caso Centralizado Parse Query Check de Semântica

Leia mais

Introdução a. π LNAME, FNAME (σ SALARY>C (EMPLOYEE))

Introdução a. π LNAME, FNAME (σ SALARY>C (EMPLOYEE)) Introdução Como o SGBD INTERNAMENTO processa, otimiza e executa consultas de alto nível Introdução a Processamento de Consultas MIRELLA M. MORO mirella@dcc.ufmg.br http://www.dcc.ufmg.br/ br/~mirella 2

Leia mais

Banco de Dados I Módulo VI: Processamento e Otimização de Consultas. (Aulas 1-5) Clodis Boscarioli

Banco de Dados I Módulo VI: Processamento e Otimização de Consultas. (Aulas 1-5) Clodis Boscarioli Banco de Dados I 2007 Módulo VI: Processamento e Otimização de Consultas (Aulas 1-5) Clodis Boscarioli Agenda: O Processador de Consultas: Conceitos Principais. Algoritmos usados para implementar operações

Leia mais

Métodos de Ordenação Parte I

Métodos de Ordenação Parte I Estrutura de Dados II Métodos de Ordenação Parte I Prof a Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Material baseado nos materiais da Prof a Ana Eliza e Prof. Robson Lins Rearranjar

Leia mais

Limite assintótico para a ordenação, Ordenação em tempo linear

Limite assintótico para a ordenação, Ordenação em tempo linear Algoritmos e Estruturas de Dados I Limite assintótico para a ordenação, Ordenação em tempo linear Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 1Q-2017 1 Ordenação Ordenar corresponde ao processo

Leia mais

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão SISTEMAS DE BANCO DE DADOS Prof. Adriano Pereira Maranhão 1 Coleção de operações usadas para manipular relações Grupos de operações Operações relacionais Seleção; projeção; junção Operações de conjunto

Leia mais

ORDENAÇÃO EXTERNA DE ARQUIVOS: GERAÇÃO DE PARTIÇÕES CLASSIFICADAS. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

ORDENAÇÃO EXTERNA DE ARQUIVOS: GERAÇÃO DE PARTIÇÕES CLASSIFICADAS. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos ORDENAÇÃO EXTERNA DE ARQUIVOS: GERAÇÃO DE PARTIÇÕES CLASSIFICADAS Vanessa Braganholo Estruturas de Dados e Seus Algoritmos ORDENAÇÃO DE ARQUIVOS GRANDES Para arquivos binários, é possível implementar o

Leia mais

heapsort (int *x, int n) { int i, e, s, f, aux; /*fase de pré-processamento - cria heap inicial*/ for (i=1; i<n; i++) { e = x[i]; s = i; f = (s-1)/2;

heapsort (int *x, int n) { int i, e, s, f, aux; /*fase de pré-processamento - cria heap inicial*/ for (i=1; i<n; i++) { e = x[i]; s = i; f = (s-1)/2; heapsort (int *x, int n) { int i, e, s, f, aux; /*fase de pré-processamento - cria heap inicial*/ for (i=1; i0 && x[f]

Leia mais

Algoritmos de Ordenação

Algoritmos de Ordenação Algoritmos de Ordenação! Problema: encontrar um número de telefone em uma lista telefônica! simplificado pelo fato dos nomes estarem em ordem alfabética! e se estivesse sem uma ordem?! Problema: busca

Leia mais

Projeto e Análise de Algoritmos

Projeto e Análise de Algoritmos Projeto e Análise de Algoritmos Aula 10 Métodos de Ordenação de Complexidade Linear Edirlei Soares de Lima Ordenação Problema: Entrada: conjunto de itens a 1, a 2,..., a n ; Saída:

Leia mais

Bancos de Dados IV. Tuning de Bancos de Dados. Rogério Costa

Bancos de Dados IV. Tuning de Bancos de Dados. Rogério Costa Bancos de Dados IV Tuning de Bancos de Dados Rogério Costa rogcosta@inf.puc-rio.br 1 Sintonia (Tuning) de Bancos de Dados O que é? Realizar ajustes de forma a obter um melhor tempo de resposta para determinada

Leia mais

de Bases de Dados Exame 1

de Bases de Dados Exame 1 Ano lectivo 009/0 o semestre Administração e Optimização de Bases de Dados Exame Regras O exame tem a duração de horas. O exame é individual e com consulta Só poderá abandonar a sala ao fim de hora, mediante

Leia mais

Algoritmos e Estruturas de Dados II. Ordenação Externa II. Ordenação Externa. Ordenação Externa. Ordenação Externa.

Algoritmos e Estruturas de Dados II. Ordenação Externa II. Ordenação Externa. Ordenação Externa. Ordenação Externa. Algoritmos e Estruturas de Dados II Ordenação Externa II Profa. Debora Medeiros As análises dos métodos de ordenação tradicionais se preocupam basicamente com o tempo de execução dos algoritmos Ordem computacional

Leia mais

PostgreSQL Performance

PostgreSQL Performance PostgreSQL Performance André Restivo Faculdade de Engenharia da Universidade do Porto February 24, 2012 André Restivo (FEUP) PostgreSQL Performance February 24, 2012 1 / 45 Sumário 1 Armazenamento 2 Índices

Leia mais

Ordenação Externa. Ordenação Externa. Ordenação Externa. Ordenação Externa

Ordenação Externa. Ordenação Externa. Ordenação Externa. Ordenação Externa Ordenação Externa Ordenação Externa Estrutura de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação

Leia mais

Estruturas de Dados 2

Estruturas de Dados 2 Estruturas de Dados 2 Algoritmos de Ordenação em Tempo Linear IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/38 Algoritmos de Ordenação em Tempo Linear Limite Assintótico

Leia mais

INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados

INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados Número: Nome: 1 -------------------------------------------------------------------------------------------------------------- INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados Exame

Leia mais

Exercícios do Curso COS833 Distribuição e Paralelismo em Bancos de Dados Prof ª Marta Mattoso / Prof. Alexandre Assis

Exercícios do Curso COS833 Distribuição e Paralelismo em Bancos de Dados Prof ª Marta Mattoso / Prof. Alexandre Assis Exercícios do Curso COS833 Distribuição e Paralelismo em Bancos de Dados Prof ª Marta Mattoso / Prof. Alexandre Assis 1 a. Questão Quais são as principais etapas de um projeto de distribuição de dados?

Leia mais

Principais Desafios dos SGBDDs. Processamento Distribuído de Consultas. Processamento de Consultas. Componentes do Processamento de Consultas

Principais Desafios dos SGBDDs. Processamento Distribuído de Consultas. Processamento de Consultas. Componentes do Processamento de Consultas Principais Desafios dos SGBDDs Processamento Distribuído de Consultas Fernanda Baião baiao@cos.ufrj.br Processamento Distribuído de Consultas conversão de transações do usuário em instruções de manipulação

Leia mais

Resolução e Critérios de Correção U.C Sistemas de Gestão de Bases de Dados. 13 de fevereiro de 2014 INSTRUÇÕES

Resolução e Critérios de Correção U.C Sistemas de Gestão de Bases de Dados. 13 de fevereiro de 2014 INSTRUÇÕES Resolução e Critérios de Correção U.C. 21103 Sistemas de Gestão de Bases de Dados 13 de fevereiro de 2014 Ministério da Educação e Ciência p-fólio INSTRUÇÕES O tempo de duração da prova de p-fólio é de

Leia mais

Operações Coseqüenciais. Processamento Coseqüencial. Modelo para implementação de processos coseqüenciais

Operações Coseqüenciais. Processamento Coseqüencial. Modelo para implementação de processos coseqüenciais Processamento Coseqüencial Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures Operações Coseqüenciais Envolvem o processamento coordenado (simultâneo) de duas ou mais listas de

Leia mais

Processamento e Otimização de Consultas

Processamento e Otimização de Consultas Introdução Processamento e Banco de Dados II 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 1 Processamento

Leia mais

Ordenação Externa. Profa. Graça Nunes

Ordenação Externa. Profa. Graça Nunes Ordenação Externa Profa. Graça Nunes Ordenação Externa Ordenar arquivos de tamanho maior que a memória interna disponível Algoritmos devem diminuir o número de acessos às unidades de memória externa Custo

Leia mais

Subconsultas ou Consultas Aninhadas

Subconsultas ou Consultas Aninhadas Subconsultas ou Consultas Aninhadas Forma alternativa de especificar consultas envolvendo relacionamentos entre tabelas Otimização filtragens prévias de dados na subconsulta apenas tuplas/atributos de

Leia mais

Algoritmos de Ordenação: Tempo Linear

Algoritmos de Ordenação: Tempo Linear Algoritmos de Ordenação: Tempo Linear ACH2002 - Introdução à Ciência da Computação II Delano M. Beder Escola de Artes, Ciências e Humanidades (EACH) Universidade de São Paulo dbeder@usp.br 10/2008 Material

Leia mais

Edital de Seleção 032/2016 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Edital de Seleção 032/2016 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões Edital de Seleção 032/2016 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: INSCRIÇÃO: Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome e o número da sua

Leia mais

ACH2025. Laboratório de Bases de Dados Aula 8. Indexação e Hashing Parte 1. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO

ACH2025. Laboratório de Bases de Dados Aula 8. Indexação e Hashing Parte 1. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO ACH2025 Laboratório de Bases de Dados Aula 8 Indexação e Hashing Parte 1 Professora: Fátima L. S. Nunes Conceitos básicos Boa parte das consultas a BD referem-se a apenas uma parte pequena dos registros.

Leia mais

UTFPR - Universidade Tecnológica Federal do Paraná. Processamento e otimização de consultas

UTFPR - Universidade Tecnológica Federal do Paraná. Processamento e otimização de consultas UTFPR - Universidade Tecnológica Federal do Paraná Processamento e otimização de consultas Leyza Baldo Dorini 04/Nov/2009 Programação da aula Introdução: processamento e otimização de consultas Etapas:

Leia mais

Bancos de Dados. 15. Processamento e O3mização de Consultas

Bancos de Dados. 15. Processamento e O3mização de Consultas Bancos de Dados 15. Processamento e O3mização de Consultas Introdução Existe nos SGBDR um módulo conhecido como o3mizador de consultas A expressão o3mização de consultas, embora seja frequentemente u3lizada,

Leia mais

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula Tópicos Introdução Ordenação por bolha (bubble sort)

Leia mais

Complexidade de Algoritmos. Edson Prestes

Complexidade de Algoritmos. Edson Prestes Edson Prestes Exemplos Exemplos A complexidade no pior caso é linear e igual a n, ou seja, é O(n) A complexidade média é linear e igual a (1+n)/2, ou seja, é O(n) Exemplos Considere o produto C de uma

Leia mais

Processamento Coseqüencial

Processamento Coseqüencial Processamento Coseqüencial SCC-503 Algoritmos e Estruturas de Dados II Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Operações Coseqüenciais Envolvem o processamento coordenado (simultâneo) de

Leia mais

ESTRUTURAS DE DADOS E ALGORITMOS ALGORITMOS DE ORDENAÇÃO EM TEMPO LINEAR

ESTRUTURAS DE DADOS E ALGORITMOS ALGORITMOS DE ORDENAÇÃO EM TEMPO LINEAR ESTRUTURAS DE DADOS E ALGORITMOS 1 ALGORITMOS DE ORDENAÇÃO EM TEMPO LINEAR Adalberto Cajueiro Departamento de Sistemas e Computação Universidade Federal de Campina Grande COMPARAÇÃO DOS ALGORITMOS DE ORDENAÇÃO

Leia mais

GBC053 Gerenciamento de Banco de Dados Processamento de Consultas

GBC053 Gerenciamento de Banco de Dados Processamento de Consultas GBC053 Gerenciamento de Banco de Dados Processamento de Consultas Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/gbd UFU/FACOM/BCC UFU/FACOM/BCC GBD Página:2 ROTEIRO Introdução Técnicas

Leia mais

Métodos de Pesquisa de Dados (II) Árvore N-ária de Pesquisa

Métodos de Pesquisa de Dados (II) Árvore N-ária de Pesquisa UFSC-CTC-INE INE5384 - Estruturas de Dados Métodos de Pesquisa de Dados (II) Prof. Ronaldo S. Mello 2002/2 Árvore N-ária de Pesquisa Uma Árvore N-ária de Pesquisa (ANP) é uma árvore que: contém m subárvores

Leia mais

Carlos Eduardo Batista. Centro de Informática - UFPB

Carlos Eduardo Batista. Centro de Informática - UFPB Estrutura de Dados Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Métodos de pesquisa e classificação de dados (continuação) Estruturas de Dados 2 Algoritmo de busca Recebe como argumento

Leia mais

Tipos de Índices. Profa. Dra. Cristina Dutra de Aguiar Ciferri

Tipos de Índices. Profa. Dra. Cristina Dutra de Aguiar Ciferri Tipos de Índices Cristina Dutra de Aguiar Ciferri Tipos de Índice Ordenados em um único nível primário agrupamento (cluster) secundário Estruturas de dados de árvores índices multiníveis árvores-b, árvores-b+

Leia mais

Lista 1. 8 de abril de Algorithms: Capítulo 0, exercícios 1 e 2. Tardos: Todos exercícios do cap 2 do livro texto, exceto 7 e 8 letra b.

Lista 1. 8 de abril de Algorithms: Capítulo 0, exercícios 1 e 2. Tardos: Todos exercícios do cap 2 do livro texto, exceto 7 e 8 letra b. Lista 1 8 de abril de 2013 1 Exercícios Básicos 1.1 Na bibliografia Algorithms: Capítulo 0, exercícios 1 e 2. Tardos: Todos exercícios do cap 2 do livro texto, exceto 7 e 8 letra b. 1.2 Outros 1. Projete

Leia mais

Estrutura de indexação de arquivos

Estrutura de indexação de arquivos Estrutura de indexação de arquivos Neste capítulo assume-se que um arquivo já existe e possui alguma organização primária desordenada ordenada ou hash Utiliza-se índices, que são estruturas de acesso adicionais

Leia mais

Ordenação de Dados (IV) MergeSort

Ordenação de Dados (IV) MergeSort UFSC-CTC-INE INE - Estruturas de Dados Ordenação de Dados (IV) Prof. Ronaldo S. Mello / MergeSort MergeSort é um método particular de ordenação baseia-se em junções sucessivas (merge) de seqüências ordenadas

Leia mais

Aula 12 Métodos de Classificação: - Classificação por Inserção Direta - Classificação por Seleção Direta

Aula 12 Métodos de Classificação: - Classificação por Inserção Direta - Classificação por Seleção Direta Aula 12 Métodos de Classificação: - Classificação por Inserção Direta - Direta Prof. Gustavo Callou gustavo.callou@ufrpe.br gcallou@gmail.com Classificação por Inserção Métodos de Classificação em Memória

Leia mais

Algoritmos e Estrutura de Dados. Algoritmos Prof. Tiago A. E. Ferreira

Algoritmos e Estrutura de Dados. Algoritmos Prof. Tiago A. E. Ferreira Algoritmos e Estrutura de Dados Aula 3 Conceitos Básicos de Algoritmos Prof. Tiago A. E. Ferreira Definição de Algoritmo Informalmente... Um Algoritmo é qualquer procedimento computacional bem definido

Leia mais

1. Em relação à organização de arquivos e índices, responda: (a) Dado um arquivo de dados, o que é a chave de um índice para o arquivo?

1. Em relação à organização de arquivos e índices, responda: (a) Dado um arquivo de dados, o que é a chave de um índice para o arquivo? UFU/FACOM/BCC Gerenciamento de Bancos de Dados 2018/2-2 a Lista de Exercícios Prof. Ilmério Reis da Silva 1. Em relação à organização de arquivos e índices, responda: (a) Dado um arquivo de dados, o que

Leia mais

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

BANCO 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 Processamento de Consultas Ambiente com SGBD Distribuído Processamento

Leia mais

Modelo Relacional - Manipulação

Modelo Relacional - Manipulação Modelo Relacional - Manipulação Duas categorias de linguagens formais álgebra relacional e cálculo relacional comerciais (baseadas nas linguagens formais) SQL Linguagens formais - Características orientadas

Leia mais

Ordenação. Prof. Jonas Potros

Ordenação. Prof. Jonas Potros Ordenação Prof. Jonas Potros Conceitos Básicos Ordenar: processo de rearranjar um conjunto de objetos em uma ordem ascendente ou descendente. A ordenação visa facilitar a recuperação posterior de itens

Leia mais

Resolução e Critérios de Correção U.C Sistemas de Gestão de Bases de Dados. 19 de fevereiro de 2013 INSTRUÇÕES

Resolução e Critérios de Correção U.C Sistemas de Gestão de Bases de Dados. 19 de fevereiro de 2013 INSTRUÇÕES Resolução e Critérios de Correção U.C. 21103 Sistemas de Gestão de Bases de Dados 19 de fevereiro de 2013 Ministério da Educação e Ciência p-fólio INSTRUÇÕES O tempo de duração da prova de p-fólio é de

Leia mais

Ordenação de Dados. Ordenação de Dados

Ordenação de Dados. Ordenação de Dados UFSC-CTC-INE INE38 - Estruturas de Dados Ordenação de Dados Prof. Ronaldo S. Mello 00/ Ordenação de Dados Processo bastante utilizado na computação de uma estrutura de dados Dados ordenados garantem uma

Leia mais

Estruturas de Dados Algoritmos de Ordenação

Estruturas de Dados Algoritmos de Ordenação Estruturas de Dados Prof. Eduardo Alchieri (introdução) Considere uma sequência arbitrária S = {s1, s2, s3,...sn} composta por n 0 elementos retirados do conjunto universo U O objetivo da ordenação é arrumar

Leia mais

Complexidade de Algoritmos

Complexidade de Algoritmos Complexidade de Algoritmos! Uma característica importante de qualquer algoritmo é seu tempo de execução! é possível determiná-lo através de métodos empíricos, considerando-se entradas diversas! é também

Leia mais

5. Algoritmos de Ordenação

5. Algoritmos de Ordenação Introdução à Computação II 5952011 5. Algoritmos de Ordenação Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 5.1. Ordenação por Inserção 5.2. Ordenação por Seleção

Leia mais

INF 1010 Estruturas de Dados Avançadas

INF 1010 Estruturas de Dados Avançadas INF 1010 Estruturas de Dados Avançadas Complexidade de Algoritmos 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.2 1 Introdução Complexidade computacional Termo criado por Hartmanis e Stearns (1965)

Leia mais

Subconsulta na Cláusula FROM

Subconsulta na Cláusula FROM Subconsulta na Cláusula FROM Gera uma tabela derivada a partir de uma ou mais tabelas, para uso na consulta externa otimização: filtra linhas e colunas de uma tabela que são desejadas pela consulta externa

Leia mais

Informações de Impressão

Informações de Impressão Questão: 48282 O filósofo inglês Jeremy Bentham, em seu livro Uma introdução aos princípios da moral e da legislação, defendeu o princípio da utilidade como fundamento para a Moral e para o Direito. Para

Leia mais