¿Debo aprender SQL o NoSQL? MySQL o MongoDB? ¿Y por qué?

Esta búsqueda de Google Trends debería darle una idea de qué tecnología seguirá siendo popular durante otro tiempo:

Tendencias de Google – sql, nosql


Ahora, esto no significa que NoSQL no sea bueno o que en algunas áreas sea algo popular. Pero es una tecnología de nicho que resuelve problemas de nicho, mientras que SQL es LA tecnología de acceso y manipulación de datos.

Por lo tanto, debe aprender SQL primero, y después, por ejemplo 5 años más o menos, cuando se encuentre con una de las partes difíciles de SQL (por ejemplo, datos jerárquicos), aún puede probar una de las bases de datos de nicho, como Neo4j o algún otro gráfico base de datos: porque con algo de experiencia, puede tomar la decisión correcta.

En el caso de MongoDB, no hay ninguna razón para aprender eso primero, ya que bastantes RDBMS ya cubren el conjunto de características de MongoDB (por ejemplo, PostgreSQL) de una manera más unificada, sin dejar de darle acceso a la genialidad de SQL.

Si va a tener una carrera en administración de datos, querrá aprender SQL; después de todo, incluso muchos motores de base de datos “NoSQL” tienen lenguajes de consulta tipo SQL. Y la gran mayoría de los entornos NoSQL usan motores SQL para algo u otro en su infraestructura (generalmente agregación e informes).

No se puede “aprender NoSQL”, ya que los motores NoSQL son bastante diferentes entre sí. No hay nada en el camino de un “estándar NoSQL”, y sus modelos de datos y casos de uso óptimos pueden ser bastante diferentes. Dicho esto, sería útil aprender sobre bases de datos de documentos y las fortalezas y debilidades de los modelos de datos de pares de nombre-valor, ya que la mayoría de los sistemas NoSQL son uno u otro, o a veces ambos.

Por lo tanto, voy a ir con algo como “aprender ambos, pero si tiene que aprender uno primero, vaya primero con SQL”. Si está utilizando MongoDB activamente, continúe, pero aprenda SQL (y posiblemente MySQL) rápidamente.

Aprender ambos definitivamente generará las mayores ventajas, especialmente dada la tendencia creciente de los enfoques de bases de datos híbridas. MongoDB cita algunos de ellos aquí: Implementaciones híbridas con MongoDB y MySQL: 3 ejemplos

La compañía para la que trabajo ha creado una de las GUI MongoDB más populares (entonces llamada MongoChef), que ahora se ha convertido en un IDE MongoDB completo. Y, sin embargo, la mayoría de nuestros usuarios (alrededor del 80%) todavía usan un servidor SQL en su trabajo diario. Eso pinta una imagen bastante clara de la “coexistencia de la base de datos”.

Según nuestra experiencia, la mayoría de las personas que han dado el salto a MongoDB tienen conocimiento de SQL. Por lo tanto, hemos facilitado a los usuarios / expertos de SQL entender el lenguaje de consulta de MongoDB a través de características como SQL Query, que le permite escribir SQL para consultar MongoDB (consulte: Cómo consultar MongoDB con SQL | Studio 3T (anteriormente MongoChef ) – El IDE para MongoDB).

En pocas palabras: solo se beneficiará saber ambos, y en caso de que esté pasando de SQL a NoSQL (en este caso, MongoDB), existen herramientas que pueden ayudarlo a facilitar su transición.

Descargo de responsabilidad : trabajo para 3T Software Labs, los creadores de Studio 3T.

Comenzaría aprendiendo los conceptos detrás de los sistemas de bases de datos como: álgebra relacional, btrees, motores de consulta, ACID, teorema CAP, confirmación en dos fases, etc.

Luego haga un ejercicio de decir que la mayoría de los dbs SQL tienden a hacer “esto” y que los dbs NoSql tienden a hacer “esto”.

Es una pena que los cursos de db no aborden esto en absoluto o lo hagan mal.

Considero que SQL es una habilidad básica, ya que sigue siendo el lenguaje principal utilizado para manipular datos. Hay una gran cantidad de recursos en línea de los que puede aprender. Si es programador o desarrollador, noSQL será una transición fácil, por ejemplo, JavaScript junto con JSON se pueden usar con MongoDb. No creo que sea una opción o una opción. Honestamente, puede hacer ambas cosas, si su rol actual tiene una necesidad, ciertamente abordaría eso primero.

Deberías aprenderlos todos. Pero como dijo Srikant, comience con SQL. Después de todo, es el lenguaje de consulta común para todas las bases de datos relacionales, y la noción de una base de datos relacional fue un gran avance sobre lo que sucedió antes.

Por lo tanto, no debería sorprendernos que pueda comprender NoSQL mejor después de comprender SQL.

Generalmente SQL es el lenguaje de consulta de base de datos más común del mundo
Espero que la mayoría de los desarrolladores lo sepan.

¡No pienses en nadie! aprender ambos, SQL y NoSQL (no solo SQL)
Mi preferencia es primero aprender SQL y luego comenzar a aprender NoSQL como MongoDB

Sugeriría aprender SQL primero y luego NoSql. SQL proporciona las bases para comprender los conceptos de NoSql. Sin SQL, es posible que no entienda o le resulte difícil entender NoSql.

Aprende ambos. Ambos tienen su lugar en la tecnología, y conocer la diferencia y cuándo usar uno versus el otro lo ayudará a adaptarse más rápidamente a los nuevos problemas.