Recursos não & # 8208-So & # 8208-comuns de NoSQL
Embora algumas características são bastante comuns às bases de dados NoSQL (por exemplo, o agnosticismo esquema e não # estrutura 8208-relacional), não é incomum para um banco de dados que falta uma ou mais das seguintes características e ainda qualificar-se como um banco de dados NoSQL moderna.
Abrir # 8208-source
software NoSQL é único porque a céu aberto # 8208-source movimento tem impulsionado o desenvolvimento, em vez de seguir um conjunto de empresas comerciais. Você pode, portanto, encontrar uma série de aberto # produtos 8208-source NoSQL para atender cada necessidade. Quando os desenvolvedores não poderia encontrar um banco de dados NoSQL para as suas necessidades, eles criaram um, e publicou-o inicialmente como # 8208 de código aberto.
A maioria das soluções NoSQL populares são movidos por empresas comerciais, com a variante de código aberto faltando as características-chave necessárias para o uso de missão crítica em grandes empresas.
A diferença entre # fornecedores NoSQL 8208 open-source e estas empresas exclusivamente comerciais é que aberta # 8208-source vendedores têm um modelo de negócio semelhante ao modelo Red Hat. Basicamente, eles liberam um aberto # produto 8208-source e também vender a empresa adicionar # 8208-on recursos, suporte e serviços de implementação.
Esta não é uma coisa ruim! É importante notar, porém, que as pessoas em NoSQL não são movidos exclusivamente, ou mesmo principalmente, pelos aberta # promotores 8208 de código de trabalho em seu tempo livre - em vez disso, eles trabalham para as empresas comerciais por trás dos produtos.
Comprador cuidado! Quando se trata de escolher um banco de dados NoSQL, lembre-se # Custo de 147 total de propriedade. # 148- Muitas organizações adquiriu aberta # produtos 8208 de código apenas para descobrir que eles precisam de subscrição um alto # 8208 com preços a fim de obter os recursos que eles querem.
BASE contra ACID
Antes de 2014, a maioria das definições NoSQL não incluem suporte a transações ACID como uma característica definidora de bancos de dados NoSQL. Isto ja não é mais verdade.
ACID # 8208-compliant transação significa que o banco de dados é projetado para que ele absolutamente não vai perder dados:
Cada operação move o banco de dados a partir de um estado válido para outro (UMATomic).
Todos têm o mesmo ponto de vista dos dados em qualquer ponto no tempo (Consistent).
Operações no banco de dados não interferem uns com os outros (Eusolation).
Quando um banco de dados diz que salvou os dados, você sabe os dados estão seguros (Durável).
Não muitos bancos de dados NoSQL ter transações ACID. Excepções a esta regra são FoundationDB, Neo4j e MarkLogic Server, que fornecem transações ACID totalmente serializados.
Então, por que é o cumprimento ACID um não # 8208-so # recurso 8208-comum? Quando o RDBMS Oracle foi lançado, ele não forneceu o cumprimento ACID também. Demorou sete versões antes conformidade ACID foi apoiado em várias atualizações de banco de dados e tabelas.
Da mesma forma, se você olhar para os roteiros de todos os bancos de dados NoSQL, você verá que todos eles referem-se a trabalhar em consistência transacional. MongoDB, por exemplo, levantou US $ 150 milhões no outono de 2013 especificamente para abordar esta e outras questões empresariais. MongoDB anunciou um novo mecanismo de armazenamento compatível com ACID. O ácido contra BASE debate é interessante.