Bases de Datos …
El SQL (Structured Query Language) es un lenguaje que permite acceder a los contenidos de los DBMs (Data Base Managers).
En la epoca del popular C y del pascal, esto no era mayor problema. Sin embargo, hoy la mayoria de aplicaciones se construyen utilizando el paradigma orientado a objetos, las cuales al querer interrelacionarse con sistemas de base de datos relacionales degeneran en sistemas ineficientes cuando menos.
Este cambio de paradigma al desarrollar la aplicacion, trae varios incovenientes:
- Mayores costos de capacitación, ya que los desarrolladores deben manejar correctamente ambos paradigmas y ser capaces de cambiar rapidamente de un modo de pensar al otro.
- Mayores costos de desarrollo, ya que el simple hecho de mapeo entre obtejos y tablas relacionales llega a representar una gran parte del costo del proyecto. De esto se puede dar fe en casi cada proyecto web desarrollado con PHP5.
- Problemas de Rendimiento, desde ya el simple hecho de convertir objetos a relacional conlleva ejecución de lineas de codigo extra. Este simple hecho ya implica una sobrecarga en el sistema.
- Mayor costo de Mantenimiento, esto se debe a que un simple cambio en la logica del programa conlleva cambios tambien en el modelo de base de datos, y viceversa.
Desde hace ya algun tiempo, vengo buscando nuevas posibilidades en los sistemas de base de datos.
Una opción que me jora el entendimiento de los desarrolladores en su modelo de base de datos, es un software que realize automaticamente el mapping entre el modelo de objetos y el modelo relacional. Esto sin embargo conlleva la ejecución de codigo extra lo cual no beneficia en nada al rendimiento. Es más, no siempre genera un codigo mas limpio.
En esta opcion de mapeadores de objeto/relacional, existen 2 categorias:
- De objetos a Tablas, estos permiten escribir un codigo muy sencillo y elegante, sin embargo no se le considera un codigo muy eficiente.
- De Tablas a Objetos, estos utilizan un codigo que pareciera poco elegante, y a la vez arbitrario, sin embargo, son los preferidos por los administradores de base de datos por su eficiencia.
Estas son las opciones de cara a seguir utilizando una base de datos relacional. La otra opción es cambiar a una base de datos Orientada a Objetos. En la actualidad existen pocos motores de Base de Datos Orientados a Objetos. En particular yo conozco solo dos: Una de las ventajas que más me gusta de usar bases de datos orientadas a objetos, es que ya no tengo q aprender otro lenguaje más (SQL). El modelo de la base de datos, se maneja de la misma manera en que se maneja la logica del resto de la aplicación.
Ejemplo de db4o
Por si te interesa escribí hace un tiempo una entrada similar a la tuya en Objetos y bases de datos relacionales
Un saludo
Comment by mig21 — July 19, 2006 @ 12:36 pm