noSQL

Primeiramente utilizado em 1998 o termo noSQL surgiu como o nome de um banco de dados relacional de código aberto que não possuía uma 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”(segundo wiki).

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. O nome — uma tentativa de descrever o surgimento de um número crescente de banco de dados não relacionais.

nosql-edersonmelo

Arquitetura noSQL

Modernas base de dados relacionais parecem ter uma limitação a transações com grandes volumes de dados e cargas de trabalhos, incluindo o dimensionamento do conjuntos destes dados.

NoSQL provén interfaces muito simples, como arrays associativos ou pares chave-valor (Key-Value pairs).
Os bancos 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 e suas operações são restritas a itens individuais.

MongoDB

Tomando como exemplo uma operação no MongoDB, o equivalente aos registros são os documentos, que utilizam a sintaxe JSON. No item abaixo vamos criar um “documento” chamado Ederson com 3 atributos(nome, sobreNome e cidade), criado de forma muito simples.

Ederson = {

nome: “Ederson”,

sobreNome: “Melo”,

cidade: “Canoas/RS”

}

 

Para armazena-lo em banco, bastaria executar: db.nomeDoMeuBanco.save(Ederson)
Neste mesmo banco poderíamos armazenar documento abaixo. Que é completamente diferente do documento anteriormente criado. E que será da mesma forma aceito.

Pedro = {
nome: “Pedro”,
sobreNome: “Haack”,
cidade: “Canoas/RS”,
caes:[{nome:”Lilica”, raça:”vira-lata”}, {nome:”Scott”, raça:”Labrador”}]}
}

Para salvar: db.nomeDoMeuBanco.save(Pedro)

Temos diversas formas de utilização para o noSQL:

  • Gerenciamento de grandes streams de dados não-transicionais: logs Apache, logs de aplicativos, logs MySQL, clickstreams etc.
  • Sincronização de dados online e offline. Este é um nicho que CouchDB segmentou.
  • Rápido tempo de reposta em todos os carregamentos.
  • Evite joins pesados quando o carregamento da query se tornar
  • muito grande para RDBMS.
  • Sistemas simples de tempo real no quais a baixa latência é crítica.

couchDB_black

Mesmo parecendo muito simples e interessante é importante entender que o noSQL não elimina o bancos de dados relacionais, mas coexiste como uma alternativa.

Veja também a entrevista brilhante com o criador do SQL, Michael “Monty” Widenius.
Conduzido por Dmitry Sotnikov, COO da Jelastic.:http://blog.websolute.com.br/entenda-melhor-o-nosql-e-o-big-data/

Fonte(s):

http://pt.wikipedia.org/wiki/NoSQL

http://highscalability.com/blog/2010/12/6/what-the-heck-are-you-actually-using-nosql-for.html

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s