N.World
Bancos de dados NoSQL

NoSQL 2 tipos de banco de dados: valor chave, documentário e colunar

Após a comparação entre os Bancos de dados NoSQL e SQLNa seção seguinte, explicamos os três primeiros tipos de bancos de dados NoSQL: valor chave, documentário e colunar.

1. bancos de dados de valores-chave noSQL

Características gerais, vantagens e desvantagens

Este é o modelo mais simples e mais flexível, baseado em estruturas de pares de valores-chave. A chave pode ser sintética ou auto-gerada, e pode ter formatos diferentes, mas em todos os casos tem que ser única. Entretanto, em um modelo particionado, os dados são divididos em baldespara que diferentes baldes elementos podem conter a mesma chave. Isto significa que os elementos únicos devem ser identificados pelo tuple (balde, chave).

Os valores, por outro lado, terão uma estrutura simples, sendo capazes de aceitar estruturas de corda, numéricas, JSON ou até mais complexas. Seu uso se baseia nas operações básicas obter (obter dados associados a uma chave), colocar (associando um valor a uma chave) e excluir (apagar entrada com uma chave específica).

Suas principais vantagens são 3: simplicidade, eficiência e flexibilidade, que permitem buscas rápidas em leituras para todo o banco de dados, assim como funções de agregação eficazes. Por outro lado, a simplicidade também marcará suas principais desvantagens: sem estrutura, não é possível lançar consultas por meio de consultase consiste apenas em uma coleção, complicando a implementação de modelos complexos.

Possíveis aplicações

  1. Caches de páginas web, onde a URL é a chave e o conteúdo é o valor.
  2. Registros de operações, com o timestamp como chave e conteúdo como valor.

Principais bases de dados de valores-chave

Riak KV (AP)

Banco de dados licenciado código aberto (Apache) e Enterprise, projetado para sessões de rastreamento e informações relacionadas ao usuário. Permite operações de busca de valores específicos, uso de índices secundários e operações mapa-reduzir. Permite o apagamento automático de dados antigos. Com conectores para centelhaapache mesos e integração com redis. Particionamento por de estilhaçamento.

Redis (CP)

Banco de dados licenciado código aberto e processamento em memória. Útil para cache, sessões de usuário e monitoramento de mensagens, mas possui módulos adicionais para processamento de dados, tais como consultas, índices secundários, transações, ou aprendizagem de máquinas modelagem. Particionamento por sharding e sistemas de replicação mestre-escravo e multi-mestre. Controle de acesso baseado em senha de usuário.

2. bancos de dados documentais NoSQL

Características gerais, vantagens e desvantagens

Eles são derivados de bancos de dados de valores-chave, mas permitem um nível mais alto de complexidade através do uso de metadados. A unidade de organização de dados é o documento, que é composto de uma série de pares de valores-chave cujo valor pode ter diferentes formatos. Cada documento tem uma identificação única para facilitar os métodos de indexação, e muitas vezes tem um esquema pré-definido, embora este seja flexível. Como existe um esquema pré-definido, os dados são agrupados em coleções, que normalmente terão um esquema semelhante.

Em uma analogia SQL, as coleções são equivalentes a tabelas, e os documentos são equivalentes a linhas. Geralmente estes bancos de dados seguirão dois tipos de estrutura: JSON e XML, sendo o JSON o formato mais comumente utilizado.

A principal vantagem dessas bases de dados é sua organização. Por terem estruturas pré-definidas, muitos fornecedores implementaram linguagens do tipo SQL para execução de consultas, em alguns casos permitindo até o uso de adere a entre coletas. Além disso, graças à natureza estruturada dos documentos e ao uso de índices, esses bancos de dados respondem bem a consultas, operações de filtragem e agregação.

Por outro lado, e especialmente ao comparar esses bancos de dados com o SQL, o uso de um esquema flexível os torna propensos a erros de entrada de dados, estabelecendo a necessidade de implementar procedimentos de higienização e limpeza de dados.

Possíveis aplicações

  1. Dados de sensores de diferentes fabricantes
  2. Arquivos de clientes com características diferentes
  3. Catálogos de produtos para uma loja ou fábrica

