Ir para conteúdo

Arquivado

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

vinicvo

Melhor banco de dados para rede social

Recommended Posts

Olá Pessoal...

Já faz algum tempo que eu trabalho com programação. Mais especificamente PHP e agora eu estou iniciando no Java (Java, não JavaScript, que é uma obrigação para o desenvolvimento na WEB). Eu tenho um novo projeto que se parece muito com uma rede social no que diz respeito às relações entre usuários, sistema de comentários, etc. E o número de usuários também é bem grande.

Contudo, eu trabalho apenas com modelo de banco de dados Relacional, e conheço suas limitações ao ponto de saber que esse modelo não é adequado ao meu projeto. Na verdade ele é um pouco "estático" para uma rede social. Dessa forma, gostaria que vocês me dessem sugestões de quais bancos de dados NoSql são mais adequados para o que eu quero fazer e os respectivos motivos.

 

OBS.: há muita interação entre os usuários e relações de amizade entre eles. (se isso vier ao caso)

 

Desde já, agradeço a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você já tem idéia de quantos acessos tem?

A questão não é milhares por segundo, mas milhões, você tem esta quantidade de acessos?

Você tem experiência com NoSQL?

 

Ao meu ver, você deve criar o sistema com as ferramentas que você conhece e já tem experiência, e depois de acordo com as necessidades da aplicação vá implementando o que for necessário. Sistema relacional ainda é um dos mais recomendado para redes sociais, devido, como você mesmo falou, às relações entre usuários.

 

Facebook por exemplo, usa em sua maior parte MySQL, NoSQL é usado apenas para as mensagens do chat e para o stream.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ótimo. Gostei da sua resposta. Eu estudei aqui e decidi fazer o mais pesado usando o Neo4J que é uma ótima solução. No mais, posso utilizar os bancos relacionais para muitas outras coisas.

Obrigado pela atenção!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hum, lembre-se que o Neo4J é um bd para gráficos, deve-se ser usado apenas para relações.

 

E sucesso nessa sua rede social, concorrente tem vários. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa calma ae ele usa MySQL mas não é na maior parte não ele salva a maioria dos dados para replicação no Cassandra que é um nosql criado por eles orientado a coluna perfeito para guardar inúmeros dados de um registro(pessoa).

 

Os melhores bancos para redes sociais para mim são cassandra, hadoop ou Neo4J que é um banco de grafos.

 

Você já tem idéia de quantos acessos tem?

A questão não é milhares por segundo, mas milhões, você tem esta quantidade de acessos?

Você tem experiência com NoSQL?

 

Ao meu ver, você deve criar o sistema com as ferramentas que você conhece e já tem experiência, e depois de acordo com as necessidades da aplicação vá implementando o que for necessário. Sistema relacional ainda é um dos mais recomendado para redes sociais, devido, como você mesmo falou, às relações entre usuários.

 

Facebook por exemplo, usa em sua maior parte MySQL, NoSQL é usado apenas para as mensagens do chat e para o stream.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa calma ae ele usa MySQL mas não é na maior parte não ele salva a maioria dos dados para replicação no Cassandra

 

 

Facebook abandonou o Cassandra em 2010. Ele usa agora HBase.

O único local que o facebook usa NoSQL é no Stream e no sistema de mensagens.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa estou desatualizado então, perdão =p

 

Mas você poderia passar as fontes disso, gostaria de ler mais sobre.

 

Facebook abandonou o Cassandra em 2010. Ele usa agora HBase.

O único local que o facebook usa NoSQL é no Stream e no sistema de mensagens.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então o que eu li é que eles mudaram a parte das mensagens para o HBase, mas não diz se abandonaram para todos os outros tipos de comunicação.

 

Ops, esqueci da fonte, afirmação sem fonte não tem valor algum. :lol:

 

Fonte :seta: http://www.facebook.com/notes/facebook-engineering/the-underlying-technology-of-messages/454991608919

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu trabalho apenas com modelo de banco de dados Relacional, e conheço suas limitações ao ponto de saber que esse modelo não é adequado

 

Sinceramente, gostaria de saber o motivo, alias, gostaria de te fazer uma pergunta, o MySQL ( Por Exemplo ) 1 milhão de registros "1.000.000" não é nada, agora, me responda, seu projeto virá a crescer tanto a ponto de não poder usar o MySQL ou PostGres .. ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim é Nosql também no qual o Hadoop o usa.

 

O HBase não é um NoSQL também?

 

A diferença desse 1 milhão de registros é se eles são inseridos no mesmo momento, o bom do nosql é que ele trabalha muito bem e muito veloz nesse quesito de inserção concorrente, fora replica e sharding.

 

Sinceramente, gostaria de saber o motivo, alias, gostaria de te fazer uma pergunta, o MySQL ( Por Exemplo ) 1 milhão de registros "1.000.000" não é nada, agora, me responda, seu projeto virá a crescer tanto a ponto de não poder usar o MySQL ou PostGres .. ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

para iniciar não precisa de uma estrutura enorme, a não ser que tenha planos e poder financeiro para tal e querer entrar no mercado para competir com os grandes.

 

Cada um escolhe o que for conveniente, mas minha opinião pessoal é que comece pequeno, devagar para e vai expandindo conforme a demanda. Se for empregar muita coisa agora, pode ser até que nem utilize.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é hinom, é o que eu venho tentando dizer, ele pode começar com o banco NoSQL ou até já deixar uma estrutura armada e uma estratégia para mudar a fonte de dados quando necessário, a unica coisa que eu acho é que seria um uso de recurso desnecessário no momento

 

:thumbsup:

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.