Database
 sql >> Base de Dados >  >> RDS >> Database

O que é NoSQL e como é utilizado?

O que é NoSQL?


Um banco de dados NoSQL ou NoSQL é um termo usado para se referir a um banco de dados “não SQL” ou “não apenas SQL”. Os bancos de dados NoSQL armazenam dados em um formato diferente dos sistemas tradicionais de gerenciamento de banco de dados relacional. É por isso que o NoSQL é frequentemente associado ao termo banco de dados “não relacional”. Simplificando, os bancos de dados NoSQL são bancos de dados modernos com alta flexibilidade, desempenho incrível e construídos para escalabilidade. Esses bancos de dados são usados ​​quando você precisa de baixa latência e alta extensibilidade ao trabalhar com grandes estruturas de dados. A versatilidade do NoSQL deve-se à natureza de ser irrestrito em comparação com modelos de bancos de dados relacionais como MySQL ou DB2.

Comparação SQL vs. NoSQL


Existem várias diferenças entre os tipos de banco de dados SQL e NoSQL. Na tabela abaixo, vamos comparar algumas das variações mais críticas.


SQL NoSQL
Bancos de dados de estrutura de dados relacionais Bancos de dados de estrutura de dados não relacionais
Melhor para transações de várias linhas  Melhor para documentos e arquivos JSON
Bancos de dados baseados em tabelas Bancos de dados são armazenamentos de documentos, valores-chave, gráficos ou colunas largas
Os bancos de dados SQL são escaláveis ​​verticalmente  Os bancos de dados NoSQL são escaláveis ​​horizontalmente 
Usa esquema predefinido Usa esquema dinâmico
Linguagem de consulta estruturada (SQL) Sem linguagem de consulta

Tipos de bancos de dados NoSQL


Existem quatro tipos principais de bancos de dados NoSQL.
  • Armazenamentos de dados de valor-chave
  • Lojas de documentos
  • Lojas de coluna larga
  • Lojas de gráficos 

Vamos rever cada um desses tipos e explicar para que eles são usados.

Armazenamentos de dados de valor-chave


Esses tipos de bancos de dados estão usando o valor-chave como um método para armazenar dados no banco de dados. Cada valor-chave é exclusivo e serve como um identificador quando uma consulta é realizada. A chave primária é separada em uma chave de partição e uma chave de classificação. Por exemplo, a chave de partição teria o ID do produto armazenado e a chave de classificação teria os tipos de produto armazenados.

Os valores armazenados nesses bancos de dados podem ser desde os objetos binários mais simples, como documentos JSON, até vídeos ou outros itens complexos massivos. Nosso aplicativo terá controle total sobre esses valores, e é por isso que os Key-Value Data Stores são considerados o modelo NoSQL mais flexível. É essencial mencionar que os valores-chave geralmente não suportam transações porque os dados armazenados neles são particionados e usados ​​em clusters inteiros.

Lojas de documentos


Como o nome indica, um banco de dados NoSQL é um banco de dados não relacional sem esquema que armazena e consulta dados em um documento semelhante a um arquivo JSON. Ao contrário das tabelas convencionais do MySQL, os bancos de dados de armazenamento de documentos coletam todos os dados de uma determinada entidade em um documento. Todos os dados associados a essa entidade também são armazenados nesse único documento.

Então, por um lado, você tem bancos de dados relacionais armazenando dados da mercadoria em tabelas, e esses dados estão espalhados por várias tabelas. Por outro lado, você tem um banco de dados não relacional de armazenamento de documentos que armazena todos os dados em um único arquivo.

Lojas de Coluna Larga


O segundo nome para esses bancos de dados é Extensible Record Stores . Assim como os repositórios de documentos, esses bancos de dados de colunas largas também são bancos de dados sem esquema. Esse banco de dados usa tabelas, linhas e colunas, como um banco de dados relacional.

Mas há uma diferença! Nenhuma das colunas ou chaves de registro são fixas, o que significa que o nome e o formato podem variar. É por isso que os bancos de dados de colunas largas são frequentemente vistos como armazenamentos de valores-chave bidimensionais.

Lojas de gráficos


Os bancos de dados Graph Stores são construídos em torno de uma estrutura de dados simples:

Nó — Relacionamento — Nó

Esses bancos de dados possuem três tipos de campos de dados. Esses campos são chamados de vértices e são compostos de nós, arestas e propriedades. Esses campos são usados ​​para armazenar e representar os dados nos armazenamentos de gráfico.

Os armazenamentos de gráfico funcionam coletando dados dentro de um nó e as arestas armazenam o relacionamento entre cada nó. Cada aresta tem quatro componentes:um nó inicial, um nó final, um tipo e uma direção. Essa estrutura é necessária porque um nó pode ter um número ilimitado de relacionamentos.

