sábado, diciembre 18, 2004

Otras vías menos estructuradas de manejar los datos

Luego de más de dos décadas de dominio del modelo relacional, y luego de un interregno de bases de datos orientadas a objetos, otras posibilidades se están prefigurando. El modelo relacional, y su complemento, el SQL, cumplieron, y seguirán cumpliendo un papel básico, como columna vertebral de la alimentación de datos de un dominio determinado. Un caso donde esto se puede ver, es en la relación entre el almacén de datos (Datawharehouse) y el repositorio del que se extrae la información. Pero está claro que la realidad es heraclitana, no parmeneidana, por decirlo en los términos de la filosofía natural antigua. La vida económica, social, o cual fuere, se mueve y fluctúa muy rápidamente considerada frente a su representación informática. Contínuamente las representaciónes de los datos en filas y columnas se revelan insuficientes para explicar situaciones más complejas de atributos variables, extendibles o achicables, con excepciones contínuas y fluctuantes. Tratar de abarcar estas hace correr detrás de los cambios, reduciendo las posibilidades a un reflejo empobrecido y esquemático. Una representación útil para los datos troncales, y aún así, insuficientes. El flujo de información en Internet es quizá el mayor ejemplo de esta limitación, y también el mayor motor para buscar mejores modelos.

Así, en este contexto, un gran estímulo a estudiar nuevas aproximaciones, lo constituye el XML, ya en uso en muchos casos en que se debe intercambiar una visión variable de los datos. El intercambio entre etapas de un modelo que se produce en el estándar en progreso de MDA, es un caso. Un breve comentario en este sentido lo hace Techfarmer en su weblog de ItToolbox. (Forget fixed format files, use XML!).
Pero el caso más elaborado que conozco, es el llamado Modelo Asociativo de Datos, del que William Simon es uno de sus exponentes. Simon, después de idear Obsydian, (que hoy es Plex, con el que yo trabajo todos los días, y que está orientado a generar aplicaciones a partir de un modelo abstracto), puso foco no ya en las aplicaciones, sino en los datos, e ideó un modelo muy estimulante, que todavía no tuvo quizá la discusión que se merece.
Como Simon dice:

The biggest driver of cost and complexity in database applications is the Relational Model of data, the standard database architecture underlying almost all modern applications.
Relational databases store each different type of data in a separate table. Each table is unique, and the programs are hard-coded to fit the tables. This is labour-intensive and wasteful, for two reasons: new applications always need new programs which have to be written from scratch, and any change to the structure of the data means that the programs must be changed too.

Su visión:

Instead of using a separate, unique table for every different type of data, Lazysoft's Associative Model of Data uses a single, generic structure to contain all types of data. Information about the logical structure of the data and the rules that govern it are stored alongside the data in the database. This sets the scene for a new style of programming, whereby the data structures and the rules that govern them are no longer hard-coded into the programs, but are obtained by the programs from the database itself. Thus, for the first time, such programs are truly reusable, and no longer need to be amended when the data structures change. This dramatically reduces the cost of application development and maintenance.

The quest for greater productivity in application development has focused on using more abstraction in programming languages, which have evolved from binary machine code through second generation symbolic languages and third generation high-level languages.However, 4GLs have failed to win widespread acceptance, and today's object-oriented programming languages are in truth no more abstract with respect to the real world than their third-generation predecessors.Moreover, the commercial failure of object-oriented databases means that most modern commercial applications are designed and developed using object oriented techniques, but implemented over relational databases, an impedance mis-match that imposes further overheads on the development process.Ted Codd acknowledged the connection between data architecture and programming productivity when in 1970 he introduced the relational model to the world with the words
"Future users of large data banks must be protected from having to know how the data is organized in the machine". The next major breakthrough in software development productivity will come not from advances in programming languages, but from a new database architecture.

Tendrá el Modelo Asociativo un futuro? Como la evolución, puede ser una rama principal, el tronco, o un intento abandonado. Pero no hay duda de que es un intento de saltar hacia adelante.

No hay comentarios.: