10 Equívocos nosql

NoSQL é um mercado em rápida evolução com os produtos em mutação constante. Ter tantos bancos de dados NoSQL disponíveis é uma faca de dois gumes. Com tantas diferenças lá fora, equívocos comuns formar e tornar-lore.

NoSQL é um único tipo de base de dados

NoSQL é um termo genérico para uma variedade de tipos de dados que exibem abordagens arquitectónicas comuns. Estas bases de dados não se destinam a tabela relacionada, linhas e colunas de dados. Eles são altamente distribuída, o que significa que os dados são espalhados por vários servidores, e eles são tolerantes com as mudanças na estrutura de dados (isto é, eles são esquema agnóstico).

Você pode encontrar vários tipos de bancos de dados sob a bandeira NoSQL:

  • lojas de valor Key fornecer armazenamento fácil e rápida de dados simples através do uso de uma chave.

  • lojas de coluna oferecem suporte para tabelas muito largas, mas não para os relacionamentos entre as tabelas.

  • lojas de documento de suporte JSON e / ou XML estruturas hierárquicas.

  • lojas triplos (e gráfico) fornecem a mesma flexibilidade de relacionamentos que documentam bancos de dados NoSQL fornecer para gravar estruturas.

bancos de dados NoSQL não são ACID-compliant

cumprimento ACID é o padrão ouro da segurança de dados. Ao assegurar que as operações são atômicas, vistas de dados são consistentes, operações não interferem uns com os outros, e os dados são duravelmente salvos em disco, você proteger seus dados. As pessoas muitas vezes pensam bancos de dados NoSQL não fornecem o cumprimento ACID.

Muitos bancos de dados NoSQL fornecer apoio ACID completa em clusters. MarkLogic Server, OrientDB, Aerospike e Hypertable são totalmente ACID-compliant, fornecendo tanto totalmente serializado ou leia-commit cumprimento ACID.

Muitos outros bancos de dados NoSQL pode fornecer consistência ACID-like usando configurações sensatas no código do cliente. Isso normalmente envolve uma Quorum ou Todos definição para ambos os ler e escrever operações. Esses bancos de dados incluem Riak, MongoDB e Microsoft DocumentDB.

bancos de dados NoSQL perder dados

Este equívoco ocorre quando bancos de dados NoSQL são usados ​​incorretamente ou quando os produtos menos maduros são utilizados. Alguns produtos NoSQL são menos maduros, tendo apenas sido em torno de menos de cinco anos, para que eles não desenvolveram a prevenção de perda de dados apresenta ainda.

A garantia de durabilidade em conformidade ACID é vital para os sistemas empresariais e bancos de dados NoSQL ACID-compliant fornecer essa garantia. Portanto, você tem a garantia de que nenhum dado é perdido uma vez que o banco de dados confirma os dados são salvos.

Além disso, eventualmente, bases de dados consistentes também pode fornecer durabilidade de dados através do uso cuidadoso de um write ahead log (WAL). Muitos bancos de dados NoSQL fornecer esta capacidade.

bancos de dados NoSQL não estão prontos para aplicativos corporativos de missão crítica

Pelo contrário, muitas organizações estão usando bancos de dados NoSQL para cargas de trabalho de missão crítica, incluindo o seguinte:

  • Defesa e inteligência agências armazenar e compartilhar informações

  • As empresas de mídia que armazenam todos os seus ativos digitais para publicação e compras em bancos de dados NoSQL

  • As empresas de mídia fornecendo catálogos de metadados pesquisáveis ​​para o seu vídeo e mídia de áudio

  • Bancos usando bancos de dados NoSQL como lojas de comércio primário ou back office anti-fraude e sistemas de avaliação de risco

  • As agências governamentais que utilizam bancos de dados NoSQL como a parte traseira principal termina para os seus sistemas de cuidados de saúde



Estes não são pequenos sistemas ou caches simples para sistemas relacionais. São casos em que NoSQL é bem adequado. Claro, alguns bancos de dados NoSQL são mais pronto para sistemas corporativos do que outros.

bancos de dados NoSQL não são seguros

Não tão! Muitos bancos de dados NoSQL agora fornecer registro de nível e segurança even-item de nível de dados (celular). Microsoft DocumentDB, MarkLogic Server, OrientDB, AllegroGraph e Accumulo todos fornecem controle refinado com base na função de acesso (RBAC) para registros de acesso armazenados dentro desses bancos de dados NoSQL.

