Eu vi o NoSQL aparecer um pouco no SO e tenho um sólido entendimento de por que você o usaria (a partir daqui, Wikipedia, etc). Isso pode ser devido à falta de uma definição concreta e uniforme do que é (mais um paradigma do que uma implementação concreta), mas estou lutando para entender como faria para projetar um sistema que o usaria ou como Eu iria implementá-lo em meu sistema. Estou realmente preso a uma mentalidade de banco de dados relacional pensando nas coisas em termos de tabelas e junções ...
De qualquer forma, alguém sabe de um curso intensivo / tutorial sobre um sistema que o usaria (uma espécie de "hello world" para um sistema baseado em NoSQL) ou um tutorial que leva um aplicativo "Hello World" existente baseado em SQL? e o converte em NoSQL (não necessariamente em código, mas apenas uma explicação de alto nível).
Respostas:
Aqui está uma apresentação de slides decente apresentando o MongoDB. Eu acho que uma das grandes diferenças é que a maioria dos sistemas depende do Active Record ou alguma abstração de banco de dados semelhante.
Também encontrei um livro maravilhoso de orlys grátis no Couch DB aqui , que é muito bom.
fonte
Em sua forma mais básica, o NoSQL nada mais é do que uma maneira de armazenar objetos usando algum tipo de sistema de emparelhamento de chave / valor. Você já usa isso o tempo todo, eu suponho. Por exemplo. em javascript você pode criar um objeto chamado foo e então fazer
foo['myobj'] = myobj;
para armazenar coisas no objeto.Tudo o que os servidores NoSQL realmente fazem é fornecer uma maneira de adicionar / excluir / consultar matrizes massivas e ainda permitir persistência e tolerância a falhas. Você pode criar um servidor NoSQL em memória em cerca de 100 linhas de código.
Então vamos fazer assim ... no CouchDB você usa mapear / reduzir ... então vamos criar uma função de mapa que faça o mesmo que um pedaço de código SQL:
No CouchDB, você fornece ao servidor uma função JavaScript que é executada em cada item do banco de dados ...
Isso é tudo o que realmente importa ... fica muito mais complexo a partir daí na extremidade do servidor, já que o servidor tem que lidar com travamentos e várias revisões do mesmo objeto, mas este é apenas um exemplo.
fonte
Dê uma olhada neste vídeo da DNR TV, fazendo algumas experiências com o MongoDB . Pode ser bom para uma primeira introdução.
fonte
O site mongoDB fornece um ótimo tutorial de 10 etapas em uma forma de simulação de shell mongoDB online. leva 10 minutos para ser concluído e é uma ótima maneira de começar a usar o noSQL!
http://www.mongodb.org/ (clique em "experimente")
fonte
y_serial é escrito como um único módulo Python que é lido como um tutorial de trabalho e inclui muitas dicas e referências: http://yserial.sourceforge.net/
Isso leva a perspectiva de como persistir um objeto Python arbitrário (por exemplo, uma estrutura de dados de dicionário) de uma maneira "NoSQL" (não apenas SQL).
fonte
Existe um em Infoq Graph Databases, NOSQL e Neo4j
fonte
Se você gosta do Neo4j veja esta apresentação legal
fonte
Um excelente tutorial sobre CouchDB: http://net.tutsplus.com/tutorials/getting-started-with-couchdb/
fonte
Aqui estão meus recursos NoSQL:
Tutorial para iniciantes para nosql: http://www.tutorialindustry.com/nosql-tutorial-for-beginners
para MongoDB: http://www.tutorialindustry.com/mongodb-tutorial-for-beginners
para CouchDB: http://www.tutorialindustry.com/couchdb-tutorial-for-beginners
para Redis: http://www.tutorialindustry.com/redis-tutorial-for-beginners
fonte