NoSQL

[quote=Rodrigo Sasaki]Kico, e quanto aos iniciantes?

Aposto que tem bastante gente acompanhando o tópico que não sabe nada de NoSQL além do significado da sigla (tipo eu :))

Você tem alguma dica de por onde começar? qual modelo é mais simples para aqueles que só conhecem o mundo relacional?[/quote]

O mongoDB me parece facil de aprender para um iniciante, eu tambem nao vi praticamente nada de NoSQL, apenas peguei um dia e fui dar uma olhada no MongoDB, no site deles tu vai fazendo um tuto ja rodando uns comandos e tals, é bem bacana, a instalação(default) dele tambem achei muito tranquilo, se me lembro bem, é só descompactar o arquivo e rodar um comando.

O Foursquare teve um problema sério com o MongoDB, não que a culpa tenha sido exatamente do MongoDB, aqui a matéria: http://www.infoq.com/news/2010/10/4square_mongodb_outage

Isto mostra que antes de sair adotando, é bom conhecer muito bem a ferramenta, mesmo os que conhecem podem enfrentar problemas, como foi o caso do 4square.

[quote=kicolobo]Sabe, esta discussão tava muito boa, e eu quero que volte a ser.
Será que da pra parar de avacalhar este negócio?[/quote]

Foi mal, Kico. Eu devia ter ficado na minha de início pra não dar corda.

[quote=Hebert Coelho][quote=JoseIgnacio]Porque será que certos usuários precisam transformar toda e qualquer discussão no GUJ em uma quebra de braço entre os debatores?
[/quote]Isso geralmente acontece quando pessoas não fornecem fontes ou não respondem perguntas né?! :lol: :lol: :lol: :lol: [/quote]

Acho que vc deve reler todo o tópico, até agora eu fui o único q forneci fontes por aqui…

[quote=Ataxexe]
Foi mal, Kico. Eu devia ter ficado na minha de início pra não dar corda.[/quote]

Pena que optou por sair pela tangente ao invés de contribuir com a discussão.

Mas continuando… alguém sabe de algum bancos nosql capaz de garantir ACID ?

Acho que esse livro aqui é uma boa para isso:
http://martinfowler.com/nosql.html

Estou pensando em adquirir em breve.
O autor costuma ser ponderado nas conclusões, o que tem sido cada vez mais raro na nossa área.[/quote]

Mais uma referência que eu havia dado no início…

Créditos??? :wink:

[quote=JoseIgnacio][quote=Ataxexe]
Foi mal, Kico. Eu devia ter ficado na minha de início pra não dar corda.[/quote]

Pena que optou por sair pela tangente ao invés de contribuir com a discussão.

Mas continuando… alguém sabe de algum bancos nosql capaz de garantir ACID ?[/quote]

Opá, pra variar, Datastore do App Engine… :wink:

https://developers.google.com/appengine/docs/python/datastore/transactions

Um link interessante:

http://www.oracle.com/technetwork/database/nosqldb/overview/nosql-transactions-497227.html

[quote=kicolobo]Oi André,

no caso, eu não citei o Datastore da App Engine porque no post estou dizendo minha vivência no assunto. Nunca trabalhei com ele, desculpa. :smiley:

[/quote]

Pô kico,

depois de tudo isso vc ainda não modificou aquele primeiro item da sua receita de bolo que diz q só o relacional tem suporte à transações.

Aí é vc q não quer dar o braço a torcer, não é mesmo? :wink:

um link clássico com uma “comparação” entre os bancos NoSQL:

http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis

[quote=Marcelo Tozzi]um link clássico com uma “comparação” entre os bancos NoSQL:

http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis[/quote]

Muito bacana!

Sabem o que eu observo? Muitas vezes o abuso do padrão relacional criou um tipo de programador que só conhece como estrutura de dados a tabela.
Vejo por aí uma galera que sequer sabe o que é uma lista, uma tabela de hash, nada.
Achei muito interessante uma conversa que vi outro dia em que um cara tava achando ultra cool uns “termos novos” que o pessoal usava na documentação do Redis. Sabem o que era? Notação O. :slight_smile:
Vocês tem esta impressão também?

[quote=kicolobo]
Muito bacana!

Sabem o que eu observo? Muitas vezes o abuso do padrão relacional criou um tipo de programador que só conhece como estrutura de dados a tabela.
Vejo por aí uma galera que sequer sabe o que é uma lista, uma tabela de hash, nada.
Achei muito interessante uma conversa que vi outro dia em que um cara tava achando ultra cool uns “termos novos” que o pessoal usava na documentação do Redis. Sabem o que era? Notação O. :slight_smile:
Vocês tem esta impressão também?[/quote]

Até onde sei esse profissional se chama DBA e é muito bem remunerado.

A menos que esteja falando de criar seu próprio BD, não vejo porque alguém precisa conhecer estruturas de dados exóticas ou notação O pra ser um bom programador.

[quote=andre_salvati]
Opá, pra variar, Datastore do App Engine… :wink:

https://developers.google.com/appengine/docs/python/datastore/transactions[/quote]

[quote=Ataxexe]

http://www.oracle.com/technetwork/database/nosqldb/overview/nosql-transactions-497227.html[/quote]

Hm… alguma alternativa opensource?

[quote=kicolobo][quote=Marcelo Tozzi]um link clássico com uma “comparação” entre os bancos NoSQL:

http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis[/quote]

Muito bacana!

Sabem o que eu observo? Muitas vezes o abuso do padrão relacional criou um tipo de programador que só conhece como estrutura de dados a tabela.
Vejo por aí uma galera que sequer sabe o que é uma lista, uma tabela de hash, nada.
Achei muito interessante uma conversa que vi outro dia em que um cara tava achando ultra cool uns “termos novos” que o pessoal usava na documentação do Redis. Sabem o que era? Notação O. :slight_smile:
Vocês tem esta impressão também?[/quote]

Mas aí entra nessa sacola também aquela galera orientada a RAD e framework. Justamente porque a maioria dos RAD’s e frameworks são construídos para trabalharem com bancos relacionais.

Não sei, acho que bons DBA’s tem que pelo menos saber ler um plano de execução e tunar queries. Para fazer isso ele precisa saber pelo menos a diferença entre uma busca linear e uma busca por hash, que em outras palavras é a diferença entre um algoritmo O(n) e O(1). Enfim, tem que conhecer pelo menos o básico de notação O.

[quote=rmendes08]
Não sei, acho que bons DBA’s tem que pelo menos saber ler um plano de execução e tunar queries. Para fazer isso ele precisa saber pelo menos a diferença entre uma busca linear e uma busca por hash, que em outras palavras é a diferença entre um algoritmo O(n) e O(1). Enfim, tem que conhecer pelo menos o básico de notação O.[/quote]

Se seu negócio for otimização de algoritmos/queries, sem dúvida. Mas não acho que seja ESSENCIAL para um programador/DBA normal.