OtterTecno Logo
devOttertecno
25/08/2026 21:00 Arquitectura de Software & IA Software Architecture & AI

¿Es necesario usar ORM?

Is an ORM Necessary with AI?

Todos en algún momento hemos utilizado un ORM en nuestros proyectos. Fue una buena o mala decisión dependiendo del tipo de sistema, pero hoy en día, con el avance vertiginoso de la IA, debemos replantearnos seriamente si sigue siendo una capa necesaria o si ha quedado obsoleta frente a consultas nativas y capas de persistencia ultraligeras.

We have all used an ORM at some point in our projects. It was a good or bad decision depending on the type of system, but today, with the rapid advance of AI, we must seriously question whether it is still a necessary layer or if it has become obsolete compared to native queries and ultra-lightweight persistence layers.

Compartir esta nota: Share this article:
LinkedIn Twitter / X
¿Es necesario usar ORM?

1. La Reevaluación del ORM en la Era de la Inteligencia Artificial

Durante las últimas dos décadas, el uso de herramientas de Mapeo Objeto-Relacional (ORM) ha sido una práctica casi dogmática en el desarrollo de software. Todos en algún momento hemos implementado un ORM para acelerar la construcción de un proyecto. En su momento fue una decisión totalmente comprensible: evitaba la concatenación manual de cadenas SQL, nos protegía de inyecciones SQL básicas, abstraía las diferencias entre motores de bases de datos y permitía mapear registros directamente a objetos en memoria.

Sin embargo, hoy en día, con los modelos de lenguaje de última generación (LLMs) y la asistencia de IA integrada en los entornos de desarrollo, debemos volver a plantearnos esta interrogante con total honestidad. Dado que la IA es capaz de generar consultas SQL nativas altamente optimizadas, con índices precisos, sentencias preparadas y estructuras complejas en microsegundos: ¿sigue teniendo sentido añadir una capa intermedia de abstracción que consume memoria y añade latencia a la aplicación? Es una pregunta que los desarrolladores y arquitectos de software debemos tomarnos muy en serio.

1. Re-evaluating the ORM in the Age of Artificial Intelligence

Over the past two decades, the use of Object-Relational Mapping (ORM) tools has been an almost dogmatic practice in software development. We have all implemented an ORM to accelerate project delivery. At the time, it was a completely understandable choice: it avoided manual SQL string concatenation, protected us from SQL injection, abstracted database engine differences, and mapped rows into memory objects automatically.

However, today, with next-generation Large Language Models (LLMs) and AI coding assistants integrated into developer environments, we must revisit this question with full intellectual honesty. Since AI can generate highly optimized native SQL queries with precise indexing and prepared statements in microseconds: does it still make sense to add an intermediate abstraction layer that consumes RAM and adds latency? This is a question developers and software architects must take very seriously.

2. ¿En qué consiste un ORM y cuáles son sus beneficios reales?

Para responder objetivamente, debemos analizar qué hace exactamente un ORM. En esencia, un ORM actúa como un puente o traductor entre el paradigma orientado a objetos (clases, propiedades, herencia) y el paradigma relacional de las bases de datos (tablas, filas, columnas, claves foráneas).

Uno de sus principales beneficios históricos ha sido automatizar la asignación a modelos de datos y reducir la cantidad de código repetitivo (boilerplate code) que los programadores humanos debíamos escribir a mano. Pero reflexionemos: si el principal motivo para incluir una librería pesada era acortar el tiempo que los humanos tardábamos en escribir código SQL o métodos DAO, y hoy la Inteligencia Artificial escribe código nativo más rápido, más limpio y mejor probado, ¿qué tan relevante sigue siendo mantener esa capa intermedia?

¿Es realmente necesario importar estas voluminosas dependencias o podemos crear nuestras propias capas nativas y delgadas de persistencia de datos? Dado que la IA puede estructurar las tablas, definir sus relaciones y escribir los adaptadores nativos sin esfuerzo, resulta mucho más ventajoso concentrarnos en definir una clara lógica de negocio en archivos de contexto (como especificaciones .md o esquemas declarativos) que nos otorguen un control absoluto sobre el sistema.

2. What is an ORM and what are its real benefits?

To answer objectively, we must analyze what an ORM actually does. In essence, an ORM acts as a bridge or translator between the object-oriented paradigm (classes, properties, inheritance) and the relational database paradigm (tables, rows, columns, foreign keys).

