He visto NoSQL aparecer bastante en SO y tengo una sólida comprensión de por qué lo usaría (desde aquí, Wikipedia, etc.). Esto podría deberse a la falta de una definición concreta y uniforme de lo que es (más un paradigma que una implementación concreta), pero estoy luchando para entender cómo diseñaría un sistema que lo usaría o cómo Lo implementaría en mi sistema. Estoy realmente atrapado en una mentalidad de base de datos relacional pensando en las cosas en términos de tablas y combinaciones ...
En cualquier caso, ¿alguien sabe de un curso intensivo / tutorial sobre un sistema que lo usaría (una especie de "hola mundo" para un sistema basado en NoSQL) o un tutorial que toma una aplicación "Hola mundo" existente basada en SQL? y lo convierte a NoSQL (no necesariamente en código, sino solo una explicación de alto nivel).
Respuestas:
Aquí hay una presentación de diapositivas decente que presenta MongoDB. Creo que algunas de las grandes diferencias es que la mayoría de los sistemas se basan en Active Record o alguna abstracción de base de datos similar.
También encontré un maravilloso libro gratuito de orlys sobre Couch DB aquí , que es bastante impresionante.
fuente
En su forma más básica, NoSQL no es más que una forma de almacenar objetos usando algún tipo de sistema de emparejamiento clave / valor. Usas esto todo el tiempo, supongo. Por ejemplo. en javascript puede crear un objeto llamado foo y luego hacer
foo['myobj'] = myobj;
para almacenar cosas en el objeto.Todo lo que los servidores NoSQL realmente hacen es brindarle una forma de agregar / eliminar / consultar matrices masivas y aún permitir la persistencia y la tolerancia a fallas. Puede crear un servidor NoSQL en memoria en aproximadamente 100 líneas de código.
Así que hagámoslo de esta manera ... en CouchDB usa map / reduce ... así que creemos una función de mapa que haga lo mismo que un poco de código SQL:
En CouchDB le proporciona al servidor una función de JavaScript que se ejecuta en cada elemento de la base de datos ...
Eso es todo lo que hay que hacer ... se vuelve mucho más complejo a partir de ahí en el extremo del servidor, ya que el servidor tiene que manejar fallas y múltiples revisiones del mismo objeto, pero esto es solo un ejemplo.
fuente
Eche un vistazo a este video de DNR TV, haciendo algunas prácticas con MongoDB . Podría ser bueno para una primera presentación.
fuente
El sitio web de mongoDB proporciona un excelente tutorial de 10 pasos en forma de simulación de shell mongoDB en línea. se tarda 10 minutos en completar y es una excelente manera de comenzar con noSQL.
http://www.mongodb.org/ (haga clic en "pruébelo")
fuente
y_serial está escrito como un único módulo de Python que se lee como un tutorial funcional e incluye muchos consejos y referencias: http://yserial.sourceforge.net/
Esto toma la perspectiva de cómo conservar un objeto Python arbitrario (por ejemplo, una estructura de datos de diccionario) en una forma "NoSQL" (no solo SQL).
fuente
Hay uno sobre bases de datos de Infoq Graph, NOSQL y Neo4j
fuente
Si te gusta Neo4j mira esta genial presentación
fuente
Un excelente tutorial sobre CouchDB: http://net.tutsplus.com/tutorials/getting-started-with-couchdb/
fuente
Aquí están mis recursos NoSQL:
Tutorial para principiantes 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
fuente