Muitos bancos de dados NoSQL oferecer integração de Lightweight Directory Access Protocol existentes (LDAP), Kerberos e sistemas de segurança baseados em certificado. Suporte para criptografia sobre o fio em todas as comunicações cliente-para-servidor e comunicações entrenó dentro de um cluster, também é fornecida por esses bancos de dados.

Alguns bancos de dados NoSQL são ainda credenciado e utilizadas por organizações de defesa. Accumulo veio de um projecto da Agência de Segurança Nacional (NSA). MarkLogic Server é credenciado independente sob o Departamento de EUA de Defesa (DoD) certificação Common Criteria.

Nem todos os bancos de dados NoSQL fornecer essa funcionalidade, embora a maioria deles provavelmente será no futuro. Por agora, você tem opções que permitem proteger informações.

Todos os bancos de dados NoSQL são open-source

Existem inúmeros bancos de dados de código aberto do mundo NoSQL. Muitas empresas comerciais têm tentado replicar o sucesso da Red Hat, oferecendo um subconjunto de capacidades dos seus produtos para ser usado gratuitamente sob uma licença de código aberto.

Muitas das plataformas dessas empresas não suportam padrões abertos, apesar de tudo. Além disso, a maior parte do código é contribuído por essas empresas. recursos limitados são fornecidos na versão base por essas empresas “open-source”.

Existem muitas empresas totalmente comerciais no espaço NoSQL. Microsoft, MarkLogic, Franz (AllegroGraph), Hypertable e Aerospike são todas as grandes empresas comerciais que oferecem bancos de dados NoSQL, e eles estão sendo muito bem sucedido fazê-lo.

Video: Cloud Datastore 101: Overview of Google's scalable NoSQL document database (Google Cloud Next '17)

bancos de dados NoSQL são apenas para aplicações Web 2.0

Seu uso em novos web e aplicativos móveis pilhas fizeram bancos de dados NoSQL popular. Eles são fáceis de usar desde o início, e muitos operam sob um contrato de licença para livre, tornando-os atraentes para startups.

Video: NoSQL Distilled to an hour by Martin Fowler

aplicações de mídia social geralmente usam bancos de dados NoSQL. aplicações de mídia social trazer dados da Web publicado e agregá-los em conjunto a fim de descobrir informações valiosas.

A grande maioria dos casos de uso, no entanto, não são aplicações 2.0 do tipo Web. Eles são os mesmos aplicativos que foram em torno de um longo tempo, mas onde bancos de dados relacionais já não fornecem uma solução adequada. Este inclui situações em que os dados a ser armazenado é muito escasso, com muitos branco (nulo) valores, ou onde há mudanças frequentes ao longo do tempo da estrutura de informação a ser armazenados.

NoSQL é apenas hype

Microsoft, Oracle e IBM cada um tem seu próprio banco de dados NoSQL no mercado no momento. Embora suscetível a vociferar, essas empresas investem em tecnologia só quando vêem um lucro.

Video: What is NoSQL Database?

jogadores estabelecidos como MarkLogic com anos no mercado também provaram que a tecnologia NoSQL não é apenas hype e é valioso para uma gama de clientes do mundo real através das indústrias em sistemas de missão crítica.

desenvolvedores NoSQL não entendem como usar um RDBMS

Há um equívoco comum (por aplicação de banco de dados relacional mal desenvolvedores- você sabe quem você é!) Que NoSQL é usado porque os desenvolvedores não têm uma compreensão sobre os fundamentos necessários para configurar os bancos de dados relacionais para que eles executam bem.

Isso é totalmente incorreto. NoSQL compreende uma série de abordagens trazidas em conjunto para responder fundamentalmente diferentes problemas de dados do que um sistema de gestão de base de dados relacional (RDBMS) resolve.

Se você está comparando um RDBMS para um banco de dados NoSQL, então você está comparando maçãs com motos! bancos de dados NoSQL não irá substituir RDBMS. Eles destinam-se a dados que são estruturadas fundamentalmente diferente, bem como para diferentes problemas de dados.

tecnologia RDBMS Atualizado vai eliminar a necessidade de NoSQL

Muitas das abordagens altamente distribuídos de NoSQL estão sendo misturado com tecnologia RDBMS, o que resultou no surgimento de muitos bancos de dados NewSQL.

Embora NewSQL está ajudando a lidar com as críticas da tecnologia RDBMS dos desenvolvedores NoSQL, NewSQL é organizado em torno das mesmas estruturas de dados como um RDBMS é.

bancos de dados NoSQL são para diferentes problemas de dados, com diferentes estruturas de dados e casos de uso.


Publicações relacionadas