¿Qué tipo de bases de datos debo aprender para convertirme en desarrollador de backend?

Tendría algunos consejos, dependiendo del tipo de desarrollador que sea, dónde viva y qué tipo de programa desea hacer:

  • Si desea trabajar en empresas tecnológicas, especialmente en nuevas empresas tecnológicas, aprenda Linux y siéntase cómodo trabajando con la línea de comandos de Linux. Además de Microsoft, pocas compañías tecnológicas hacen mucho con los sistemas basados ​​en Windows.
  • Por otro lado, si está trabajando como un tipo de TI de back-office en una empresa no técnica, es más probable que encuentre sistemas basados ​​en Windows. (un aparte: el pago por operaciones y desarrolladores de db suele ser mayor en entornos Linux que en entornos Windows).
  • Si está buscando un entorno Linux, aprenda un sistema basado en SQL como PostgreSQL o MySQL. Ambos son buenos, aunque si tiene que aprender uno, MySQL es probablemente un buen comienzo.
  • En cuanto a los sistemas NoSQL, es extremadamente raro que se encuentre con un mundo de producción no trivial donde solo se utilizan sistemas NoSQL. Siempre habrá bases de datos SQL en algún lugar de la mezcla, así que no caiga en la exageración y piense que puede saltarse los sistemas SQL y de bases de datos relacionales porque NoSQL es la “ola del futuro”. (Sugerencia: no lo es, al menos no por sí solo …)
  • Cosas como bases de datos de gráficos se utilizan en entornos específicos de nicho, y puede aprenderlas si le interesan, pero no espere que mejoren en gran medida su “comerciabilidad”, especialmente si * no * conoce SQL.

Esta pregunta surge con frecuencia. Desde 2009 más o menos, un número creciente de bases de datos no relacionales se han puesto de moda.

Pero moda no es lo mismo que popular . Popular significa que mucha gente lo está usando. Moda significa que mucha gente está hablando de eso.

Incluso en 2016, las bases de datos NoSQL siguen representando una pequeña minoría de todos los proyectos de bases de datos de fondo.

tendencia histórica de la clasificación de popularidad de los sistemas de administración de bases de datos Muestra que las principales bases de datos son todas bases de datos SQL, por un margen muy amplio (tenga en cuenta que este gráfico es logarítmico).

Las bases de datos NoSQL están diseñadas para especializarse en un tipo muy específico de proyecto o carga de trabajo. Sin duda es una ventaja aprender sobre herramientas especializadas.

Pero las bases de datos SQL son aún mucho más versátiles para una variedad de proyectos. Si recién estás aprendiendo a ser un desarrollador de back-end, debes aprender SQL para que también seas versátil.

¿Tiene interés en la programación, el desarrollo de sitios web y el desarrollo de aplicaciones? Si es así, convertirse en desarrollador es un movimiento profesional que quizás desee investigar. Cuando se trata de desarrolladores, generalmente hay dos grupos para elegir: desarrolladores front-end y desarrolladores back-end. En esta publicación, veremos las diferencias de cada uno en términos de descripción, habilidades, lenguajes de programación y ganancias para ayudarlo en su decisión.

Desarrolladores front-end versus back-end

Si se pregunta cuál es la diferencia entre un desarrollador front-end y un desarrollador back-end, o está buscando una explicación que pueda dar fácilmente a sus amigos cuando le pregunten qué hace, aquí hay algunas maneras de describir el dos.

  • Piensa en tu cabeza. Su cara sería el front-end que interactúa con los demás utilizando la información de los ojos, los oídos y la nariz y produciendo salida a través de la boca. Su cerebro sería el back-end donde se almacena la información de sus ojos, oídos y nariz y desde donde se envía la información a la boca.
  • Piensa en tu casa. Cosas como el diseño de interiores, muebles, tejas, revestimiento, ventanas, puertas, etc. serían la parte delantera. El marco, el aislamiento, las vigas y los cimientos serían el back-end.
  • Piensa en tu auto. El motor, el sistema informático, el petróleo, el gas, las luces, etc. son parte del back-end. Todo lo demás es el front-end.

Como otros han mencionado, aprender una base de datos SQL es bueno si está buscando trabajo. También es una buena habilidad para aprender en general. Recomiendo Postgres. Es bastante estrictamente mejor que MySQL, y una vez que aprende SQL, no es demasiado difícil de cambiar.

Si está preguntando qué base de datos usar para un proyecto específico, las bases de datos NoSQL se especializan en diferentes cosas. Todos, en general, se escalan mejor de una forma u otra que las bases de datos SQL. Pero cada uno tiene fortalezas diferentes.

Mi sitio de comparación favorito es Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Couchbase vs Hypertable vs ElasticSearch vs Accumulo vs VoltDB vs Scalaris. Explica por qué usarías cada una de las diversas bases de datos.

Un punto importante que no menciona es la ventaja de PouchDB / CouchDB: CouchDB puede hacer la replicación maestro-maestro (peer-to-peer), y hay una implementación de JavaScript (PouchDB) que le permitirá sincronizar desde el servidor a un cliente web y realizar consultas sobre los datos del cliente.

Aparte de eso, alcanza todas las principales ventajas que conozco, al menos en una primera aproximación.

Debería comenzar con bases de datos relacionales. A pesar del interés en bases de datos no relacionales y gráficas, continúan manejando la gran mayoría de las cargas de trabajo. Por lo tanto, el conocimiento de SQL es imprescindible. Ramificarse a los demás una vez que tenga una sólida comprensión de las bases de datos relacionales no es tan difícil.