Mind map
OLAP
Map content
OLAP
Técnicas para implementação de OLAP
- Índices de mapas de bits (Bitmap Index)
- Vantagens
- Índice mais compacto
- Redução no tempo de resposta
- Grandes ganhos no desempenho do hardware
- Manutenção eficiente quando se tem comando DML
- Desvantagens
- Baixo desempenho caso tenha colunas de alta cardinalidade
- Podem demandar mais esforços para modificações nos índices
- Técnicas
- Codificação
- Equality encoding
- índice de mapa de bits na sua forma básica.
- Interval encoding
- possui um número menor de mapa de bits para compor os índices.
- Range encoding
- utiliza a mesma forma básica, porém realiza as consultas por faixas de valores.
- Equality encoding
- Compressão
- Técnica para comprimir os dados de mapas bits, dividindo em partes iguais e criando caudas e o preenchimento como forma de interpretação de dados
- Binning
- Agrupamento de várias chaves das tabelas de dimensão em estruturas de mapa de bits semelhantes a categorias, fazendo com que menos sequências de mapas de bits são necessárias para fazer a codificação de uma determinada coluna
- Codificação
- Vantagens
- Organização de arquivo (File Organization)
- Não ordenados
- Recomendado
- Carregamento de grande quantidade de dados, e carregamento de grande quantidade de dados de uma só vez
- Busca mais rápida, se comparada com a organização de arquivo sequencial em caso de banco de dados menores
- Vantagens
- Carregamento em massa em uma tabela
- Desvantagens
- Lentidão ao recuperar registros
- Recomendado
- Sequenciais
- Vantagens
- Normalmente utilizada para gerar relatórios de dados estatísticos
- Não requer muito esforço
- Rapidez e eficiência quando se tem uma grande quantidade de dados
- Desvantagens
- Pode se levar mais tempo e espaço para ordenar os arquivos.
- Formas de implementação:
- Método de arquivo ordenado (sorted file method)
- Método de arquivo de pilha (pile file method)
- Utiliza ponteiros para permitir recuperações rápidas, não sendo necessária acessar todos os blocos para encontrar o registro desejado
- Tem seu registros classificados nos valores de um ou mais campos, possibilitando que as consultas aos registros segam aceleradas.
- Vantagens
- Hash
- Vantagens
- Mais rapido para recuperar um registro
- Eficiência em busca no local desejado sem utilizar a estrutura de índice.
- Desvantagens
- O desempenho geral diminui com o gerenciamento de colisões
- Calcula endereço do bloco em que um registro deve ser amazenado com base em um ou mais campos do registro.
- Vantagens
- Não ordenados
- Índices de junção (Join Index)
- Podem ser aplicados em casos nos quais se tem mais de dois relacionamentos.
- Nos DW, relecionam valores da tabela de dimesões às linhas na tabela fato.
- Podem abranger várias dimensões para formar índices de junção compostos.
- É possível utilizá-los para identificar subcubes de interesse
- O DW utiliza o modelo Star Schema, sendo assim, o índice de junção torna-se interessante quando se tem buscas em tabelas multidimensionais.
- O que a tabela de fatos e as suas tabelas de dimensões utilizam para fazer suas ligações que correspondentes no DW?
- Chave estrangeira da tabela fato
- Chave primária da tabela dimensões
- O que a tabela de fatos e as suas tabelas de dimensões utilizam para fazer suas ligações que correspondentes no DW?
- Custo computacional caro
- mais negativo quando as consultas acessam volumes de dados muito grandes
- Crucial trabalhar na redução dos dados
- Acelera o processamento da consulta
- Índices de mapas de bits (Bitmap Index)
Data Warehouse
- Sobre o DW
- Apoio ao processo decisório em âmbito administrativo
- Não volátil
- Variável no tempo
- Coleção de dados por tema e tipo
- Armazém de dados
- Tipos de DW
- Data Marts
- Subconjunto de DW
- Dependente
- Independente
- Subconjunto de DW
- Operational Data Store
- Forma recente de arquivamento de informações sobre clientes
- Usado para etapa provisória, decisões a curto prazo envolvendo aplicações críticas.
- Não é usada para decisões a médio prazo
- Similar a memória de curto prazo, registrando somente informações recentes
- Enterprise data warehouse
- DW de grande escala
- Utilizada por toda empresa auxiliando nas informações e tomada de decisão
- Bastante utilizado nas soluções de Business Intelligence
- Data Marts
- Metadados
- Dados a respeito de dados
- Descrevem estruturas e alguns dos dados, contribuindo para seu uso efetivo.
- Sintático
- Estruturais
- Semânticos
- Modelagem de DW
- Se utilizada de forma correta e eficientemente, é garantido que a estrutura do DW apoiará e administrará informações para embasar as análises dos gestores da empresa, cumprindo seus requisitos de negócios
- Implantação de DW
- Solução de armazenamento de dados é um projeto complexo, contempla e influencia diversos departamentos e muitas interfaces de entrada e saída
- Arquitetura de DW
- Dimenções independentes são desenvolvida para operar de forma autônoma em necessidades pontuais
- Dimenções bus possui individuais ligados por soluções de middleware
- Arquitetura estrela é, provavelmente, a mais famosa atualmente
- DW centralizado é similar ao DW estrela
- DW federado é suportado por fornecedores de middleware que propõe consultas distribuidas e capacidades de união.
- Chamadas n-camadas, ou cliente/servidor
- Atendem às exigencias de soluções informatizadas de grande escala, que requerem alto desempenho, como os DWs.
- 2 e 3 camadas são as mais utilizadas
- Sobre o DW
Estratégias para processamento de consulta
- Traduzindo consultas SQL para álgebra relacional e outros operadores
- Operadores adicionais de semijunção e antijunção
- Tipo de junção
- Semijunção
- Antijunção
- Consultas transformadas em operações que não fazem parte da álgebra relacional padrão.
- Tipo de junção
- SQL são decompostas em blocos de consulta > Bloco de consulta contém uma única expressão SELECT-FROM- WHERE > Consultas aninhadas são identificadas como blocos de consulta separadas
- SQL é uma linguagem usada na maioria dos SGBDRs comerciais
- Operadores adicionais de semijunção e antijunção
- Algoritmos para ordenação externa
- Ordenação externa refere-se a algoritmos de ordenação adequados para grandes arquivos de registros armazenados no disco que não cabem inteiramente na memória principal, como a maioria dos arquivos de banco de dados.
- Fase de ordenação
- Os pedaços (ou partes) do arquivo que podem caber no espaço de buffer disponível são lidos para a memória principal, ordenados usando um algoritmo de ordenação interno e gravados de volta para o disco como subarquivos ordenados (ou pedaços) temporários.
- Fase de intercalação
- Os pedaços ordenados são intercalados usando um ou mais passos de intercalação.
- Fase de ordenação
- Ordenação externa refere-se a algoritmos de ordenação adequados para grandes arquivos de registros armazenados no disco que não cabem inteiramente na memória principal, como a maioria dos arquivos de banco de dados.
- Algoritmos para a operação SELECT
- Implementando opções para a operação SELECT
- Muito algoritmos executam a operação SELECT
- Métodos de pesquisa para seleção simples > varredura de arquivo
- S1 - Pesquisa linear (algoritmo de força bruta)
- S2 - Pesquisa binária
- S3a - Usando um índice primário
- S3b - Usando uma chave hash
- S4 - Usando um índice primário para recuperar vários registros
- S5 - Usando um índice de agrupamento para recuperar vários registros
- S6 - Usando um índice secundário (B+-tree) en una comparação de igualdade
- S7a - Usando um índice bitmap
- S7b - Usando um índice funcional
- Métodos de pesquisa para seleção conjunta
- S8 - Seleção conjuntiva usando um indice individual
- S9 - Seleção conjuntiva usando um índice composto
- S10 - Seleção conjuntiva por interseção de ponteiros de registro
- Métodos de pesquisa de seleção disjuntiva
- Comparado a seleção conjuntiva é muito mais difícil de processar e otimizar.
- Estimando a seletividade de uma condição
- Otimizador de consulta que recebe informações valiosas do catálogo do sistema, que contém informações estatísticas importantes sobre o banco de dados.
- Implementando opções para a operação SELECT
- Implementando a operação JOIN
- Muitas das operações de junção encontradas nas consultas são das variedadades EQUIJOIN e NATURAL JOIN
- Operação mais demoradas no processamento da consulta
- Métodos para implementar junções
- J1 - Junção de loop aninhado (ou junção de bloco aninhado)
- J2 - Junção de loop aninhado baseada em indice (usando estrutura de acesso para recuperar os registros correspondentes)
- J4 - Junção de partição-hash (ou simplesmente junção de hash)
- Como o espaço do buffer e a escolha do arquivo loop externo afetam o desempenho da junção de loop aninhado
- Vantajoso usar arquivos com menos blocos como arquivo de loop externo na junção de loop aninhado
- como o fator de seleção de junção afeta o desempenho da junção
- Outro fator que afeta o desempenho de junção, particularmente o método de único loop J2
- Caso geral para junção de partição-hash
- O método de junção de hash J4 também é bastante eficiente
- junção de hash híbrida
- Variação de partição de junção hash em que a fase de junção para uma das partições está incluída na fase de particionamento
- Algoritmos para operações PROJEÇÃO e de conjunto
- Uso de antijunção para DIFERENÇA (ou EXCEPT ou MINUS na SQL)
- Operador MINUS na SQL é transformado em uma antijunção.
- Em SQL existem duas variações de operações de conjunto
- Operações UNION, INTERSECTION e EXCEPT ou MINUS se aplicam a conjuntos tradicionais, nos quais não existe registro duplicado no resultado
- Uso de antijunção para DIFERENÇA (ou EXCEPT ou MINUS na SQL)
- Implementando operações de agregação e diferentes tipos de JOINs.
- Implementando operações de agregações de agregação
- Operadores de agregação (MIN, MAX, COUNT, AVERAGE, SUM) aplicado em uma tabela inteira, podem ser calculados por uma varredura de tabela ou usando um índice apropriado, se houver.
- implementando diferentes tipos de JOINs
- não equijunção
- semijunção e a antijunção
- Implementando operações de agregações de agregação
- Combinando operações usando pipelining.
- Paralelismo entre consultas
- Paralelismo em nível de operador
- Algoritmos paralelos para processamento de consulta
- Iteradores para implementação de operações físicas
- Combinação de diversas operações em uma, evitando gravação de resultados temporários em disco
- Algoritmos paralelos para processamento de consulta
- Paralelismo em nível operador
- Ordenador
- Seleção
- Projeção e eliminação de duplicatas
- Junção
- Paralelismo dentro da consulta
- Paralelismo entre consultas
- Paralelismo em nível operador
- Traduzindo consultas SQL para álgebra relacional e outros operadores
Information
- Description
- Mind Map on OLAP, created by Camila Biondi de Lima on 09/11/2022.
- Created by
- Camila Biondi de Lima
- Views
- 0
- Rating