Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

NetBoy16

[Resolvido] NoSQL x MySQL

Recommended Posts

Fala pessoal, beleza?

 

Eu tava aqui navegando por esse forum dando uma olhada, então me surgiu a curiosidade em perguntar algumas coisinhas:

 

- MySQL é SGBD, mas esse NoSQL acredito que nao né? pq ouvi fala em cassandra, MongoDB e outras paradas, acredito que esses sejam os SGBD

-Mas então oque é esse tal de NotSql? um banco de dados que nao usa sql? :P

- Quais as diferenças entre um e outro ?

- Quando e porque usar NoSql ?

- Quais as Vantagens em usa-lo ?

 

Já ouvi falar sobre diversos SGBD's, MySql que utilizo junto com o php, ms sql server, postgresql, firebird, interbase, entre outros.

 

Mas esse NoSql é a primeira vez, alguém pode responder essas minhas perguntas ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eae cara, tudo bem?

 

Então, o NoSQL é uma nova tecnologia de banco de dados, por assim dizer. É normal acontecer confusão com os nomes. O MySql é um sistema de gerenciamento de banco de dados, enquanto o NoSql é um tipo de banco de dados NÃO-RELACIONAL.

 

Mas o que significa isso?

O Mysql, que você deve conhecer é um banco de dados relacional. Isto porque ele relaciona cada registro a um índice de busca. Ou seja, para você buscar um usuário por exemplo, você faz uma busca pelo ID dele correto? Então cada linha tem um id que a identifica. Isso possibilita você ter chaves estrangeiras que fazem consultas em várias tabelas dentro de uma mesma query através dos JOINS.

 

O NoSQL não utiliza essa tecnologia dessa forma. Isto porque esses bancos são feitos para acessos de dados aleatórios e em grand escala, como os bancos de dados do Google e Facebook por exemplo. Imagina quantos milhões de usuários tem o Facebook. Agora imagina que cada usuário esteja listado em uma tabela do mysql. Até você percorrer tudo pra chegar no id deste usuário, demoraria horrores. Então isso compõe um acesso aleatório. Esse acesso aleatório é você acessar os dados em qualquer posição. Por exemplo um comentário perdido em um post que você escreveu há um ano. Concorda comigo que esse comentário está lá no meio da grande massa de dados? Para buscá-lo em um sistema relacional levaria muito tempo.

 

É claro que cada registro tem um ID único que o identifica, mas a busca não é implementada como nos bancos relacionais. Para você ter uma comparação, um banco relacional seria como você buscar meu nome em um catálogo telefônico. Meu nome "Vinícius" começa com V. Dessa forma, você (computador) percorreria todos os nomes até chegar na letra V e encontrar o meu.

 

Outra coisa importante é que o banco relacional determina uma estrutura fixa de organização e manipulação dos dados. No mysql por exemplo você tem que determinar sua tabela antes de inserir dados. Isso não ocorre nos bancos não relacionais. Neles você tem total flexibilidade em relação aos seus dados e não existe um padrão FIXO de busca. Dessa forma, não existem SQL's e a busca se dá de acordo com o tipo de dado que você quer buscar e onde ele está.

 

Não sei se ficou claro, porque eu tô escrevendo rápido demais aqui. Mas qualquer dúvida, posta ae.

 

 

OBS.: eu utilizo MongoDB há muito tempo. É um ótimo banco de dados não-relacional.

Compartilhar este post


Link para o post
Compartilhar em outros sites

NoSQL = "Not only SQL"

 

O verbete sobre o assunto no wikipedia em inglês já esta bem completo. O em português não esta tão completo mas tb da pra ter uma boa idéia do que se trata:

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

 

Tem um artigo no iMasters muito bom sobre isso também:

http://imasters.com.br/artigo/17043/banco-de-dados/nosql-voce-realmente-sabe-do-que-estamos-falando

 

Ah sim... GIYF!

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza, entendi, muito interesante, vlw pela resposta :grin:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basicamente NoSQL eh bom para juntar coisas que tem atributos distintos no mesmo lugar.

Eh mto util pra fazer loja virtual, onde você consegue na mesma tabela juntar laptop (que tem tamanho de HD e tipo de processador) com livros (que tem assunto, autor e qtde de folhas). Alem disso ele faz mapreduce bem rapido, o custo disso eh q ele normalmente nao eh simples para se fazer junçao de informaçao(nao-relacional) resultando em um produto que eh otimo para pesquisas simples, mas eh ruim para compilaçao de informaçao.

 

Eu gosto bastante, e uso as vezes, mas eh bom ter em mente q ele tem seus objetivos, e nao eh uma marreta. Marretas nao servem pra nada, o q soluciona tudo nao eh bom em nada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.