Ted tenía 16 años cuando estalló la Segunda Guerra Mundial. Aún era joven y comenzó sus estudios de química en Oxford, pero en 1942 acabó alistándose en el ejército británico —pudiéndose haber librado— y se convirtió en piloto de la Royal Air Force Coastal Command.
Tras la guerra Edgar F. ("Ted") Codd volvió a Oxford, donde cambió de tercio: se graduó en matemáticas y emigró a Estados Unidos, donde aceptó un puesto en IBM un año después. Aquello cambió su vida, y en 1970 acabó publicando un estudio que cambiaría la historia de la informática en general y de las bases de datos en particular. Y si no, que se lo digan a Oracle.
De piloto a programador
Edgar Frank Codd nació en Dorset, en la costa sur de Inglaterra, y tras ser aceptado en Oxford, como decíamos, acabó alistándose para ser piloto de la RAF y del Coastal Command.
Aquella sección de la RAF se encargaba de escoltar a los barcos que llevaban material desde el Reino Unido a las costas del continente europeo, y que sufrían la amenaza constante de los submarinos alemanes. Codd pilotó los Sunderland que formaban parte de aquella división y aquella experiencia acabó convirtiéndose en crucial para su futuro.
De hecho como parte de su servicio en la RAF fue enviado a Estados Unidos para formarse como piloto. Allí descubrió cómo la aviación recreativa era mucho más accesible, y ese acabó siendo un motivo fundamental para que emigrase a EE.UU. cuando acabó sus estudios universitarios en Oxford.
Un año después ya estaba trabajando para IBM como programador, desarrollando programas para la Selective Sequence Electronic Calculator. Su trayectoria le llevaría a trabajar en la tecnología de los mainframes 7090 de IBM y a liderar el equipo que desarrolló el primer sistema con soporte de multiprogramación, esto es, con la capacidad de ejecutar varios programas de forma concurrente.
Los 13 mandamientos de Codd
En 1968 descubrió que algo estaba mal en los sistemas de bases de datos que se utilizaban en aquella época. Las bases de datos jerárquicas, desarrolladas en 1966 para su uso en las misiones espaciales Apollo, no parecían ser ideales, pero daba igual: IBM creó su plataforma Information Management System (IMS) con ese enfoque, y lo curioso es que este producto sigue existiendo hoy en día.
Para Codd, no obstante, había una solución mejor. En 1970 la planteó en un estudio titulado "A Relational Model of Data for Large Shared Data Banks" (PDF), y fue con ese texto con el que creó el concepto de las bases de datos relacionales. Tuvo la idea de se podían crear estructuras de datos relacionadas entre sí que permitirían almacenar información de forma que la consistencia se pudiese mantener a largo plazo.
Como explicaban en Retool, aquella idea dio lugar a los llamados 13 mandamientos de Codd o las 13 reglas de Codd, numeradas de 0 a 12 (por eso también son conocidas como las 12 reglas de Codd, aun siendo 13) y que definían un sistema relacional.
Esas reglas establecían conceptos que hoy se toman por descontado a la hora de trabajar con bases de datos relacionales. Por ejemplo, el tratamiento sistemático de valores nulos (los campos nulos deben permitirse), las operaciones básicas del almacenamiento persistente, conocidas como CRUD (Crear, Leer, Actualizar y Borrar), o la independencia física y lógica de los datos.
En realidad Codd definió esas reglas más tarde, en 1985, pero su idea original dio lugar a toda una revolución en un segmento que estaba anclado en una idea mucho menos potente. Lo curioso aquí es que IBM no movió ficha: su plataforma IMS era muy rentable, así que debieron decidir que lo de las bases de datos relacionales estaba bien pero no era para ellos, al menos por el momento.
Hola, Oracle
Fue entonces cuando tres chavales llamados Larry Ellison, Bob Miner y Ed Oates fundaron una empresa llamada Software Development Laboratories (SDI) en 1977. Su idea fue crear una base de datos relacional en ensamblador, y la llamaron directamente v2.
Aquel desarrollo vio la luz en 1979 y sus dos primeros clientes fueron la Fuerza Aérea de los Estados Unidos y la CIA. ¿Sabéis cuál era el nombre en clave del proyecto de la CIA para el que trabajaron esos chicos?
Exacto. Oracle.
Aquello parecía tener futuro, y en 1982 aquel trío decidió cambiar el nombre de la empresa a Oracle Systems Corporation. Un año más tarde crearon una versión de esa base de datos en C y que además soportaba SQL, desarrollado por IBM precisamente para tratar de seguirle los pasos a Oracle.
Pero por entonces no había forma de seguirle los pasos a esta startup, que no paró de mejorar su sistema de bases de datos relacionales. Era más rápida y escalable que cualquier otra, y siguió siéndolo durante años porque Oracle demostró no parar de implementar mejoras notables en las distintas versiones que siguieron a aquel proyecto original.
El crecimiento de Oracle fue fulgurante, y aunque acabaron apareciendo competidores muy importantes tanto en el segmento de las bases de datos relacionales —MySQL y PosgreSQL entre otros— y alternativas a ese concepto —como los sistemas NoSQL— Oracle consiguió convertirse en un referente absoluto en este mercado.
Un referente que es además todo un imperio: Oracle tiene 130.000 empleados en todo el mundo, y además de tener ingresos de 39.100 millones de dólares y beneficios de 13.900 millones de dólares en 2020, su valoración actual en bolsa supera los 260.000 millones de dólares. Lejos de las cifras de gigantes como Apple (2,46 billones en nuestra escala numérica larga, son "trillions" en la notación corta usada por ejemplo en Estados Unidos), Microsoft (2,41 billones), Google (1,91) o incluso Tesla (1,06), pero un verdadero gigante empresarial.
Uno cuya historia comienza con la de un piloto británico excepcional. Uno que acabaría ganando numerosos galardones como el Turing Award de 1981 y que falleció a los 79 años de edad el 18 de abril de 2003.
Ver 9 comentarios