Índice:
- NoSQL é um único tipo de banco de dados
- Os bancos de dados NoSQL não são compatíveis com ACID
- bancos de dados NoSQL perdem dados
- Os bancos de dados NoSQL não estão prontos para aplicativos empresariais de missão crítica
- Não é assim! Muitos bancos de dados NoSQL agora oferecem segurança de nível de registro (nível de item) e de nível de registro. Microsoft DocumentDB, MarkLogic Server, OrientDB, AllegroGraph e Accumulo fornecem um controle de acesso baseado em função (RBAC) para acessar registros armazenados nesses bancos de dados NoSQL.
- Existem inúmeros bancos de dados de código aberto no mundo NoSQL. Muitas empresas comerciais tentaram replicar o sucesso da Red Hat, oferecendo um subconjunto das capacidades de seus produtos para serem usados gratuitamente sob uma licença de código aberto.
- O uso deles em novas pilhas de aplicativos da Web e móveis tornou populares os bancos de dados NoSQL. 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.
- Microsoft, Oracle e IBM cada um tem seu próprio banco de dados NoSQL no mercado agora. Embora susceptíveis de explodir, essas empresas investem em tecnologia apenas quando vêem lucro.
- Existe um equívoco comum (por desenvolvedores de aplicativos de banco de dados relacionais malignos, você sabe quem você é!) Que o NoSQL é usado porque os desenvolvedores não têm uma compreensão sobre os fundamentos necessários para configurar bancos de dados relacionais para que eles funcionem bem.
- Muitas das abordagens altamente distribuídas do NoSQL estão sendo combinadas com a tecnologia RDBMS, o que resultou no surgimento de muitos bancos de dados NewSQL.
Vídeo: 10 Common Misconceptions about CouchDB - Joan Touzet, Atypical 2024
O NoSQL é um mercado em rápida evolução com produtos em constante mudança. A existência de tantos bancos de dados NoSQL disponíveis é uma espada de dois gumes. Com tantas diferenças lá fora, os equívocos comuns se formam e se tornam lore.
NoSQL é um único tipo de banco de dados
O NoSQL é um termo abrangente para uma variedade de tipos de banco de dados que apresentam abordagens arquitetônicas comuns. Esses bancos de dados não se destinam a dados de tabela, linhas e colunas relacionados. Eles são altamente distribuídos, o que significa que os dados estão espalhados por vários servidores, e eles são tolerantes às mudanças na estrutura de dados (ou seja, são agnósticas de esquema).
Você pode encontrar vários tipos de bancos de dados sob o banner NoSQL:
-
As lojas de valores-chave fornecem armazenamento fácil e rápido de dados simples através do uso de uma chave.
-
As lojas de colunas fornecem suporte para tabelas muito largas, mas não para relacionamentos entre tabelas.
-
As lojas de documentos suportam estruturas hierárquicas JSON e / ou XML.
-
As lojas triplas (e graficas) oferecem a mesma flexibilidade para relacionamentos que os bancos de dados do NoSQL fornecem para registrar estruturas.
Os bancos de dados NoSQL não são compatíveis com ACID
A conformidade ACID é o padrão-ouro de segurança de dados. Ao garantir que as operações sejam atômicas, as visualizações dos dados são consistentes, as operações não interferem entre si e os dados são armazenados de forma durável no disco, você protege seus dados. Muitas vezes as pessoas pensam que os bancos de dados NoSQL não fornecem conformidade ACID.
Muitos bancos de dados NoSQL oferecem suporte ACID completo em todos os clusters. O servidor MarkLogic, o OrientDB, o Aerospike e o Hypertable são totalmente compatíveis com ACID, fornecendo conformidade totalmente serializável ou read-commit ACID.
Muitos outros bancos de dados NoSQL podem fornecer consistência semelhante a ACID usando configurações sensíveis no código do cliente. Isso normalmente envolve uma configuração Quorum ou Todos para operações de leitura e gravação. Esses bancos de dados incluem Riak, MongoDB e Microsoft DocumentDB.
bancos de dados NoSQL perdem dados
Este equívoco ocorre quando os bancos de dados NoSQL são usados incorretamente ou quando produtos menos maduros são usados. Alguns produtos da NoSQL são menos maduros, tendo apenas estado em torno de menos de cinco anos, de modo que eles ainda não desenvolveram recursos de prevenção de perda de dados.
A garantia de durabilidade na conformidade ACID é vital para sistemas empresariais, e os bancos de dados NoSQL compatíveis com ACID oferecem esta garantia. Portanto, você tem certeza de que nenhum dado é perdido quando o banco de dados confirmar que os dados são salvos.
Além disso, os bancos de dados eventualmente consistentes também podem fornecer durabilidade de dados pelo uso cuidadoso de um registro de gravação a seguir (WAL).Muitas bases de dados NoSQL fornecem essa capacidade.
Os bancos de dados NoSQL não estão prontos para aplicativos empresariais de missão crítica
Ao contrário, muitas organizações usam bancos de dados NoSQL para cargas de trabalho de missão crítica, incluindo o seguinte:
-
Agências de defesa e inteligência armazenando e compartilhando informações < Empresas de mídia armazenando todos os seus ativos digitais para publicação e compra em bancos de dados NoSQL
-
Empresas de mídia que fornecem catálogos de metadados pesquisáveis para suas mídias de vídeo e áudio
-
Bancos que utilizam bancos de dados NoSQL como lojas de comércio primárias ou back-fraude e risco de back office - sistemas de avaliação
-
Agências governamentais que utilizam bancos de dados NoSQL como as principais finanças para seus sistemas de cuidados de saúde
-
Estes não são sistemas pequenos ou caches simples para sistemas relacionais. São casos para os quais o NoSQL é adequado. Claro, alguns bancos de dados NoSQL estão mais prontos para sistemas empresariais do que outros.
Os bancos de dados NoSQL não são seguros
Não é assim! Muitos bancos de dados NoSQL agora oferecem segurança de nível de registro (nível de item) e de nível de registro. Microsoft DocumentDB, MarkLogic Server, OrientDB, AllegroGraph e Accumulo fornecem um controle de acesso baseado em função (RBAC) para acessar registros armazenados nesses bancos de dados NoSQL.
Muitos bancos de dados NoSQL oferecem integração aos sistemas de segurança LDAP (Lightweight Directory Access Protocol), Kerberos e certificados. O suporte para criptografia através do fio em todas as comunicações de cliente para servidor e comunicações internode em um cluster também é fornecido por esses bancos de dados.
Alguns bancos de dados NoSQL são até credenciados e usados pelas organizações de defesa. Accumulo veio de um projeto da Agência de Segurança Nacional (NSA). O MarkLogic Server é credenciado de forma independente sob a certificação do Common Criteria do Departamento de Defesa da U. S. (DoD).
Nem todos os bancos de dados NoSQL fornecem essa funcionalidade, embora a maioria deles provavelmente será no futuro. Por enquanto, você tem opções que permitem que você segure informações.
Todos os bancos de dados NoSQL são de código aberto
Existem inúmeros bancos de dados de código aberto no mundo NoSQL. Muitas empresas comerciais tentaram replicar o sucesso da Red Hat, oferecendo um subconjunto das capacidades de seus produtos para serem usados gratuitamente sob uma licença de código aberto.
No entanto, muitas plataformas dessas empresas não oferecem suporte a padrões abertos. Além disso, a maioria do código é contribuído por essas empresas. Os recursos limitados são fornecidos na versão base por essas empresas de "código aberto".
Existem muitas empresas totalmente comerciais no espaço NoSQL. Microsoft, MarkLogic, Franz (Allegrograph), Hypertable e Aerospike são grandes empresas comerciais que oferecem bancos de dados NoSQL, e eles estão sendo muito bem sucedidos fazendo isso.
Os bancos de dados NoSQL são apenas para Web 2. 0 aplicativos
O uso deles em novas pilhas de aplicativos da Web e móveis tornou populares os bancos de dados NoSQL. 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.
As aplicações de redes sociais geralmente utilizam bancos de dados NoSQL. As aplicações de redes sociais trazem dados publicados na web e agregam-na para descobrir informações valiosas.
A grande maioria dos casos de uso, no entanto, não são aplicações do tipo Web 2. 0. Eles são as mesmas aplicações que há muito tempo, mas onde os bancos de dados relacionais já não fornecem uma solução adequada. Isso inclui cenários em que os dados armazenados são muito esparsos, com muitos valores em branco (nulos) ou onde há mudanças freqüentes ao longo do tempo da estrutura das informações que estão sendo armazenadas.
NoSQL é apenas hype
Microsoft, Oracle e IBM cada um tem seu próprio banco de dados NoSQL no mercado agora. Embora susceptíveis de explodir, essas empresas investem em tecnologia apenas quando vêem lucro.
Jogadores estabelecidos como o MarkLogic com anos no mercado também provaram que a tecnologia NoSQL não é apenas um hype e é valiosa para uma gama de clientes do mundo real em todas as indústrias em sistemas de missão crítica.
Os desenvolvedores do NoSQL não entendem como usar um RDBMS
Existe um equívoco comum (por desenvolvedores de aplicativos de banco de dados relacionais malignos, você sabe quem você é!) Que o NoSQL é usado porque os desenvolvedores não têm uma compreensão sobre os fundamentos necessários para configurar bancos de dados relacionais para que eles funcionem bem.
Isso é completamente incorreto. O NoSQL compreende uma série de abordagens reunidas para responder a problemas de dados fundamentalmente diferentes do que um sistema de gerenciamento de banco de dados relacional (RDBMS) resolve.
Se você estiver comparando um RDBMS com um banco de dados NoSQL, então você está comparando maçãs com motos! Os bancos de dados NoSQL não substituirão o RDBMS. Eles são destinados a dados que são estruturados fundamentalmente diferentes, bem como para diferentes problemas de dados.
A tecnologia RDBMS atualizada eliminará a necessidade do NoSQL
Muitas das abordagens altamente distribuídas do NoSQL estão sendo combinadas com a tecnologia RDBMS, o que resultou no surgimento de muitos bancos de dados NewSQL.
Embora o NewSQL esteja ajudando a lidar com as críticas dos desenvolvedores do NoSQL sobre a tecnologia RDBMS, o NewSQL está organizado em torno das mesmas estruturas de dados que um RDBMS.
Os bancos de dados NoSQL são para diferentes problemas de dados, com diferentes estruturas de dados e casos de uso.