One of its main historical benefits was automating data model assignments and reducing boilerplate code that human developers had to write by hand. But let us reflect: if the main reason for importing a heavy library was shortening the time humans spent writing SQL queries or DAO methods, and today AI writes native code faster, cleaner, and better tested, how relevant is it to keep that intermediate layer?

Is it really necessary to import these voluminous dependencies, or can we create our own thin native persistence layers? Since AI can structure tables, define relationships, and write native adapters effortlessly, it is far more advantageous to focus on defining clear business logic in context files (such as .md specifications or declarative schemas) that grant us absolute control over the system.

Figura 1: Mapeo Tradicional entre Tablas Relacionales y Clases POO

Gráfico del funcionamiento de un ORM tradicional

El ORM actúa como capa intermedia realizando hidratación de objetos y traducción de tipos.

Figure 1: Traditional Mapping Between Relational Tables and OOP Classes

Traditional ORM mapping diagram

The ORM acts as an intermediate layer performing object hydration and type translation.

3. El Cambio en la Ecuación: Horas-Hombre vs. Horas-Máquina

Al analizar por qué esta capa de procesamiento de datos ya no es tan indispensable, descubrimos que una implementación con clases o funciones nativas es infinitamente más óptima. Elimina la hidratación masiva de objetos, reduce el consumo de memoria RAM y disminuye drásticamente los tiempos de respuesta (latencia TTFB).

Es verdad que en la actualidad, para quienes desarrollan aplicaciones sencillas, el costo del hardware ha disminuido: los servidores cuentan con procesadores veloces, almacenamiento SSD NVMe y la memoria RAM es relativamente económica, por lo que muchos no se preocupaban por micro-optimizaciones. No obstante, debemos considerar que la decisión histórica de usar ORMs se basaba en la balanza de "Horas-Hombre vs. Horas-Máquina": era preferible gastar más recursos de máquina con tal de ahorrar valiosas horas de programadores costosos.

Hoy estamos presenciando un cambio drástico de paradigma. Al ser la IA quien asume el trabajo de escribir el código, el costo de las horas-hombre para escribir SQL nativo o capas de datos personalizadas se desploma a cero. En consecuencia, la balanza se inclina nuevamente hacia la eficiencia técnica: arquitecturas más limpias, despliegues sin sobrecarga, arranques en frío (cold starts) instantáneos en serverless y costos de infraestructura reducidos.

Esto significa que las arquitecturas web tradicionales también están mutando. El conector clásico a base de datos relacionales dará paso o compartirá terreno con plataformas Backend-as-a-Service (BaaS) como Supabase o Firebase, o bien hacia capas de acceso a datos sin ORM generadas a medida.

3. The Shift in the Equation: Man-Hours vs. Machine-Hours

When analyzing why this processing layer is no longer as indispensable, we discover that a native class or function implementation is infinitely more optimal. It eliminates massive object hydration, reduces RAM usage, and drastically cuts response times (TTFB latency).

It is true that for simple applications, hardware costs have dropped: servers feature fast CPUs, NVMe SSD storage, and RAM is relatively cheap. However, we must remember that the historical choice to use ORMs was built on the balance of "Man-Hours vs. Machine-Hours": it was better to spend extra machine resources to save expensive human developer hours.

Today we are witnessing a drastic paradigm shift. As AI handles writing the code, the man-hour cost for writing native SQL or custom data layers drops to zero. Consequently, the scale tips back toward technical efficiency: cleaner architectures, zero-overhead deployments, instant serverless cold starts, and lower cloud bills.

This means traditional web architectures are mutating. Classical database connectors are yielding ground to Backend-as-a-Service (BaaS) platforms like Supabase or Firebase, or custom ORM-free data access layers.

Figura 2: Evolución de Arquitecturas Tradicionales con ORM hacia Capas Nativas con IA / BaaS

Gráfico del cambio de arquitectura de ORM a IA y BaaS

Transición desde monoliths con ORM hacia especificaciones declarativas y capas de datos ultraligeras.

Figure 2: Evolution from Traditional ORM Architectures to AI Native / BaaS Layers

Architecture shift diagram

Transition from ORM monoliths toward declarative specs and ultra-lightweight data layers.

4. Impacto según la Escala: ¿Desarrollo Pequeño o Software Empresarial Complejo?

