NoSQL e PHP

09/03/2016

2

Sobre o banco de dados NoSQL em conjunto com PHP, o que vocês sugerem, acham, é um bom banco de dados ou é melhor utilizar um banco de dados tradicional mesmo?
Responder

Post mais votado

12/03/2016

Vou ressaltar que é impossível tratar de um assunto desta complexidade em um post de fórum, pois o que estou postando é um visão simplista e resumida de algo que é vasto e pode ser interpretado de diversas formas.

Então vou tentar resumir, mas claro que é assunto para muita discussão.

NoSQL é algo novo é que ainda esta em desenvolvimento e esta sempre mudando, então ACID não contradiz ou nega o conceito de NoSQL. Alguns bancos aceitam: FoundationDB, OrientDB e a maioria dos bancos de dados orientados para o gráfico, por design são ACID.

Outros não.

Se ficar no nível do documento, ou seja, nos limites de agregação, você não precisa de qualquer transação. O que não é aconselhável é tentar usar o paradigma do NoSQL pensando no paradigma de banco relacional.

Não quero ser chato mas se quer mesmo entender a fundo o assunto sugiro começar a ler os artigos disponíveis, pois tem muito material de boa qualidade.
Responder

Mais Posts

09/03/2016

Jothaz

O NoSQL é um ótimo banco de dados, mas vai depender do seu cenário, então fica complicado sugerir algo sem um detalhamento maior.

Você tem experiência no uso do bancos de dados NoSQL ou OO?

Qual o seu nível de experiência em desenvolvimento?

O porque você cogitou o uso do NoSQL?

Você tem experiência no uso de JSON?
Responder

09/03/2016

Gabriel Farias

Tenho um pouco de conhecimento O.O, mas nada que garanta que vá programar nesse paradigma, básico, NoSQL, nada, estou curioso nesse momento, apenas li artigos introdutórios.

Qual o seu nível de experiência em desenvolvimento?


Básico, nivel de aprendizado.

O porque você cogitou o uso do NoSQL?


Curiosidade, vontade de aprender.

Você tem experiência no uso de JSON?


Nenhuma. rsrsrs.
Responder

09/03/2016

Jothaz

Com forma de aprendizado é interessante, só que você terá uma curva de aprendizado, pois não se trada de um assunto trivial. E normalmente é indicado para cenários específicos, pois usar bancos relacionais é bem mais simples na maioria dos casos.

Acho que o primeiro passo é estudar e conhecer mais profundamente o NoSQL.

Depois estudar JSON, pois ajuda muito em determinados casos.

Fica muito difícil sugerir mais alguma coisa sem um cenário definido.

Comece instalando, estudando e vá postando suas dúvidas.

No mais boa sorte e bons estudos.
Responder

09/03/2016

Gabriel Farias

Quando citou o JSON pensei que fosse um tipo de pré requisito para o NoSQL.
Responder
banco de dados NoSQL serve mais para alguns tipos de sistema? Me falaram que é bastante utilizado em redes sociais.
Responder

10/03/2016

Gabriel Farias

banco de dados NoSQL serve mais para alguns tipos de sistema? Me falaram que é bastante utilizado em redes sociais.


Apenas sei isso tambem, bem por cima.
Responder

10/03/2016

Jothaz

Este assunto já foi abordado aqui em outro post. Eu sinceramente não tenho saco para usar a pesquisa do fórum, mas para quem tem disposição vai achar um post com muitas
informações.

É praticamente impossível abordar um assunto tão complexo em um post de fórum, mas tentarei resumir.

O termo NoSQL descreve uma família de bancos de dados que tem em comum não serem relacionais, mas podendo variar em vários pontos entre si.

Esta variação é quanto a forma de armazenar as informações (dados) que resumidamente seria:

Grafos: Usa a forma de grafo baseado em vértices e arestas e temos como exemplo Sesame.
Colunas: Usa dados em linhas particulares de tabela e temos como exemplo Cassandra.
Chave-Valor: Usa dados no padrão chave-valor (hash) e temos como exemplo MemcacheD.
Documento: Usa documentos como dados, assim um documento pode ser um dado aninhado em formato chave-valor(padrão JSON) temos como exemplo MongoDB.

A proposta seria prover escalabilidade, disponibilidade, baixo custo operacional, flexibilidades, segurança e eficiência para volumes maciços de dados, por exemplo rede sociais. Mas poderia ser usado para armazenar informações de controle de trafego aéreo, dados climáticos ou qualquer outro tipo de sistema.

Para mais informações sugiro recorrer a uma pesquisa na web onde será encontrado farto material.
Responder

10/03/2016

Gabriel Farias

Antes de perguntar eu tento fazer as pesquisas, mas na maioria sem sucesso, mas te agradeço pela resposta!
Responder

11/03/2016

Gabriel Farias

Me desculpa, voltando aqui com mais perguntas:

A proposta seria prover escalabilidade, disponibilidade, baixo custo operacional, flexibilidades, segurança e eficiência para volumes maciços de dados, por exemplo rede sociais. Mas poderia ser usado para armazenar informações de controle de trafego aéreo, dados climáticos ou qualquer outro tipo de sistema.

Para mais informações sugiro recorrer a uma pesquisa na web onde será encontrado farto material.


Os bancos NoSQL possuem o conceito de ACID dos banco tradicionais?
Responder

12/03/2016

Gabriel Farias

Alguem sabe?
Responder

13/03/2016

Gabriel Farias

Você deu um pontapé inicial pra mim, com a sua resposta posso pesquisar.
Responder
Jothaz, pelo que li todos "aceitam" a ACID, mas foi bem por cima a leitura e não lembro a fonte.
Responder

13/03/2016

Gabriel Farias

Você deu um pontapé inicial pra mim, com a sua resposta posso pesquisar.
Responder

14/03/2016

Jothaz

Jothaz, pelo que li todos "aceitam" a ACID, mas foi bem por cima a leitura e não lembro a fonte.


Como eu disse é um assunto que esta em desenvolvimento e ocorre mudanças a todo instante. E existem literalmente dezenas de bancos NoSQL.

Por exemplo o Sqlite não impõe integridade referencial, mas pode acontecer de que na próxima versão imponha. O MySQL mesmo até alguns anos atrás não impunha integridade referencial e hoje já faz isto.

Trabalhei com o MongoDB as uns 6 meses atrás e o "conceito ACID" não estava disponível, mas sei lá pode ser que foi lançada um nova versão.

Como ressaltei dependendo de como é abordado a gravação dos dados não é necessário ACID.

Correndo o risco de ser repetitivo, se quer mesmo usufruir de tudo o que os bancos NoSQL oferecem, você deve se livrar dos conceitos dos bancos dadas relacionais. Acontece muito com o desenvolvimento OO, pois muitas das vezes desenvolve-se OO mas pensando procedural.

Por gentileza compartilhe os links onde a informação de que todos os bancos NoSQL "aceitam" ACID, pois só vai enriquecer o post.
Responder
Quem desenvolve ou quem cuida de banco de dados faz questão que tenha o ACID.
Responder