Introdução aos modelos de dados NoSQL

Antes de começarmos sobre os modelos de dados, vamos primeiro entender o que significa NoSQL. NoSQL significa não o único SQL, o que significa que vamos recuperar e armazenar dados de bancos de dados não relacionais. Agora vamos ver o que é modelo de dados? Um modelo de dados define a estrutura lógica do DBMS. Isso basicamente significa que ele nos diz como os dados são conectados, os relacionamentos entre várias entidades e como são processados. As técnicas de modelagem de dados são diferentes para bancos de dados relacionais e não relacionais. A principal diferença é que os modelos de dados NoSQL têm mais consultas específicas do aplicativo em comparação com o SQL.

Sintaxe com Parâmetros

A sintaxe para escrever uma consulta NoSQL é fornecida com um exemplo. Neste exemplo, recuperaremos o nome e a idade de todos os funcionários com a designação de gerente.

(
"object": "employee",
"q": (
"designation" : " Manager"
),
"fields": ("name", "age") )

No exemplo acima, usamos o formulário JSON para escrever uma palavra-chave “object” de consulta é usada para atribuir um nome de tabela, a palavra-chave “q” é usada como uma condição WHERE. No nosso caso, onde uma condição deve ser aplicada sobre a designação, pois queremos apenas funcionários cuja designação seja o gerente. A chave "campo" é o nome das colunas que queremos recuperar com base na condição em "q". No nosso caso, as colunas são nome e idade.

A consulta NoSQL acima, se convertida em SQL, terá a seguinte aparência:

SELECT name, age
FROM employee
WHERE designation =' manager';

A consulta mais curta que podemos escrever é uma consulta normal de seleção no NoSQL é a seguinte:

(
"object": "String",
"q": "Expression"
)

A consulta acima é uma consulta de seleção normal.

Tipos de modelos de dados NoSQL

Agora vamos aprender sobre os diferentes tipos de modelos de dados NoSQL.

Em geral, existem quatro tipos diferentes de modelos de dados no NoSQL. Eles são os seguintes e iremos discuti-los um por um.

  • Armazenamento de valor-chave
  • Armazenamento baseado em documentos
  • Armazenamento baseado em colunas
  • Loja baseada em gráfico

Agora vamos examiná-los um por um.

1. Armazenamento de valor-chave

  • Como o nome sugere, o armazenamento de valor-chave simplesmente usa o valor-chave para armazenar dados no banco de dados. A chave no par de valores-chave deve ser exclusiva. As regras definidas para o tamanho da chave podem depender do banco de dados para o banco de dados. Por exemplo, no Redis, o tamanho máximo para Key é 512mb. Até a cadeia vazia é uma chave válida.
  • O tamanho da chave é importante aqui, pois uma chave longa pode causar problemas de desempenho, enquanto uma chave muito curta pode causar problemas de legibilidade. O valor no par de chave-valor pode ser qualquer coisa, de uma String a uma imagem. Você também pode especificar o tipo de dados do valor aqui.
  • O modelo de banco de dados de valor-chave pode ser útil para armazenar dados no comércio eletrônico, como categorias de produtos, detalhes do produto etc. Eles são amplamente utilizados na análise de big data. Podemos até armazenar URLs completos, pois o nome do URL pode ser a chave e o URL real como valor. Exemplos de bancos de dados que aplicam pares Key-Value são o banco de dados Oracle NoSQL e o Redis.

2. Armazenamento baseado em documento NoSQL

  • Nesse tipo de banco de dados, o registro e seus dados associados são armazenados em um único documento. Portanto, esse modelo não é completamente desestruturado, mas é um tipo de dados semiestruturados.
  • A diferença entre um par de documentos e valores-chave é que, no armazenamento do tipo de documento, nesse tipo é fornecido algum tipo de codificação ao armazenar os dados nos documentos. Pode ser codificação XML ou JSON.
  • O exemplo abaixo mostra um documento que pode ser armazenado em um banco de dados de documentos, mas com uma codificação diferente. Vamos dar uma olhada no exemplo XML.


Srikanth Engineer
Febuary

Srikanth Engineer
Febuary

  • A diferença entre bancos de dados convencionais e bancos de dados baseados em documentos é que os dados aqui não são armazenados em tabelas como bancos de dados convencionais, mas em documentos.
  • Os exemplos de bancos de dados que usam o modelo de dados acima são MongoDB e Couchbase. Esses tipos de bancos de dados são usados ​​extensivamente, especialmente na análise de big data.

3. Armazenamento Baseado em Coluna

  • Nesse tipo de banco de dados, o foco está nas colunas, e não nas linhas, pois os dados são armazenados nas colunas, e não nas linhas, o que é o caso da maioria dos bancos de dados relacionais. Como os dados são armazenados em células agrupadas em colunas, toda a leitura e gravação é feita usando colunas, não linhas.
  • Surge a pergunta interessante: por que usar colunas em vez de linhas? A resposta a esta pergunta é que, quando você armazena dados em colunas, pode fazer uma pesquisa rápida, recuperação e agregação rápidas, porque armazena todas as células de uma coluna como uma entrada contínua, o que permite um acesso mais rápido.
  • Como exemplo, se quisermos consultar títulos de milhões de artigos, será fácil entrar no modelo de dados baseado em colunas, pois com uma entrada em disco, obteremos os títulos do artigo com facilidade, enquanto nos bancos de dados relacionais ele precisa superar para cada local para obter os títulos. Exemplos de bancos de dados de armazenamento baseados em colunas são HBase, Big Table, Cassandra.

4. Armazenamento baseado em gráfico

  • Como o nome sugere, a representação gráfica é usada em vez da representação de tabelas ou colunas. A característica importante desse tipo de modelo de dados é a presença de nós e arestas. Os dois nós, por exemplo, estão conectados a alguns relacionamentos e o relacionamento aqui é representado por arestas.
  • Além disso, você pode transformar dados de um modelo para outro com eficiência usando esse modelo de dados NoSQL baseado em gráfico. Existem dois bancos de dados baseados em gráficos comumente usados, que são InfoGrid e Infinite Graph. O InfoGrid também oferece dois tipos de bancos de dados gráficos, como o MeshBase e o NetMeshbase, que os usuários podem escolher, dependendo dos requisitos do usuário.

Conclusão

Neste artigo, discutimos o banco de dados NoSQL e os diferentes tipos de modelos NoSQL e discutimos esses modelos individualmente. Os diferentes tipos de bancos de dados disponíveis em cada tipo de modelo de dados. A popularidade do banco de dados NoSQL está crescendo a cada dia que passa, devido à sua velocidade e eficiência.

Artigos recomendados

Este é um guia para os modelos de dados NoSQL. Aqui discutimos os tipos de modelos de dados NoSQL e a sintaxe com parâmetros e explicação. Você também pode consultar nossos outros artigos sugeridos para saber mais:

  1. Vantagens do NoSQL
  2. O MongoDB NoSQL é
  3. O que é a tecnologia de Big Data?
  4. O que é o Data Analytics