O tipo final de campo de dados, propriedades, recursos de armazenamento e informações adicionais relacionadas a arestas e relacionamentos. Um exemplo de propriedade é chamado "Peso de uma aresta". Essa propriedade pode economizar um custo, distância, alcance, comprimento ou qualquer outra medida de um relacionamento entre dois nós.

Exemplos de sistema NoSQL


Agora que sabemos quais tipos de bancos de dados NoSQL temos, revisaremos alguns dos sistemas de gerenciamento de banco de dados mais usados ​​para cada um desses tipos.
Tipo de banco de dados Sistema de gerenciamento mais usado
Armazenamentos de dados de valor-chave Redis, é de longe o sistema de gerenciamento NoSQL mais usado em geral. O Redis pode ser usado para outras operações, como armazenamento em cache, mas o gerenciamento de banco de dados é sua função principal.



Lojas de documentos MongoDB é anunciado como o “banco de dados mais popular para aplicativos modernos ”. O MongoDB é, na verdade, um pouco mais do que apenas um sistema de gerenciamento de banco de dados. É uma plataforma de dados completa com muitas ferramentas para desenvolvedores e cientistas de dados usarem.



Lojas de coluna larga O Apache Cassandra é usado pela Activision, Hulu, Uber, Walmart e dezenas de outras empresas de alto perfil. De acordo com a página oficial, 40% das 100 maiores empresas da Fortune estão usando o Cassandra em suas operações diárias. A razão para isso é simples. O Cassandra é a melhor escolha quando você precisa de um sistema de gerenciamento para uma loja de colunas amplas que ofereça a melhor escalabilidade e disponibilidade sem comprometer o desempenho.



Lojas de gráficos O Neo4j é um banco de dados gráfico nativo, construído desde o início para alavancar nós e relacionamentos. O Neo4j faz conexões entre os dados à medida que são armazenados, possibilitando tipos de consultas nunca imaginados, em velocidades raramente imaginadas.




Agora conhecemos os diferentes tipos de bancos de dados NoSQL. Também conhecemos o básico por trás deles. Por fim, vamos rever qual seria a melhor forma de colocar em prática cada um desses bancos de dados.

Melhores casos de uso para bancos de dados NoSQL

  • Bancos de dados de armazenamento de chave-valor :Esses bancos de dados são melhor usados ​​para vários carrinhos de compras. Isso ocorre simplesmente porque os bancos de dados de valor-chave podem lidar com milhões ou bilhões de pedidos. Dados de entrada em massa são processados ​​sem perda de desempenho. Esses bancos de dados também têm redundância integrada para que você não precise se preocupar com a perda de dados.
  • Bancos de dados de armazenamento de documentos :Esses bancos de dados são melhor usados ​​para vários catálogos. Isso pode ser conectado novamente ao seu negócio de e-commerce, onde você precisa armazenar milhares de atributos diferentes sobre nossos produtos. Como os dados são armazenados em um único documento, o gerenciamento dos produtos é rápido e fácil.
  • Lojas de Coluna Larga :Esses bancos de dados são melhor usados ​​para informações geográficas, sistemas de relatórios, logs de sensores e outros. Afirmamos isso porque os armazenamentos Wide-Column usam mapeamento multidimensional (valor de linha, valor de coluna e carimbo de data/hora) em um formato tabular destinado a escalabilidade massiva. Se você já usou um site ou aplicativo para verificar a distância percorrida de A a B em um mapa, as chances são muito altas de que lojas Wide-Column estejam em uso nesse site ou aplicativo.
  • Bancos de dados de armazenamento de gráficos :Esses bancos de dados são melhor usados ​​para sistemas de detecção de fraude acima da média. Digamos que temos um caso de fraude conhecido registrado para um e-mail ou cartão de crédito específico em questão. Se essa pessoa tentar fazer login e comprar algo novamente com as informações desse caso de fraude, alguém será notificado pelo sistema. Isso acontece por causa de como os bancos de dados de armazenamento Graph processam relacionamentos entre nós em tempo real.

Conclusão


Muitas vezes encontramos o uso de bancos de dados NoSQL em nossas vidas diárias sem perceber. Os dados mostram que as vantagens gerais do NoSQL e sua eficácia são incalculáveis. Esperamos que este artigo forneça informações acionáveis ​​e como o NoSQL pode ser implementado em sua metodologia de negócios. Concluindo, estamos felizes por podermos demonstrar como o NoSQL pode ser benéfico para você.

Como podemos ajudar?


Orgulhamo-nos de ser os humanos mais úteis em hospedagem™! Nossos consultores experientes em Soluções ou Hospedagem estão sempre disponíveis para mostrar como você pode aproveitar essas técnicas hoje!

Estamos disponíveis 24 horas por dia, 7 dias por semana, 365 dias por ano, através do nosso sistemas de emissão de bilhetes em [email protected], por telefone (em 800-580-4986) ou através de um LiveChat ou qualquer método que você preferir.

Trabalhamos duro para que você possa relaxar.