Object Relational Mapping (ORM)
Un poco de historia de los ORM
Hace ya unos cuantos años que surgieron los ORMs (del inglés Object Relational Mapping o Mapeo objeto-relacional). Cuando surgieron, se debatió si eran la solución más adecuada al problema de la persistencia:
- Por un lado, estaban los que decían que era una solución subóptima, puesto que se formaban consultas SQL pesadas y patrones de acceso no recomendables.
- Por otro, estaban los que decían que era perder tiempo en problemas que ya están resueltos y no centrarse en los problemas importantes.
Al final, los ORMs se han impuesto a la escritura de consultas SQL a mano. Y también con el tiempo se han ido mejorando el rendimiento de los mismos, desarrollando alternativas más ligeras o MicroORMs, dando la posibilidad de un acceso más rápido y controlado a bases de datos.
¿Qué es un ORM?
Para los que no sepan qué es un ORM, vamos a proceder a explicarlo. Un ORM es una técnica de programación para lograr convertir datos procedentes de una fuente de datos (o base de datos) en un lenguaje orientado a objetos, es decir, en la práctica, consiste en la creación de una base de datos virtual sobre la base de datos relacional.
¿Qué aporta un ORM?
Las ventajas que nos aporta un ORM son claras:
- Nos evita la escritura de consultas SQL a mano.
- Nos garantiza que siempre que cargamos una entidad en sesión, aún obteniéndose con distintas consultas siempre conseguiremos la misma instancia.
- Detecta automáticamente cambios, es decir, si hay algún cambio en alguna entidad, el sistema lo detecta y actualiza la base de datos automáticamente.
- Centralización en el ORM de la definición del esquema de base de datos.
¿Problemas de los ORM?
Como todo, tiene sus desventajas:
- La pérdida clara de rendimiento, sobre todo en la carga de información. Aunque la mayoría de las veces es debido a un mal uso del ORM, puesto que la mayoría tienen varios métodos de lectura.
- Complejidad adicional que introducen, que en muchos casos es innecesaria, dependiendo de lo que se busque, puesto que añadir un ORM para hacer selects o inserts no merece la pena.
Ya, la elección de cada uno, depende de lo que más le conviene según sus proyectos.
Otros artículos de la categoría Programación
El cloud computing es la opción, multitenant mejor
Aunque se habla mucho y desde hace tiempo del cloud computing, aún hay ciertas dudas y desconfianza hacia esta tecnología. Día tras día vemos en eventos y reuniones cómo,... [+]
- Autor: María Cumplido
- Categorías: Actualidad, Gestión empresarial, Programación, Yunbit
La seguridad de los datos en Yunbit BusinessCloud, medidas técnicas
Consultamos a Mario Villar, Director de I+D+I en Yunbit Ya estamos en la recta final para la aplicación del nuevo Reglamento General de Protección de Datos que el próximo... [+]
- Autor: Publicaciones
- Categorías: Entrevistas, Gestión empresarial, Programación, Yunbit
Métodos de dibujo mediante Canvas HTML5. Introducción y ejemplo de gráfica cartesiana con jQuery.
HTML5 nos ofrece el elemento canvas, el cual nos sirve como lienzo para dibujar gráficos en tiempo real mediante scripts, generando imágenes dinámicas en el área del elemento. Canvas... [+]
- Autor: Juan C. Martínez
- Categorías: Diseño, Programación
Sobre cloud y tecnología en Yunbit
Hoy entrevistamos a Mario Villar, Director de I+D+I en Yunbit Con el objetivo de entender mejor nuestra filosofía, vamos a hacer algunas preguntas sobre cloud y tecnología a Mario... [+]
- Autor: Publicaciones
- Categorías: Entrevistas, Gestión empresarial, Programación, Yunbit
Gracias, me ayudaste mucho para una expocicion de hoy