Horizontal contra Gerenciamento de Armazenamento de Dados Vertical
A maioria dos gerentes de banco de dados relacionais foram construídos em um gerenciador de armazenamento horizontal, o que coloca todos os dados em um banco de dados por linha (ou registro) quando uma transação ocorre. Uma tabela de base de dados é representado como uma cadeia de páginas da base de dados que contêm uma ou mais linhas de dados.
Um gerente de armazenamento horizontal fornece suporte rápido processamento de transações online (OLTP), porque a maioria das transações ocorrem em um formato de registro - por exemplo, a inserção de uma entrada de contabilidade geral ou escrever um cheque. No entanto, quando um usuário solicita um registro, a página de banco de dados que contém os dados são frequentemente movidos para a memória, o que para aplicações de business intelligence é altamente ineficiente.
Vários produtos de banco de dados especialidade surgiram ao longo dos anos destinados a auxiliar e otimizar aplicações centradas no consulta, 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 de coluna-wise é aumentar a velocidade de consultas de apoio à decisão realizados contra grandes quantidades de dados.
Quando os administradores de banco de dados são solicitados se eles nunca iria colocar um índice em uma coluna que contém o código de uma pessoa área, ponto de classe média de um aluno, ou o total de transações de um cliente, eles respondem com um sonoro ! # 147-No # 148- Eles costumam dar essa resposta inflexível por motivos baseados na tecnologia, tais como:
Nós índice baseado apenas em, caminhos bem conhecidos padrão (como nome) por causa da sobrecarga de índices.
o cardinalidade, ou ocorrência única de dados, forçaria o banco de dados para executar uma varredura da tabela de qualquer maneira.
No entanto, quando você perguntar aos usuários as informações que eles precisam para cumprir suas responsabilidades de trabalho, eles respondem com estes tipos de requisitos:
Veja o número de pessoas por código de área no meu território para que eu possa gerir mais eficazmente as minhas promoções.
Identificar os estudantes de alto nível na classe de graduação para que eu possa organizar as entrevistas apropriadas.
Descobrir o que os clientes fazer negócios com minha empresa e gastar entre US $ 100.000 e US $ 500.000 por ano.
Cada um destes três requisitos caracteriza uma solicitação de usuário diferente, mas todos eles desempenham funções semelhantes: Eles são consultas orientada para o apoio à decisão. A necessidade de acessar dados impulsiona os requisitos de informação do usuário, mas 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 suma, a tecnologia RDBMS fica no caminho do sucesso dos aplicativos.
Uma tabela de base de dados é representado como uma cadeia de páginas da base de dados que contêm uma ou mais linhas de dados, como ilustrado nesta figura. Um gerente de armazenamento horizontal fornece suporte rápido processamento de transações online (OLTP), porque a maioria das transações ocorrem em um formato de registro.
Esses bancos de dados relacionais ajudar actividade consulta usando índices. Os índices são construídos no topo das linhas de simplificar e acelerar a recuperação de dados em caminhos comuns, conforme mostrado na figura.
soluções de armazenamento de dados, tais como inteligência de negócios, não use muitas dessas técnicas de indexação, porque eles foram criados para auxiliar aplicações OLTP na necessidade frequente de encontrar e atualizar as linhas individuais dentro de tabelas de banco de dados.
Para suportar adequadamente as consultas dos usuários típicos encontrados em inteligência de negócios, outras técnicas de armazenamento e indexação são obrigatórios. Fornecedores como a Sybase e Vertica construíram gerentes de armazenamento verticais. Em vez de armazenar os dados por linha, estes produtos armazenar os dados por colunas - daí o nome gerenciador de armazenamento verticais ou armazenamento coluna-wise.
Este método de armazenamento resolve eficazmente o problema de consultas de usuários contra grandes conjuntos de dados porque um usuário muitas vezes procura apenas algumas colunas, contra o grande número de colunas gerenciados em uma fileira por um gerenciador de armazenamento horizontal. Com os dados armazenados como uma série de alterações de páginas, cada página com que contém dados de coluna, o tempo de processamento de consulta é reduzido por um factor de 500 ou mais para 1.
Além disso, estes produtos suportam outras otimizações que auxiliam na velocidade de processamento de consultas, incluindo compressão de dados, operações de consulta paralelas e múltiplas técnicas de indexação por coluna. O desafio na implementação de tais tecnologias envolve padronização. Por isso, muitos departamentos de gerenciamento de dados se recusar a implementar essas tecnologias porque essas tecnologias requerem trabalho de apoio adicional.