sexta-feira, 14 de novembro de 2014

NoSQL

NoSQL (Not Only SQL) são diferentes sistemas de armazenamento que vieram para suprir necessidades em demandas onde os bancos de dados tradicionais (relacionais) são ineficazes. 

Essa nova geração de Banco de Dados agrega algumas características como sendo não-relacional, distribuído, código aberto e escalado horizontalmente.

O NoSQL surgiu da necessidade de uma performance superior e de uma alta escalabilidade. Os atuais bancos de dados relacionais são muito restritos a isso, sendo necessária a distribuição vertical de servidores, ou seja, quanto mais dados, mais memória e mais disco um servidor precisa. O NoSQL tem uma grande facilidade na distribuição horizontal, ou seja, mais dados, mais servidores, não necessariamente de alta performance. Um grande utilizador desse conceito é o Google, que usa computadores de pequeno e médio porte para a distribuição dos dados; essa forma
de utilização é muito mais eficiente e econômica. Além disso, os bancos de dados NoSQL são muito tolerantes a erros.
No caso dos bancos NoSQL, toda a a informação necessária estará agrupada no mesmo registro, ou seja, em vez de você ter o relacionamento entre várias tabelas para formar uma informação, ela estará em sua totalidade no mesmo registro.
A intenção original foram os bancos de dados na escala de webs. Esse movimento começou em 2009 e cresceu rapidamente desde então. É o modelo de banco de dados utilizado por sites como twitter, facebook e google.
Mas não confuda, não quer substituir SQL.
Cinco necessidades do mercado que não são atendidas perfeitamente pelos produtos de banco de dados e fornecedores disponíveis no mercado, são eles:
-escalabilidade
-performance
-consistência eventual ou relaxada
-agilidade
-complexidade
Principais tipos disponíveis:
1)Orientado a documentos
modelo de dados é uma coleção de documentos que contém um par chave, valor. 
2)Armazenamento por chave-valor
Modelo de dados é uma coleção global de pares de chave-valor. Gerencia bem o tamanho, processa uma quantidade constante de pequenas leituras e escritas
3)Clones de big table
Modelo de dados é uma família de colunas. Modelo tabular onde cada linha pode ter suas proprias colunas. Gerencia bem o tamanho, processa uma grande quantidade de carga via fluxos. Alta disponibilidade. Usada pelo google
4) Orientado a Grafos
Modelo de dados nós e relacionamentos, ambos manipulam par de chave-valor. é rapido.

Nenhum comentário:

Postar um comentário