Principais bases de dados documentais NoSQL

MongoDB (CP)

Uma das mais utilizadas no mercado. Código aberto com armazenamento de dados em formato BSON (binário JSON). Permite índices secundários, particionamento por sharding e replicação através de sistemas mestre-escravo. Novas versões permitem adere a entre coletas, consultas via consultas e o uso de 2 estruturas para operar em paralelo: mapreduce y estruturas de agregação.

CouchDB (AP)

Código aberto que utiliza o JSON nativamente, embora permita formatos binários. Especializada em replicação master-master em diferentes dispositivos e plataformas, possui variantes para navegadores web (pouchDB) e sistemas iOS e Android (pouchDB).couchbase lite). Permite o uso de protocolos HTTP. Ideal para plataformas que normalmente funcionam off-line graças a este sistema de replicação. Particionado por sharding.

CouchBase (AP)

Derivado do couchDB com memcache integrado, é também um banco de dados de documentos baseado em arquivos JSON. É definido como um banco de dados de engajamentoonde a alta acessibilidade em diferentes tipos de dispositivos e aplicações é uma prioridade. Como no caso do couchDB, ele oferece replicação mestre-mestre, bem como a partição por meio de estilhaços.

MarkLogic (CP)

Base de dados multiplataforma baseada principalmente em um sistema de arquivos XML e JSON. Com base em taxas. Permite transações ACID e a implementação de sistemas de segurança baseados em papéis em nível de documento e subdocumento. Particionamento via sharding e permite a aplicação de rotinas mapa-reduzir.

3. Bancos de dados Columnar NoSQL

Características gerais, vantagens e desvantagens

Em um nível conceitual, eles são o modelo mais similar aos bancos de dados SQL (junto com os bancos de dados de documentos), já que os dados seguem uma estrutura de linhas e colunas. Entretanto, ao contrário do SQL, estes bancos de dados NoSQL agrupam funcionalmente células em colunas, onde cada coluna é um tuple de valores (correspondentes a linhas), enquanto o SQL organiza seus dados em linhas. Mesmo se mais tarde foram estendidas a outros formatos de banco de dados NoSQL, as rotinas mapa-reduzir foram projetados com base nisto tipo de banco de dadosSe nossas consultas se basearem neste paradigma, esta opção será a mais otimizada.

Como vantagens, os bancos de dados colunares contêm um esquema conceitualmente simples, mas ainda flexível, que permite o uso da linguagem SQL para consultas. Sua estrutura colunar favorece as consultas que requerem leituras de tabela completas, tais como extração e agregação de dados. Consultas que são simplificadas através da aplicação de rotinas de redução de mapas. Além disso, eles permitem o uso de adere aAs novas bases de dados são mais eficazes que a SQL (embora estas bases de dados ainda não tenham sido otimizadas para seu uso).

A principal desvantagem é que eles permitem dados não estruturadosAs inconsistências criadas serão problemáticas na realização de operações e consultas. Além disso, eles são geralmente projetados como bancos de dados persistentes que realizam leituras em todo o banco de dados, de modo que não serão otimizados para consultas em tempo real (embora possam ser muito eficazes no estabelecimento de transações dada sua similaridade com o SQL).

Possíveis aplicações

  1. Catálogos de produtos com características pré-definidas
  2. Dados homogêneos dos sensores com altas taxas de amostragem
  3. Aplicações de mensagens

Principais bases de dados colunares

Cassandra (AP)

Código aberto sob licença Apache. Seu principal ativo é a escalabilidade robusta e flexível, com disponibilidade contínua e segurança robusta em nível de objeto. Ele permite a aplicação de rotinas de redução de mapas e é fácil de usar usando linguagens do tipo SQL.

Hbase (CP)

Open source sob a licença Apache, ele funciona sob a infra-estrutura HDFS do Hadoop. Assim como a Cassandra, sua força é a escalabilidade, com sistemas de particionamento e modelos de replicação em servidores regionais. Eles também permitem o uso de rotinas de redução de mapas.

Bosonit

Bosonit

Técnica e Dados

Você pode estar interessado em

Dê o salto
tecnológico.

Entre em contato conosco.