Plataforma

Object Relational Mapping (ORM)

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.

Valora el artículo:

1 Estrella2 Estrellas3 Estrellas4 Estrellas5 Estrellas (10 valoraciones, media: 5,00 sobre 5)
Cargando...
Avatar photo Daniel González Desarrollador Full-Stack Ver más artículos de Daniel González
Comentarios en “Object Relational Mapping (ORM)”
santiago Ruiz says:

Gracias, me ayudaste mucho para una expocicion de hoy

Otros artículos de la categoría Programación