¿Hora de desechar el modelo relacional?
Advertencia al lector – Alto contenido tecnérdico, proceda a la lectura bajo su propio riesgo
Según el Doctor Michael Stonebraker y otros, el modelo relacional de bases de datos está obsoleto gracias a las nuevas arquitecturas de cómputo, y debe desecharse en favor de algo nuevo, empezando desde cero (Artículo en The Register).
El Modelo Relacional de Bases de Datos
Fue propuesto por el celebérrimo Edgar Codd en IBM en los sesentas y setentas, aunque agarró fuerza a principios de los ochentas con las implementaciones de IBM (DB2), Informix y Oracle. Es un modelo de datos lógico basado en registros donde los datos y sus relaciones, se representan por tablas y columnas.
La mayoría de los productos hoy día de bases de datos relacionales permiten el acceso a la información a través de algún dialecto de Structured Query Language (SQL)
Michael Stonebraker
Bastante conocido por ser uno de los creadores de Ingres (base de datos relacional open source), e Illustra (base de datos objeto-relacional, es decir relacional con extensiones de objetos). Cuando esta última fue adquirida por Informix, Stonebraker se convirtió en el Chief Technology Officer de dicha empresa. Las características de Illustra fueron incorporadas al Universal Server de Informix, y eventualmente a DB2 cuando IBM compró la empresa en 2001.
Ya desde el 98 este señor cuestionaba los cánones de arquitectura de sistemas de bases de datos, lo teníamos a él en una esquina y en la otra a Hugh Darwen y C.J. Date (si buscas en la biblioteca de tu carrera de Sistemas, encontrarás libros de estos dos señores).
Lo que Stonebraker dice en su última publicación es que los RDBMS fueron diseñados para transacciones de negocios y que en otros mercados están en desventaja ante herramientas de búsqueda especializadas. Además asevera que SQL como herramienta generalizada no es la respuesta, (Date y Darwen en su famoso “Tercer manifiesto de las Bases de datos” lo plantean como el “lenguaje intergaláctico de datos”).
Es decir, si no usamos el mismo lenguaje de programación para distintas cosas, ¿porqué deberíamos usar el mismo modelo de datos para distintas cosas?
Michael Stonebraker no es solo un teórico, su base de datos Illustra se catalogaba como una base de datos Objeto-Relacional (ORDBMS) e implementaba varios conceptos Object Oriented (OO) como polimorfismo, herencia, sobrecarga de operadores, etc.
Aunque las bases de datos hoy son un commodity, quisiera escuchar la opinión de los compañeros que alguna vez desarrollaron aplicaciones o administraron bases de datos, ¿tiene sentido lo que propone Stonebraker?
¿Hay algo mejor que las bases de datos relacionales para las transacciones no relacionadas con negocios?
Ay ojón, eso jamás se me hubiera ocurrido siquiere. Tendré que indagar en el tema.
Suena muy mamón, a ver qué tanto.
Orale estuvo bueno tu cuestionamiento. Las bases de datos crecieron agregando entre otras cosas “programación embebida” o “store procedures” lo cual atenta con la arquitectura multi-capas empleada en los 90. A mediados de los 90 tuve oportunidad de ver una base de datos orientada a objetos y era genial lo que se podía hacer para aplicaciones de alta interacción con el usuario (multimedia). Pero no era un gran mercado, sin embargo hoy en día es distinto de modo que yo creo que es una buena idea replantear desde cero las nuevas bases de datos.
La propuesta de objetos no me parece ni nueva ni desde cero, además de que cuesta mucho trabajo entender como conectarla cuando nos han amoldado el cerebro para entenderlo a la antigua.
Las nuevas generaciones podrán replantear el problema.