As 4 principais categorias de bancos de dados NoSQL

O que são bancos de dados NoSQL?
Os bancos de dados NoSQL, também chamado de não relacionais ou não totalmente relacionais, tem como principal função armazenar dados não estruturados, semi-estruturados ou estruturados de forma eficiente.
Benefícios de usar bancos de dados NoSQL
- Aproveite ao máximo a nuvem para oferecer tempo de inatividade zero.
- Lide com grandes volumes de dados em alta velocidade com uma arquitetura de escalabilidade horizontal.
- Armazene dados não estruturados, semiestruturados ou estruturados.
- Habilite atualizações fáceis para esquemas e campos.
- Seja amigável ao desenvolvedor (developer-friendly)
As 4 principais categorias de bancos NoSQL
1. Graph databases
Essa categoria NoSQL, geralmente é aderente a cenários de rede social online, onde os nós representam as entidades e os laços representam as interconexões entre eles.
Desta forma, é possível atravessar o grafo seguindo as relações. Esta categoria tem sido utilizada para lidar com problemas relacionados a sistemas de recomendação e listas de controle de acesso, fazendo uso e sua capacidade de lidar com dados altamente interligados.
O principal banco de dados NoSQL nesse requisito é o Neo4J.

2. Document databases
Também conhecido como banco de dados orientado a documentos, permite o armazenamento de milhões de documentos.
Exemplo: Detalhes de um empregado e seu currículo, é possível pesquisar sobre potenciais candidatos a uma vaga, usando campos específicos, como conhecimento em uma tecnologia.
Banco de dados XML são uma subclasse dos banco de dados NoSQL orientado a documentos.
O principal representante dessa categoria é o MongoDB.

3. Key-value database
Também conhecidos como banco de dados chave-valor.
Exemplo: um aplicativo orientado por sessão, como um aplicativo da Web, começa uma sessão quando o usuário faz login e fica ativo até que o usuário se desconecte ou a sessão expire. Durante esse período, o aplicativo armazena todos os dados relativos à sessão na memória principal ou em um banco de dados. Os dados da sessão podem incluir informações de perfil do usuário, mensagens, dados e temas personalizados, recomendações, promoções direcionadas e descontos. Cada sessão de usuário tem um identificador exclusivo. Os dados de sessão nunca são consultados por nada além de uma chave primária, então um armazenamento de chave-valor rápido é mais adequado para dados de sessão. Em termos gerais, os bancos de dados de chave-valor podem proporcionar menor sobrecarga por página do que bancos de dados relacionais.
O principal representante dessa categoria é Amazon DynamoDB.

4. Column Family Store
Também chamados de banco de dados orientados a coluna, Enquanto um banco de dados relacional é otimizado para armazenar linhas de dados, geralmente para aplicativos transacionais, um banco de dados colunar é otimizado para recuperação rápida de colunas de dados, normalmente em aplicativos analíticos. O armazenamento orientado a colunas para tabelas do banco de dados é um fator importante para a performance de consulta analítica, pois ele reduz expressivamente os requisitos gerais de E/S de disco e diminui a quantidade de dados que você precisa carregar do disco.
Assim como outros bancos de dados NoSQL, os bancos de dados em colunas foram criados para aumentar a escala horizontal usando clusters distribuídos de hardware de baixo custo para aumentar o throughput, o que os torna ideais para data warehousing e processamento de big data.
O Bigtable é uma implementação da Google dessa categoria de bancos de dados . Outros bancos de dados que são orientados a coluna: Hadoop, Cassanda, Hypertable, Amazon SimpleDB.

Principais bancos de dados NoSQL por categoria
Agora os principais exemplos em cada um dos principais tipos de banco de dados NoSQL.
Graph databases
Document databases
Key-value database
Column Family Store
*Cassandra é considerado um banco de dados híbrido.
Para uma lista completa com todos os banco de dados NoSQL e suas categorias, acessem este link e confiram mais de 225 nomes.
Conclusão
Como o NoSQL oferece funcionalidades nativas para cada uma dessas categorias, ele se torna uma alternativa eficiente para armazenamento e consulta para a maioria dos dados não-relacionais, uma excelente opção quando se trata de Big Data.