Vídeo: Bancos de Dados Paralelos e Distribuídos - Aula 19 - Bancos de Dados 2016.2 2024
A maioria dos gerentes de banco de dados relacionais foi construída em um gerenciador de armazenamento horizontal , que coloca todos os dados em um banco de dados por linha (ou registro) quando ocorre uma transação. Uma tabela de banco de dados é representada como uma cadeia de páginas de banco de dados que contêm uma ou mais linhas de dados.
Um gerenciador de armazenamento horizontal fornece suporte rápido ao processamento de transações on-line (OLTP) porque a maioria das transações ocorre em um formato de registro - por exemplo, inserindo uma entrada de razão geral ou escrevendo um cheque. No entanto, quando um usuário solicita um registro, a página do banco de dados que contém os dados geralmente é movida para a memória, o que para aplicativos de inteligência de negócios é altamente ineficiente.
Vários produtos de banco de dados de especialidades emergiram ao longo dos anos projetados para auxiliar e otimizar aplicativos centrados em consultas, como inteligência de negócios. Esses produtos permitem que você desenvolva mais facilmente armazéns de dados interativos. O objetivo desses bancos de dados em coluna é aumentar a velocidade das consultas de suporte à decisão executadas contra grandes quantidades de dados.
Quando os administradores de banco de dados são perguntados se eles colocariam um índice em uma coluna que contenha o código de área de uma pessoa, a média de nota de um aluno ou as transações totais de um cliente, eles respondem com um retumbante: "Não! "Eles geralmente dão essa resposta inflexível por razões baseadas em tecnologia, tais como:
-
Nós indexamos apenas os caminhos padrão e bem conhecidos (como o nome) por causa da sobrecarga dos índices.
-
A cardinalidade , ou ocorrência única de dados, forçaria o banco de dados a realizar uma verificação de tabela de qualquer maneira.
No entanto, quando você pergunta aos usuários quais as informações de que precisam para cumprir suas responsabilidades de trabalho, eles respondem com esses requisitos:
-
Veja o número de pessoas por código de área em meu território para que eu possa gerir de forma mais eficaz minhas promoções.
-
Identifique os alunos de primeiro nível na classe de graduação para que eu possa organizar as entrevistas adequadas.
-
Descobrir quais clientes fazem negócios com minha empresa e gastam entre US $ 100.000 e US $ 500.000 por ano.
Cada um desses três requisitos caracteriza uma solicitação de usuário diferente, mas todos eles desempenham funções semelhantes: são consultas orientadas para suporte à decisão. Uma necessidade de acesso ao dados requer os requisitos de informações do usuário, mas os padrões de acesso dos usuários não são compatíveis com a maioria das estratégias de indexação de RDBMS. Em resumo, a tecnologia RDBMS abre caminho ao sucesso das aplicações.
Uma tabela de banco de dados é representada como uma cadeia de páginas de banco de dados que contêm uma ou mais linhas de dados, conforme mostrado nesta figura.Um gerenciador de armazenamento horizontal fornece suporte rápido ao processamento de transações on-line (OLTP) porque a maioria das transações ocorre em um formato de registro.
Esses bancos de dados relacionais ajudam a atividade de consulta usando índices. Os índices são criados no topo das linhas para simplificar e acelerar a recuperação de dados em caminhos comuns, conforme mostrado na figura.
Soluções de armazenagem de dados, como a inteligência de negócios, não usam muitas dessas técnicas de indexação porque foram criadas para auxiliar as aplicações OLTP na necessidade freqüente de encontrar e atualizar linhas individuais nas tabelas do banco de dados.
Para suportar adequadamente as consultas típicas dos usuários encontrados na inteligência de negócios, outras técnicas de armazenamento e indexação são necessárias. Fornecedores como a Sybase e a Vertica criaram gerenciadores de armazenamento vertical. Em vez de armazenar dados por linha, esses produtos armazenam os dados por colunas - daí o nome gerenciador de armazenamento vertical ou o armazenamento em coluna.
Este método de armazenamento resolve efetivamente o problema das consultas dos usuários contra grandes conjuntos de dados porque um usuário geralmente busca apenas algumas colunas, em comparação com o grande número de colunas gerenciadas em uma linha por um gerenciador de armazenamento horizontal. Com os dados armazenados como uma série de mudanças de página, com cada página contendo dados de coluna, o tempo de processamento da consulta é reduzido em um fator de 500 ou mais para 1.
Além disso, esses produtos suportam outras otimizações que auxiliam na velocidade de consulta processamento, incluindo compressão de dados, operações de consulta paralela e técnicas de indexação múltiplas por coluna. O desafio na implementação dessas tecnologias envolve padronização. Portanto, muitos departamentos de gerenciamento de dados se recusam a implementar essas tecnologias porque essas tecnologias exigem trabalho de suporte adicional.