Saltar para o conteúdo

NoSQL

Origem: Wikipédia, a enciclopédia livre.
Navegação no histórico de edições: ← ver edição anterior (dif) ver edição seguinte → (dif) ver última edição → (dif)

NoSQL (Not only SQL) é um um termo genérico para uma classe definida de banco de dados não-[relacionais] que rompe uma longa história (ou império) de banco de dados relacionais com propriedades ACID. Outros termos equivalentes para esta categoria de bancos é NF², N1NF (non first normal form), nested relational, dimensional, multivalue, free-form, schemaless, document database e MRNN (Setzer) que significa Modelo Relacional Não-Normalizado.

Os banco de dados que estão sob estes rótulos não podem exigir esquemas de tabela fixa, e, geralmente não suportam instruções e operações de junção SQL. O termo NoSQL foi popularizado aproximadamente em 2009, porém os termos schemaless, N1NF e MRNN são mais antigos porém não ganharam tanta popularidade.

Tendências em arquiteturas de computadores estão pressionando bancos de dados numa direção onde eles necessitam oferecer esclabilidade horizontal. Bancos de dados MRNN armazenam os dados com técnicas que visam atender a esse requisito. Há alguns exemplos proeminentes de sofwares de código fechado que atendem estes requisitos, sendo alguns deles Google's BigTable e Amazon's Dynamo. E alguns exemplos de sofware open-source como Facebook's Cassandra, Apache HBase, LinkedIn's Project Voldemort e vários outros.

História do termo

O termo NOSQL foi cunhado no início de 2009 por um funcionário do Rackspace, Eric Evans, quando Johan Oskarsson da Last.fm queria organizar um evento para discutir bancos de dados open source distribuídos. O nome foi uma tentativa de descrever o surgimento de um número crescente de banco de dados não relacionais, que não tinham a preocupação de fornecer garantias ACID.

O termo é uma referência para o esquema de atribuição de nomes dos bancos de dados relacionais mais populares do mercado: MySQL, MS SQL, PostgreSQL, ...

NoSQL Architecture

Modernas base de dados relacionais parecem ter uma limitação a transações com grandes volumes de dados e cargas de trabalhos típicas de operações modernas de grande carga, incluindo o dimensionamento de conjuntos de dados. Sistemas MRNN frequentemente fornecem garantias de consistência fraca, como consistência eventual e operações restritas a ítens individuais de dados, apesar que uma faixa pode impor garantias ACID, adicionando uma camada de middleware complememntares. [1].

Alguns defensores do NoSQL (MRNN) promovem interfaces muito simples, como [[arrays associativos] ou pares chave-valor (Key-Value pairs). Outros sistemas como bancos de dados XML nativos provem o apoio ao padrão XQuery.

Lista de projetos open source MRNN

Ver Também

References

  1. Zhou Wei, Guillaume Pierre and Chi-Hung Chi. Scalable Transactions for Web Applications in the Cloud. In proc. of the Euro-Par Conference, January 2009.