Este cambio de paradigma no afecta de la misma manera a todos los proyectos. Debemos preguntarnos: ¿dónde se sentirá más el impacto, en un desarrollo pequeño o en un sistema de gran complejidad?

  • A. Microservicios y Proyectos Pequeños / Medianos: Tienen entre 1 y 15 tablas. Prescindir del ORM en estos escenarios brinda una ganancia inmediata. La IA puede generar consultas nativas o manejar archivos de datos estáticos en milisegundos con cero fricción y cero dependencias obsoletas.
  • B. Software Empresarial Complejo: Sistemas ERP/CRM con cientos de tablas, claves foráneas compuestas y reglas de auditoría estrictas. En estos casos, eliminar el ORM requiere que el equipo defina una sólida **Arquitectura de Contexto** (archivos .md, esquemas OpenAPI, diagramas o sitemaps de datos) para que la IA entienda con precisión quirúrgica las relaciones del dominio sin alucinar.

4. Impact by Scale: Small Projects vs. Complex Enterprise Software

This paradigm shift does not affect all projects in the same way. We must ask: where will the impact be felt most, in a small development or in a complex enterprise system?

  • A. Microservices & Small / Medium Projects: Containing between 1 and 15 tables. Eliminating the ORM yields immediate gains. AI can generate native queries or process static data files in milliseconds with zero friction and zero legacy dependencies.
  • B. Complex Enterprise Software: ERP/CRM systems with hundreds of tables and complex foreign keys. Here, removing an ORM requires defining a strong **Context Architecture** (.md files, OpenAPI specs, DB sitemaps) so AI understands domain relationships with surgical precision.

Figura 3: Comparativa de Impacto según la Escala del Software

Gráfico del impacto según la complejidad del proyecto

Diferencia de enfoque entre microservicios livianos y grandes monolitos empresariales.

Figure 3: Impact Comparison Based on Software Scale

Complexity impact diagram

Approach contrast between lightweight microservices and large enterprise monoliths.

Pilares Fundamentales en el Desarrollo Moderno:

Fundamental Pillars in Modern Development:

  • 1. Tener la estructura de datos puramente optimizada.
  • 2. Tener la lógica de negocio claramente definida en especificaciones.
  • 3. Tener una arquitectura desacoplada, auditable y con mínimo overhead.
  • 1. Keep data structure purely optimized.
  • 2. Keep business logic clearly defined in specifications.
  • 3. Have a decoupled, auditable architecture with minimal overhead.

5. Panorama de los ORMs Populares en la Industria

Históricamente, la forma estándar en que los desarrolladores hemos consumido y guardado información en una base de datos relacional ha sido a través de ORMs emblemáticos en distintos lenguajes de programación:

5. Overview of Popular ORMs in the Industry

Historically, the standard way developers have queried and stored information in relational databases has been through landmark ORMs across various programming languages:

Java / Kotlin

Hibernate ORM / JPA

El estándar de la industria empresarial Java. Potente pero caracterizado por una alta complejidad de configuración e hidratación.

The Java enterprise standard. Powerful but characterized by heavy configuration and hydration overhead.

TypeScript / Node.js

Prisma / TypeORM / Sequelize

Generadores de esquemas y query builders con tipado estático muy extendidos en el ecosistema JavaScript.

Static-typed schema generators and query builders widely popular in JavaScript/Node.js.

C# / .NET

Entity Framework Core (EF Core)

ORM oficial del ecosistema Microsoft con soporte para LINQ y migraciones automáticas.

Official Microsoft ecosystem ORM featuring LINQ support and automatic migrations.

PHP

Eloquent (Laravel) / Doctrine (Symfony)

Implementaciones del patrón Active Record y Data Mapper ampliamente difundidas en desarrollo web PHP.

Active Record and Data Mapper implementations widely prevalent in PHP web development.

Python

SQLAlchemy / Django ORM

ORM declarativo y orientado a expresiones en Python para ciencia de datos y desarrollo web backend.

Declarative, expression-oriented Python ORMs for data science and web backend development.

Go (Golang)

GORM / Ent

Librerías de mapeo en Go, aunque en la comunidad Go frecuentemente se prefiere SQL nativo con sqlx o sqlc.

Go mapping libraries, although the Go community often favors raw SQL with sqlx or sqlc.

6. ¿Cómo le comunicamos a la IA el Modelo de Datos sin un ORM?

Sabiendo que el ORM hacía el trabajo pesado por nosotros, la mejor alternativa actual es definir formas nativas y directas para acceder a los datos. Pero esto abre un gran interrogante: ¿cómo le indicamos a la IA cuál es la estructura exacta de la base de datos y cómo debe almacenarse la información?

