Identificadores automáticos vs manuales: ¿cuál elegir?

Descubre por qué las IDs autogeneradas en DB dificultan la sincronización entre microservicios. UUIDs, Outbox y buenas prácticas en arquitectura distribuida.

24 sept 2025 • 4 min de lectura • Equip Q2BSTUDIO

Inteligencia-Artificial-

En sistemas tradicionales era común delegar en la base de datos la generación de identificadores incrementales enteros. Esto ofrecía ventajas claras como unicidad garantizada, índices pequeños y orden natural que ayuda a reducir la fragmentación. Sin embargo, en arquitecturas modernas basadas en microservicios o eventos esa elección puede ser limitante y provocar problemas de sincronización y consistencia.

Caso de ejemplo: imaginemos tres microservicios independientes llamados OrderService, PaymentService y ShippingService, cada uno con su propia base de datos. El servicio de pedidos guarda la orden completa con sus items, el de pagos solo necesita saber si la orden fue pagada y el de envíos necesita información de envío asociada a la misma orden. Es importante que el identificador de una orden sea el mismo en todos los servicios para poder sincronizar, consultar y unir información con facilidad.

Usando IDs autogenerados en la base de datos con enteros el flujo típico obliga a persistir la orden para obtener el ID. Eso genera dos inconvenientes importantes: no es posible crear la orden y los eventos relacionados en la misma transacción cuando se aplica el patrón Outbox, y no hay garantía de que otra instancia de la aplicación o servicio cree la misma orden con el mismo ID. La solución de añadir una columna externa orderId además del ID autogenerado complica el modelo y puede inducir errores por mal uso de identificadores.

Alternativa manual con identificadores UUID Guid. Si creamos el Id en la capa de aplicación, por ejemplo generando un Guid antes de persistir, podemos construir la orden, preparar los mensajes Outbox y persistir todo en una única transacción. Esto aporta varias ventajas: consistencia transaccional entre datos y eventos, el mismo ID puede usarse en todos los microservicios facilitando sincronización y fusión de datos, y las pruebas unitarias son más sencillas porque el Id está disponible sin necesidad de persistir la entidad.

Además, al controlar la generación del identificador podemos elegir variantes de UUID adecuadas al caso de uso. Por ejemplo UUIDv7 ofrece orden natural basado en tiempo, ayudando a cubrir parte de las ventajas de los enteros secuenciales. El riesgo de colisión en UUID bien generados es prácticamente despreciable en la práctica. El trade off es que ocupan más espacio y son menos legibles que enteros, pero en aplicaciones cloud modernas la diferencia de rendimiento y tamaño suele ser irrelevante para la mayoría de escenarios.

Aspectos técnicos y buenas prácticas. En ORMs como EF Core por defecto los identificadores pueden configurarse para que no sean generados por la base de datos; por ejemplo se debe configurar la propiedad Id para que ValueGeneratedNever y así la aplicación asume la responsabilidad de asignar valores. Para implementar Outbox es habitual añadir una tabla OutboxMessages y escribir los eventos junto con la entidad dentro de la misma transacción, y disponer de un procesador en background que publique esos mensajes al broker y marque los registros procesados.

Secuencias y limitaciones. Usar una secuencia de base de datos y pedir el siguiente valor mediante SELECT NEXT VALUE FOR MySequence permite reservar un número sin insertarlo en la tabla, pero no resuelve el problema de unicidad entre diferentes bases de datos o servicios. Si cada servicio tiene su propia base de datos, es muy probable acabar con IDs iguales en distintos servicios, lo que rompe el concepto de identidad global de la entidad.

Conclusión. Delegar totalmente la generación de IDs a la base de datos implica renunciar a una parte importante del control sobre la identidad de las entidades, lo que complica la consistencia entre servicios, la sincronización de datos y la implementación de patrones transaccionales como Outbox. La generación manual de identificadores, típicamente con UUID, es una opción sólida para arquitecturas distribuidas, aunque no exenta de trade offs. Cada proyecto debe evaluar requisitos de rendimiento, tamaño de índices, legibilidad y necesidades de integración antes de tomar la decisión.

En Q2BSTUDIO ayudamos a tomar las decisiones arquitectónicas adecuadas para productos cloud y soluciones empresariales. Somos una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida, con experiencia en inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio y automatización. Si necesitas desarrollar una solución personalizada podemos ayudarte desde el diseño de la identidad de dominio hasta la implementación del Outbox y la orquestación de microservicios, descubre nuestras capacidades en software a medida y aplicaciones a medida y en soluciones de inteligencia artificial y ia para empresas.

Palabras clave relevantes que aplicamos en nuestros proyectos incluyen aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi. Si te interesa profundizar sobre arquitectura de identificadores, sincronización entre servicios o integración con soluciones cloud y BI como Power BI contacta con nuestro equipo y te asesoraremos en la mejor estrategia técnica y de negocio.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.

Live Chat