Armazenamentos de dados nosql contra hadoop

armazenamentos de dados NoSQL originalmente subscrito a noção “Apenas diga não ao SQL” (parafraseando a partir de uma campanha publicitária anti-drogas na década de 1980), e eles foram uma reação às limitações percebidas de bancos de dados relacionais (baseadas em SQL). Não é que essas pessoas odiado SQL, mas eles estavam cansados ​​de forçar pinos quadrados em buracos redondos, resolvendo os problemas com que os bancos de dados relacionais não foram projetados para.

Um banco de dados relacional é uma ferramenta poderosa, mas para alguns tipos de dados (como pares chave-valor, ou gráficos) e alguns padrões de uso (como o armazenamento extremamente grande escala) de um banco de dados relacional simplesmente não é prático. E quando se trata de armazenamento de alto volume, banco de dados relacional pode ser caro, tanto em termos de custos de licença de banco de dados e os custos de hardware. (Bancos de dados relacionais são projetados para trabalhar com hardware de nível empresarial.)

Assim, com o movimento NoSQL, os programadores criativas desenvolveu dezenas de soluções para diferentes tipos de problemas de armazenamento e processamento de dados espinhosas. Estas bases de dados NoSQL tipicamente fornecer escalabilidade por meio de aglomeração, e são muitas vezes concebidos para permitir que de elevado rendimento e baixa latência.

O nome NoSQL é um pouco enganador, porque muitos bancos de dados que se encaixam na categoria Faz tem suporte SQL (em vez de “NoSQL” apoio). Pense em seu nome, em vez de “não somente SQL.”

As ofertas de NoSQL disponíveis hoje podem ser divididos em quatro categorias distintas, com base na sua concepção e finalidade:

  • lojas de valor-chave: Esta oferta fornece uma maneira de armazenar qualquer tipo de dados sem ter que usar um esquema. Isso está em contraste com bancos de dados relacionais, onde você precisa para definir o esquema (a estrutura da tabela) antes de qualquer dado inserido. Desde lojas de chave-valor não requerem um esquema, você tem uma grande flexibilidade para armazenar dados em vários formatos.

    Em uma loja de valor-chave, uma linha simplesmente consiste em uma chave (um identificador) e um valor, que pode ser qualquer coisa de um valor inteiro para uma grande cadeia de dados binário. Muitas implementações de lojas de valor-chave são baseados em papel Dynamo, da Amazon.



  • lojas familiares coluna: Aqui você tem bancos de dados em que as colunas são agrupadas em famílias de colunas e armazenados juntos no disco.

    Video: TH09 ARMAZENAMENTO DE DADOS 1

    Estritamente falando, muitos desses bancos de dados não são coluna-orientado, porque são baseadas em papel BigTable do Google, que armazena dados como um mapa classificadas multidimensional.

  • lojas de documentos: Esta oferta depende de coleções de documentos semelhante codificados e formatados para melhorar a eficiência. lojas de documentos permitir que documentos individuais em uma coleção para incluir apenas um subconjunto de campos, de modo que somente os dados que é necessário é armazenado. Para conjuntos de dados esparsos, onde muitos campos muitas vezes não são preenchidos, isso pode se traduzir em economia de espaço significativos.

    Video: Armazenamento e Indexação (parte 1) - Aula 11 - Bancos de Dados 2015.2

    Por outro lado, colunas vazias em tabelas de banco de dados relacionais não ocupam espaço. lojas documento também permite flexibilidade esquema, porque apenas os campos que são necessários estão armazenados e novos campos podem ser adicionados. Mais uma vez, em contraste com as bases de dados relacionais, estruturas de tabelas são definidos na frente antes dos dados serem armazenados, e mudando colunas é uma tarefa tediosa que impactos todo o conjunto de dados.

  • bases de dados de gráficos: Aqui você tem bancos de dados que armazenam grafos - representações que mostram coleções de entidades (vértices ou nós) e suas relações (bordas) uns com os outros. Estas estruturas permitem que os bancos de dados do gráfico a ser extremamente bem adequado para o armazenamento de estruturas complexas, como as relações de ligação entre todas as páginas web conhecidos. (Por exemplo, páginas da web individuais são nós, e as bordas de ligação deles são links de uma página para outra.)

    Google, é claro, é tudo sobre a tecnologia gráfico, e inventou um mecanismo de processamento gráfico chamado Pregel para alimentar seu algoritmo PageRank. (E sim, há um livro branco sobre Pregel.) Na comunidade Hadoop, há um projeto Apache chamado Giraph (com base no papel Pregel), que é um mecanismo de processamento gráfico projetado para processar gráficos armazenados no HDFS.

As opções de armazenamento e processamento de dados disponíveis no Hadoop estão em muitos casos, implementações das categorias NoSQL listadas aqui. Isso irá ajudá-lo a avaliar melhor as soluções que estão disponíveis para você e ver como Hadoop pode complementar armazéns de dados tradicionais.


Publicações relacionadas