Empezar con MongoDB
En estos momentos me encuentro enfrentándome a un problema en el que tengo que persistir una cantidad de datos realmente grande, con diferentes fuentes de esos datos, en cada fuente los datos pueden ser "de su padre y de su madre", el sistema debe escalar lo más fácilmente posible y se deben poder hacer búsquedas por diferentes criterios.
Una vez puestos en contexto a grandes rasgos, os diré que vi que posiblemente la mejor opción para resolver el problema era utilizar una base de datos orientada a documento, un tipo de base de datos de las llamadas NoSQL.
Tras andar estudiando CouchDB y MongoDB, me decanté por la segunda. ¿Por qué?: La principal razón porque MongoDB, además de MapReduce, permite lanzar consultas dinámicas al estilo relacional. En la misma web de MongoDB hay una comparativa muy interesante de diferencias y similitudes con CouchDB.
En fin, que he ido recopilando algunas lecturas que me han resultado interesantes para romper el hielo(eso sí, principalmente para trabajar con Java):
- Tutorial: MongoDB in Java
- Learning Mongodb y Still learning MongoDB
- Java Tutorial - MongoDB (del driver oficial)
- MongoDB: A NoSQL datastore with (all the right) RDBMS moves
- MongoDB made more Groovy
Tengo que decir también que hay un par de plugins para Grails, pero por ahora he pasado de ellos. No he visto que aporten mucho más que un mapeo objeto-documento para las clases de dominio, y eso haría que perdiese esa flexibilidad que necesito.
En fin, trataré ir contando algo de como van mis progresos :)