J'ai vu NoSQL apparaître assez souvent sur SO et j'ai une solide compréhension de pourquoi vous l'utiliseriez (à partir d'ici, Wikipedia, etc.). Cela pourrait être dû au manque de définition concrète et uniforme de ce qu’il est (plus d’un paradigme que d’une mise en œuvre concrète), mais j’ai du mal à comprendre ce que je ferais pour concevoir un système qui l’utiliserait ou comment je le ferais. Je suis vraiment coincé dans un état d'esprit relationnel-db pensant aux choses en termes de tables et de jointures ...
Quoi qu'il en soit, est-ce que quelqu'un connaît un cours intensif/tutoriel sur un système qui l'utiliserait (genre de "hello world" pour un système basé sur NoSQL) ou un tutoriel prenant une application "Hello World" existante basée sur SQL et le convertit en NoSQL (pas nécessairement en code, mais juste une explication de haut niveau).
Voici un diaporama correct présentant MongoDB. Je pense que la grande différence entre les systèmes réside dans le fait que la plupart des systèmes reposent sur Active Record ou sur une abstraction de base de données similaire.
Aussi j’ai trouvé un merveilleux livre orlys gratuit sur Couch DB ici , ce qui est vraiment génial.
Dans sa forme la plus élémentaire, NoSQL n’est en réalité qu’un moyen de stocker des objets en utilisant une sorte de système de couplage clé/valeur. Vous utilisez déjà tout le temps déjà, je suppose. Par exemple. en javascript, vous pouvez créer un objet nommé foo puis faire foo['myobj'] = myobj;
pour stocker des éléments dans l'objet.
Tout ce que font réellement les serveurs NoSQL, c’est vous donner le moyen d’ajouter/supprimer/interroger des baies de disques volumineuses tout en permettant la persistance et la tolérance aux pannes. Vous pouvez créer un serveur NoSQL dans la mémoire en environ 100 lignes de code.
Faisons-le ainsi: dans CouchDB, vous utilisez mappage/réduction ... nous allons donc créer une fonction de mappage identique à un peu de code SQL:
SELECT * FROM users WHERE age > 10
Dans CouchDB, vous fournissez au serveur une fonction JavaScript qui s'exécute sur chaque élément de la base de données ...
function (doc)
{
if (doc.objType == "users") {
if (doc.age > 10) {
emit(doc._id, null)
}
}
}
C’est tout ce qu’il ya vraiment à faire… le serveur devient beaucoup plus complexe, car le serveur doit gérer les pannes et de multiples révisions du même objet, mais ce n’est qu’un exemple.
le site Web mongoDB fournit un excellent didacticiel en 10 étapes sous forme de simulation en ligne de shell mongoDB. cela prend 10 minutes et c'est un très bon moyen de commencer avec noSQL!
http://www.mongodb.org/ (cliquez sur "essayez-le")
y_serial est écrit sous la forme d'un module Python) qui se lit comme un didacticiel et comporte de nombreux conseils et références: http://yserial.sourceforge.net/
Cela prend la perspective de la persistance d’un objet Python) arbitraire (par exemple, une structure de données de dictionnaire) de manière "NoSQL" (pas uniquement SQL).
Il y en a une sur Infoq bases de données graphiques, NOSQL et Neo4j
Un excellent tutoriel sur CouchDB: http://net.tutsplus.com/tutorials/getting-started-with-couchdb/
Si vous aimez Neo4j voyez ce cool présentation
Voici mes ressources NoSQL:
Tutoriel pour débutants pour nosql: http://www.tutorialindustry.com/nosql-tutorial-for-beginners
pour MongoDB: http://www.tutorialindustry.com/mongodb-tutorial-for-beginners
pour CouchDB: http://www.tutorialindustry.com/couchdb-tutorial-for-beginners
pour Redis: http://www.tutorialindustry.com/redis-tutorial-for-beginners