Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

¿SQL o NoSQL?

16 de febrero de 2016

En los años de experiencia que tengo en el mundo de la informática, nací y crecí usando bases de datos relacionales, SQLServer, PostgreSQL y la que más uso MySQL. Ahora he visto el crecimiento de las bases de datos NoSQL y la que tengo presente es MongoDB.

Hasta el día de hoy no concibo una base de datos sin las famosas relaciones pero como estamos en un mundo cambiante, no quiero quedar de últimas en la fila y por eso he decidido incursionar en el mundo de las bases de datos no relacionales. Pero mi pregunta puntual es: ¿cuándo debo usarlas? y ¿cuándo no?

Voy a iniciar un proyecto para un colegio, y allí se requiere tener datos de estudiantes, de cursos, de profesores, de materias, de horarios y muchas otras variables.

Mi cabeza ya está acostumbrada a las relaciones y me imagino un profesor tiene varios cursos, un curso tiene varios estudiantes, un estudiante tiene varias materias y así, para este caso en particular, ¿cuál sería la mejor forma de trabajarlo, con MongoDB o con MySQL?

Les agradecería la ayuda que puedan darme sobre este tema, realmente quiero meterme con MongoDB pero no se si este proyecto que les comento se pueda hacer con MongoDB.

Gracias


Respuestas

#1

Para algo no demasiado complejo como lo que dices creo que valdrían cualquiera de las dos formas. La cosa puede cambiar cuando existen relaciones más complejas. Te recomiendo este post de Sarah Mei en el que analiza una mala experiencia con MongoDB

@diegotham

16 febrero 2016, 22:38
#2

Ufff.... con la lectura que propuso @diegotham muchas cosas me quedaron claras, creo que es un muy buen articulo escrito por Sarah Mei.

Creo que soy una de las personas que aún no logro percibir un mundo sin relaciones, jejeje... Creo que me falta abrir mi mente para lograr entender como funciona el mundo NoSQL, mientras seguiré usando Bases de datos relacionales.

Saludos.

@SebaRiquelmeP

17 febrero 2016, 1:00
#3

@miguelplazasr creo que la pregunta "SQL o NoSQL" no tiene respuesta y habría que mirar caso por caso. De hecho, mi pequeño consejo para la aplicación que comentas sería precisamente usar SQL. ¿Por qué? Porque es algo que dominas y la aplicación a realizar parece muy bien definida y con unas relaciones poco cambiantes.

Mejor probar NoSQL en algún "side project" que tengas por ahí antes de usarlo en una aplicación de verdad.

@javiereguiluz

17 febrero 2016, 8:56
#4

Gracias por sus comentarios. Seguiré el consejo de @javiereguiluz. Creo que voy a profundizar más en NoSQL antes de meterme con un proyecto.

Saludos.

@miguelplazasr

18 febrero 2016, 21:27
#5

@miguelplazasr sigue el consejo de @javiereguiluz. La cuestión no es ir saltando de lado en lado sin dominar algo. No tengas miedo en creer que estás quedando atrás. Es preferible sacar un buen proyecto (con tecnologías viejas) a un proyecto novedoso con muchos problemas...

Mi experiencia cuando quiero aprender algo. Uso lo que domino y entrego. Si tengo algún tiempo trato de hacer un producto mínimo viable, parecido. Ahí ya no tengo compromisos con nadie ni nada. Esto te va a costar un poco más de tiempo de descanso :D... Así, cuando llegue el nuevo proyecto ya sabrás si eso "novedoso" te va a servir...

Saludos...

@cristian_angulo

19 febrero 2016, 14:55