Existen diversas alternativas en constante evolución:

  1. Modelado en Lenguaje Natural + Prompts Estructurados: Describir las entidades y sus atributos en archivos Markdown (CONTEXT.md o schema.sql), los cuales la IA lee como contexto primario antes de escribir cualquier código.
  2. Especificaciones desde el Frontend / Tipos TypeScript: Declarar los contratos de datos desde las interfaces del usuario o sitemaps de la aplicación, permitiendo que la IA deduzca la capa de datos requerida.
  3. Archivos de Configuración Declarativa (JSON Schema / OpenAPI): Entregarle a la IA diagramas JSON o contratos OpenAPI que dictan las reglas sin necesidad de instalar librerías ORM en el servidor.
  4. Protocolo MCP (Model Context Protocol): La herramienta del futuro cercano. Poco a poco estamos dejando de usar interfaces manuales; mediante MCP, los agentes de IA se comunican directamente con bases de datos, APIs y recursos del sistema porque está en sus datos de entrenamiento saber conectarse nativamente a cualquier fuente de información.

6. How do we Communicate Data Models to AI without an ORM?

Knowing that the ORM used to do the heavy lifting, the best modern alternative is defining native, direct ways to access data. But this raises a major question: how do we communicate the exact database structure and storage rules to AI?

Several evolving alternatives exist:

  1. Natural Language Modeling + Structured Prompts: Describing entities in Markdown files (CONTEXT.md or schema.sql) which AI ingests as primary context before generating code.
  2. Frontend Specifications / TypeScript Types: Defining data contracts from UI components or sitemaps, allowing AI to infer the exact data layer needed.
  3. Declarative Config Files (JSON Schema / OpenAPI): Providing JSON diagrams or OpenAPI specs that dictate rules without installing heavy ORM packages.
  4. Model Context Protocol (MCP): The near-future tool. As we move away from manual UIs, AI agents communicate directly with databases, APIs, and resources via MCP because they know how to connect natively.

7. El Futuro del Almacenamiento: ¿Morirá la Base de Datos Relacional?

Esta transformación plantea una última gran pregunta: ¿cambiará la forma en que usamos las bases de datos? ¿Morirá la base de datos relacional tradicional?

Las bases de datos SQL no morirán, pero su consumo está divergiendo. Motores No-SQL como MongoDB siguen incorporando referencias y validaciones de esquemas; al mismo tiempo, cobran tremenda fuerza los motores de base de datos embebidos como SQLite o DuckDB, los archivos planos (JSON / Parquet / CSV) procesados directamente en memoria RAM, y las Bases de Datos Vectoriales (PGVector, Pinecone) diseñadas para búsquedas semánticas y embeddings de IA.

7. The Future of Storage: Will Relational Databases Die?

This transformation raises a final big question: will the way we use databases change? Will traditional relational databases die?

SQL databases will not die, but their consumption patterns are diverging. No-SQL engines like MongoDB keep adding schema validation; simultaneously, embedded engines like SQLite or DuckDB, in-memory RAM streams (JSON / Parquet / CSV), and Vector Databases (PGVector, Pinecone) for AI semantic embeddings are gaining huge momentum.

Figura 4: Nuevos Modelos de Almacenamiento y Protocolos Autónomos (MCP)

Gráfico del futuro de las bases de datos y protocolo MCP

Conexión de IA mediante MCP a SQLite, DuckDB, RAM y Bases Vectoriales.

Figure 4: Future Storage Models and Autonomous Protocols (MCP)

Future storage models diagram

AI connections via MCP to SQLite, DuckDB, RAM, and Vector Databases.

Estas preguntas hoy representan interrogantes fascinantes, pero con el pasar del tiempo y a medida que la Inteligencia Artificial redefine la manera de construir software, se convertirán en la nueva realidad a la que todos los desarrolladores nos adaptaremos.

El tiempo responderá estas incógnitas en un futuro no muy lejano, transformando para siempre los paradigmas de cómo creamos software y cómo interactuamos con la información.

These questions represent fascinating inquiries today, but as Artificial Intelligence redefines software engineering, they will become the new reality we all adapt to.

Time will answer these unknowns in the near future, transforming forever the paradigms of how we build software and interact with data.

¿Te gustó la publicación? Compartila: Enjoyed this note? Share it:
LinkedIn Twitter / X
Temas Neón Cyber

Selecciona un color neón:

Select a neon color: