Completando mi nivel A de Computación en 2003 y obteniendo un título en Computación en 2007, y aprendiendo mi oficio en una empresa con mucho uso de SQL, se me ocurrió la idea de que las Bases de Datos Relacionales se usaran para el almacenamiento.
Entonces, a pesar de ser relativamente nuevo en el desarrollo, me sorprendió leer un comentario (en /software//q/89994/12436 ) que decía:
[Algunos desarrolladores] desprecian [SQL] y piensan que él y RDBMS son una moda
Obviamente, un desarrollador competente utilizará la herramienta adecuada para el trabajo correcto y no creará una base de datos relacional cuando, por ejemplo, un archivo plano u otra solución para el almacenamiento sea apropiado, pero los RDBM son útiles en una gran cantidad de circunstancias, entonces, ¿cómo podrían ser? considerado una moda pasajera?
Respuestas:
La clave está en la R en el RDBMS, que significa relacional. Contrariamente a la creencia popular, no significa relaciones entre tablas, sino el hecho de que cada tabla es una relación en el sentido matemático de la palabra .
El modelo relacional tiene implicaciones bastante significativas. Debe modelar sus datos para ajustar las relaciones y normalizar ese modelo . Si su aplicación está diseñada como modelo orientado a objetos, el modelo relacional no es un buen ajuste. Esto es ampliamente conocido como desajuste de impedancia relacional de objeto .
Un enfoque para este desajuste son los ORM (mapeadores de relaciones de objeto), que han ganado mucha popularidad. Pero no son la verdadera solución, son más como solucionar el problema. Todavía no resuelven realmente el problema de asignar la herencia de clases al modelo relacional.
La verdadera solución al desajuste relacional de objetos son los OODBMS , que desafortunadamente no obtuvieron mucha tracción. El motor popular que admite OOBD de forma nativa es PostgreSQL, que es OO / RDBMS híbrido. Otro OODBMS es Zope Object DB , que está construido en Python y en la configuración típica usa RDBMS como motor subyacente.
El enfoque alternativo es tener más lógica implementada en el nivel de aplicación o middleware y usar la solución NoSQL para el almacenamiento subyacente.
Ni OODBMS ni NoSQL son "solo un archivo plano".
fuente
Hice la declaración que citó en la pregunta anterior. Si desea una cita para verificar mi suposición sobre los desarrolladores en este sitio, lea mi respuesta a la siguiente pregunta y revise la reacción violenta de los comentarios y votos negativos que recibí por lo que todavía considero una respuesta aceptable.
¿Deben los programadores experimentados conocer las consultas de bases de datos?
Afirmé que si se usa una base de datos RDBMS a pesar de Linq o un ORM, un desarrollador debe tener un conocimiento avanzado de SQL.
Parece que esta fue una afirmación muy impopular debido a diferencias de opinión respetables sobre la importancia de SQL, a la mentalidad menos respetable de que RDBMS es inherentemente inferior a las bases de datos NoSQL como MongoDB.
EDITAR: para agregar más a mi reclamo, citaré al usuario SK-logic:
fuente
moda :
Los RDBMS han existido durante siglos (al menos en términos de CS), por lo que quien dijo eso tenía la intención de decir algo más o no tiene idea.
fuente
La alternativa a RDBMS no es solo un archivo plano. Cuando estaba en la escuela, OODBMS era lo nuevo y mi profesor tenía razón cuando lo calificó como una moda pasajera. Debes echar un vistazo a los diferentes modelos y observar las tendencias. He visto una creciente dependencia de OLAP y estaría dispuesto a apostar a que un nuevo sistema multidimensional que puede procesar datos más rápido está a la vuelta de la esquina.
fuente
El problema es que muchos desarrolladores equiparan erróneamente RDBMS con SQL. SQL es un lenguaje realmente horrible para los estándares modernos. Es una implementación defectuosa e incompleta de un lenguaje "relacional" (SQL no es realmente relacional en absoluto y eso es parte del problema) que no ha evolucionado mucho en los últimos 30 años. Muchas personas que usan SQL apenas entienden el modelo relacional; todo lo que saben es SQL y, por lo tanto, suponen que el modelo relacional es la causa de su frustración.
fuente
Sin contexto, es difícil determinar quién / por qué la afirmación de que los RDBM se consideran una moda pasajera.
En el corto a mediano plazo (5-10 años) y creo que incluso más tiempo eso no va a desaparecer. Un RDBM proporciona un método eficiente y efectivo para almacenar, procesar y recuperar datos relacionales, que es lo que la mayoría de las empresas tienen: clientes / pedidos, pasajeros / boletos, etc.
Existen otras alternativas, como NoSQL, que parecen estar creciendo en popularidad con el proyecto de código abierto.
Como OLAP, estas son bases de datos especializadas (en mi opinión) diseñadas para permitir que una empresa brinde información estadística oportuna y útil sobre una empresa y ejecute escenarios de "qué pasaría si" en los datos actuales. Por supuesto, en casi todos los casos, estos datos actuales provienen de un RDMB y fueron manipulados y luego insertados en la base de datos OLAP.
fuente
Las bases de datos relacionales son una moda en el mismo sentido que la microcomputación es una moda.
fuente
La respuesta simple es no. RDBMS no es una moda pasajera. Cuando lea algo en un sitio web para LinqPad, tenga en cuenta que su propósito es vender licencias para su producto.
fuente
La moda no es la palabra correcta, ya que han estado durante mucho, mucho tiempo. Creo que podría comenzar a argumentar que la tecnología es muy antigua y que podría ser el momento de proponer lo siguiente: quizás las arquitecturas NoSQL
fuente
El Wiki Def. de Fad , define el término "moda" de la siguiente manera: Una moda es cualquier forma de comportamiento que se desarrolla entre una gran población y se sigue colectivamente con entusiasmo durante un período, generalmente como resultado de que el comportamiento se percibe como novedoso de alguna manera. Se dice que una moda se "pone de moda" cuando el número de personas que la adoptan comienza a aumentar rápidamente. El comportamiento normalmente se desvanecerá rápidamente una vez que desaparezca la percepción de novedad.
Dado que los seguidores de RDBMS no se desvanecieron rápidamente, y no está a punto de desaparecer en los próximos años (gracias a la gran cantidad de aplicaciones de producción que lo usan), no podemos decir que sea una moda. De hecho, los conceptos centrales de RDBMS se mantuvieron bastante estables donde muchas de las otras tecnologías cambiaron (y aún están cambiando) dramáticamente.
El concepto de RDBMS (y su vehículo principal, SQL) representa un paso en la tecnología que, como muchos otros, puede ser reemplazado por otros mejores, eso es todo.
fuente