NoSQL, A evolução das bases de dados.

por em 05/06/10 às 9:00 am

Grandes websites e serviços Web 2.0 vem recorrendo a novas tecnologias de bancos de dados devido a necessidade de performance de suas transações/operações, onde o modelo de bases de dados relacionais que existe há mais de 20 anos não vem suportando essa demanda crescente por performance.

Um dos principais objetivos de empresas como Twitter e Facebook é otimizar os seus ambientes LAMP (Linux, Apache, MySQL e PHP/Perl), para isso o MySQL começou a ser substituído pelo N de NoSQL, bancos de dados não relacional que tem como objetivo oferecer escalabilidade horizontal atendendo a demanda de crescimento e alta performance do mercado WEB 2.0.

A tecnologia NoSQL é baseada na capacidade de dividir todos os dados na memória RAM de computadores em clusters, tendo assim alta performance e capacidade de atender o crescimento do número de acessos simultâneas.

Aumentou o número de usuários simultâneos ou a quantidade de dados ? Aumente a quantidade de computadores no cluster.

Com serviços Iaas – Infraestrutura como serviço ofertados pela Amazon ou pelo Rackspace, isso fica mais fácil e barato.

O termo NoSQL foi primeiramente utilizado em 1998 como o nome de um banco de dados relacional de código aberto que não possuía um interface SQL. Seu autor, Carlo Strozzi, alega que o movimento NoSQL “é completamente distinto do modelo relacional e portanto deveria ser mais apropriadamente chamado “NoREL” ou algo que produzisse o mesmo efeito”.

O termo NoSQL foi re-introduzido 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.

Modernas bases de dados relacionais possuem uma limitação para transações com grandes volumes de dados e cargas de trabalhos, incluindo o dimensionamento de conjuntos de dados. Sistemas NoSQL 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 complementares. .

Alguns defensores do NoSQL 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.

O vídeo abaixo apresenta a diferença entre SQL e NoSQL.

Mais informações sobre NoSQL nos links abaixo:

Introdução a NoSQL I

Introdução a NoSQL II

Slides feito pelo Guilherme Silveira/Caelum com mais detalhes sobre NoSQL:

fontes: escalabilidade e Wikipédia

Bad Behavior has blocked 1121 access attempts in the last 7 days.