El gran debate

In the 1970s, Ted Codd's relational model defeated Charlie Bachman's network database system. IBM's System R and SQL proved the relational approach worked in practice, while CODASYL's rigid physical-logical dependencies couldn't compete. By 1984, the network model was gone from IBM's market.
Chapters
Si te dijéramos ahora mismo que pensases en el Gran Debate como concepto, ¿qué se te vendría a la cabeza? Seguro que no serían pocas las respuestas que nos conducirían a hablar de la película de 2007 dirigida y protagonizada por Denzel Washington. O puede que esta película ni siquiera esté entre tus pensamientos y tu mente se haya ido a esas reuniones donde los políticos aparecen en televisión y montan un circus. O quién sabe, a lo mejor hasta estás pensando en la obra de Yuval Levin llamada El Gran Debate. Si estás pensando en cualquiera de estas cosas, o si ninguna te ha venido a la mente, vamos a olvidarlas de inmediato porque hoy venimos a hablar de otro gran debate. Uno que, como todos, hizo colisionar dos posturas muy diferenciadas, de las que hablaremos más adelante, pero que ahora podríamos resumir como matemáticos contra ingenieros, o como conservadores y progresistas, pero no esos conservadores ni esos progresistas. Será mejor que hablemos de ello más en detalle. Os damos la bienvenida a Programando Otra Historia. Antes de continuar, un inciso. ¿Te gustaría apoyar a nuestro canal? No te olvides de darle a me gusta y si no lo estás suscribirte para no perderte futuro contenido. Ahora sí continúa. Pero como toda historia vamos a comenzar por el principio, el origen de todo esto.
Michigan, mayo de 1974. Congreso de ACM SIGMOD, por sus siglas Special Interest Group on Management of Data o Grupo de Interés Especial en Administración de Datos. Donde se congrega a expertos interesados en las bases de datos en mitad de un cisma, un cambio de era en la forma de trabajar hasta el momento. Charlie Bachman de General Electric había desarrollado en 1964 IDMS, por sus siglas Integrated Database Management System o Sistema de Administración de Base de Datos Integrada. Durante 10 años había inducido una forma de trabajar con datos a través de este sistema y por tanto se había convertido en el estándar para CODASYL. Por sus siglas, Conference on Data System Languages, o Conferencia sobre Lenguajes de Sistema.
Sin embargo, una propuesta comenzó a hacerse eco y tomar fuerza. Había comenzado una revolución silenciosa, y en este congreso su voz fue más fuerte aún. Ted Codd propone el uso de... los lenguajes relacionales.
Ted Codd consideraba la forma de trabajar de CODASYL innecesariamente compleja. Con una fuerte dependencia de los datos entre el formato físico y lógico, dificultad para la optimización y poca o ninguna flexibilidad. En sus palabras: Nada tan complejo como CODASYL puede posiblemente ser una buena idea. Las argumentaciones por parte de Bachmann sobre la propuesta de Codd eran en base a la dificultad de los nuevos lenguajes relacionales propuestos, la creencia de Bachmann de ser imposibles de implementar y que el sistema CODASYL realmente podía hacer lo que los sistemas relacionales propuestos por Codd En sus palabras: Los programadores de COBOL posiblemente no puedan entender los innecesarios y complicados lenguajes relacionales. De hecho, el principal problema era el origen matemático de Ted Codd. Codd elaboró su lenguaje relacional con símbolos matemáticos. Grace Hopper, creadora del lenguaje COBOL, dijo en su momento acerca de este tipo de implementaciones: Yo había sido profesora de matemáticas.
En aquel tiempo encontré un cierto número de estudiantes que no podían aprender matemáticas. Entonces me impuse el trabajo de hacer fáciles nuestros computadores para la gente de negocios. Encontré que no era cuestión de si podían o no aprender matemáticas, sino más bien si ellos querían o no.
Ellos decían: Quita esos símbolos, no sé lo que significan y no tengo tiempo para aprender símbolos.
Sugiero a aquellos que desean que las personas procesen datos a través de símbolos matemáticos que intenten enseñar esos símbolos a vicepresidentes, coronales o almirantes. Te aseguro que yo lo intenté.
No obstante, en los siguientes años, los seguidores de los lenguajes relacionales demostraron a Kodasil que sus preceptos no eran del todo correctos. La batalla comercial.
La discusión fue llevada al terreno comercial. Mientras que Kodasil llevaba años en el mercado y la competencia por parte de los lenguajes relacionales parecía inocua, El principal problema de CODASYL fue precisamente el primer punto de queja de los defensores de los lenguajes relacionales.
CODASYL carecía de independencia de datos entre el almacenamiento físico y lógico, y la obstinación por la optimización implementando sus soluciones en código ensamblador limitó la portabilidad al uso en tan solo algunas máquinas. Unas nuevas computadoras llamadas VAX proliferaron y los defensores de los lenguajes relacionales aprovecharon para implementar sus soluciones a través de empresas como Oracle, Quizás te suene Oracle porque actualmente es una de las empresas de base de datos más grandes del mundo, teniendo bajo su control Java, Solaris o MySQL.
Por lo tanto, estas empresas se enfocaron en bugs, en sus soluciones y la optimización de las mismas, demostrando su facilidad y su factibilidad.
Los derechos de explotación de IDMS fueron cedidos a John Cullián, quien en 1980 reportó haber vendido unas 2500 licencias de uso de este software para máquinas de General Electric, IBM e ICL. Algunos de los clientes fueron la Ford de Canadá, la Ford de Europa, Jaguar Cars, AXA, Mapfre, Tesco, el Banco de Canadá, Aetna y BT en el Reino Unido. Todos a través de su compañía Qulian. En resumen, teníamos a la empresa de Qulian comercializando soluciones IDMS en los sistemas IBM, General Electric e ICL y Oracle e Ingres con soluciones relacionales en sistemas VAX principalmente, ambos manteniendo una competencia bastante reñida. IBM inclina la balanza.
En 1976, los ingenieros del laboratorio de investigación de IBM presentaron los inicios de System R, la implementación de un lenguaje relacional que marcó un hito en la discusión entre los defensores del sistema de CODASYL y los lenguajes relacionales haciendo decantar la balanza.
Según la introducción del documento presentado: En gran medida, la aceptación y el valor del enfoque relacional dependen de la demostración de que se puede construir un sistema que se puede usar en un entorno real para resolver problemas reales y tiene un rendimiento al menos comparable a los sistemas existentes en la actualidad. El propósito de este artículo es describir la arquitectura general y los aspectos de diseño de un prototipo experimental de sistema de gestión de bases de datos llamado System-R, que actualmente se está implementando y evaluando en el laboratorio de investigación de IBM San José. En el momento de redactar este documento, el diseño se ha completado y la mayor parte del sistema está implementada y en funcionamiento. Sin embargo, el sistema general no está completo. Planeamos una evaluación completa del rendimiento del sistema que estará disponible en documentos posteriores.
El documento también comenta otras iniciativas como SQL que comienzan a perfilarse como posibilidades avanzadas por parte del laboratorio de IBM en el Centro Científico de Cambridge con ayuda del MIT y del proyecto Ingres en la Universidad de California, Berkeley, implementando el lenguaje QWAD.
Como dato curioso, Sequel es la pronunciación que emplean los anglosajones para referirse al actual SQL en conmemoración a sus orígenes en Sequel y, por tanto, sistemas como MySQL suelen pronunciarse así.
La sección de IDMS dentro de IBM intentó en varias ocasiones perpetuarse en CODASYL construyendo implementaciones del lenguaje SQL sobre IDMS sin éxito. Aunque la victoria de CODA y los lenguajes relacionales se veía cada vez más clara, no fue hasta 1984 con la salida de IBM de B2 cuando finalmente el mercado de CODASYL en IBM tocó a su fin. Después de 10 años IBM zanjó de forma definitiva el gran debate dando la victoria a Codd y sus seguidores a través de la proliferación de cada vez más soluciones disponibles para los lenguajes relacionales.
Pero este es solo un capítulo en la historia referente al almacenamiento de datos. Seguro que te suenan capítulos más recientes como el movimiento NoSQL o NewSQL.
Y ahora te toca a ti. ¿Te gustaría conocer más historias o saber más de este tema?
Te leemos en la cajita de comentarios.
More from Manuel

Historia de los Lenguajes de Programación: años 1960-1969 #basic #apl #simula #lisp #logo

¿Compilador o intérprete? La historia de una rivalidad que comenzó en los años 40








