Postgres vs MongoDB en 2022: el panorama actualizado para empresas medianas mexicanas
La conversación "Postgres o MongoDB" lleva una década dando vueltas y, en buena medida, la respuesta de hoy es muy distinta a la de 2015. PostgreSQL 14 incorporó mejoras serias en JSON, búsqueda y particionamiento; MongoDB 6 ya soporta transacciones multi-documento decentes y tiene time series nativo. La frontera entre relacional y documental se borró bastante. Para una empresa mediana mexicana, eso significa que la decisión tiene que basarse en patrones de acceso reales y no en lo que se llevaba en la conferencia del año pasado.
En este artículo comparamos las dos bases con criterio actualizado a 2022, presentamos un marco de decisión y compartimos hallazgos de benchmarks que corrimos en proyectos cliente durante el segundo trimestre.
Lo que cambió en los últimos dos años
PostgreSQL 14 consolidó su posición como base de datos relacional con superpoderes. Soporte JSONB maduro permite trabajar con documentos sin perder integridad referencial; las extensiones (PostGIS, TimescaleDB, pg_vector incipiente) cubren casos especializados sin migrar de motor; el particionamiento nativo escala tablas a cientos de millones de filas; y la replicación lógica habilita arquitecturas distribuidas sin acrobacias.
MongoDB 6, por su parte, agregó transacciones ACID multi-documento confiables, queryable encryption (cifrado en uso para campos sensibles), time series collections optimizadas y mejoras de aggregation pipeline. La narrativa de "MongoDB no tiene transacciones" ya no aplica desde la 4.0, y la 6 termina de cerrar las brechas operativas más visibles.
El resultado es que ambos motores cubren un espectro mucho más amplio que hace cinco años. La pregunta cambió: ya no es "cuál puede" sino "cuál es mejor para este patrón específico".
Dónde gana cada uno (sin ambigüedad)
Postgres gana claramente cuando. Hay relaciones complejas entre entidades y los joins son frecuentes y multinivel. Necesitas garantías ACID estrictas a nivel de transacción de negocio (financieras, inventario, reservas). El reporting analítico vive sobre la misma base. Tienes equipo con SQL fuerte y prefieres mantener un solo motor. La carga es predominantemente lectura compleja con escritura moderada.
MongoDB gana claramente cuando. El modelo de datos cambia frecuentemente y la flexibilidad de esquema importa más que la integridad referencial. Trabajas con documentos profundos (perfiles, configuraciones, productos con atributos variables) que se leen casi siempre completos. La escala horizontal a través de sharding es requisito, no opción. El equipo viene del mundo JavaScript y prefiere seguir trabajando con objetos y no con filas.
Hay una zona gris amplia donde ambos pueden funcionar y la decisión se vuelve sobre operación, talento disponible y costo total.
Hallazgos de benchmarks Q2 2022
En tres proyectos cliente del segundo trimestre corrimos comparativas controladas. Los datos no son universales pero sí sirven como referencia.
Caso 1: catálogo de productos con atributos variables (e-commerce mediano). PostgreSQL con JSONB rindió 8% más rápido en lecturas filtradas que MongoDB con índices equivalentes, y permitió combinar atributos JSON con joins relacionales hacia inventario sin acrobacias. MongoDB ganó por margen estrecho en escrituras en lote.
Caso 2: sistema de mensajería interna con alto volumen de inserts. MongoDB con write concern apropiado superó a PostgreSQL por aproximadamente 30% en throughput de inserts simples, y la flexibilidad de esquema facilitó iteración rápida del producto. Pero PostgreSQL con particionamiento por fecha cerró la brecha cuando se introdujo carga de lecturas analíticas.
Caso 3: backend de aplicación financiera con transacciones multi-tabla. PostgreSQL ganó sin discusión. La aplicación requería transacciones que tocaban siete tablas distintas con consistencia estricta y joins de reporting; MongoDB pudo hacerlo pero con complejidad operativa significativamente mayor y menor performance bajo carga.
Marco de decisión práctico
Para una empresa mediana, una decisión técnica de base de datos debería pasar por cuatro preguntas concretas.
Primera, ¿cuál es la unidad atómica de tu negocio? Si es un documento que casi siempre se lee y escribe completo (perfil de usuario, pedido con detalle, configuración de cliente), MongoDB es candidato natural. Si son entidades que se relacionan en formas variables y necesitan integridad referencial, Postgres.
Segunda, ¿qué tan estable es el esquema? Si en seis meses sabes razonablemente bien cómo va a estar estructurado, Postgres. Si el producto está en discovery activo y la forma de los datos cambia cada sprint, MongoDB ofrece menos fricción.
Tercera, ¿qué tan crítica es la consistencia transaccional? Sistemas financieros, inventarios con stock estricto, reservas con asientos únicos: Postgres por defecto. Sistemas eventualmente consistentes (notificaciones, logs, perfiles, contenido): cualquiera de los dos.
Cuarta, ¿qué talento tienes y qué quieres tener en dos años? En México la oferta de ingenieros con SQL sólido es mayor que la de operadores expertos de MongoDB. Eso impacta costo de contratación y de operación.
Cuándo conviene migrar (y cuándo no)
Migrar una base de datos en producción es uno de los proyectos más caros y riesgosos que puede tomar una empresa. La regla práctica que aplicamos: migrar solo cuando el dolor operativo justifica el costo, no cuando la elección original "se sintió equivocada".
Tres escenarios donde sí conviene migración. Tu base actual está topada en performance y la siguiente versión escalable triplica costo de licencia o infra. La operación de la base actual consume tanto tiempo de equipo que paraliza desarrollo de features. Hay un cambio de modelo de negocio que rompe asumpciones fundamentales del esquema original.
Tres escenarios donde no conviene. El equipo nuevo prefiere otro motor pero el actual funciona. Apareció un benchmark de internet que dice que el otro es mejor. Quieres modernizar el stack para reclutar talento. En estos tres casos la solución suele ser inversión en aprendizaje y mejora del estado actual, no migración.
Cierre
En 2022 Postgres y MongoDB son las dos bases más maduras del mundo para sus dominios respectivos, y se solapan en cada vez más casos de uso. La elección no debería ser religiosa: debe responder a patrones de acceso, garantías que necesita el negocio, talento disponible y costo total de operación. Cuando hacemos el ejercicio bien, en empresas medianas mexicanas la respuesta usual es Postgres por defecto, MongoDB cuando hay justificación específica. Pero "usual" no es "siempre", y cada caso merece análisis honesto.
¿Quieres una segunda opinión? Conversemos. En ALCA ayudamos a CTOs y arquitectos a tomar decisiones de base de datos con criterio de negocio y benchmarks reales, no recomendaciones de moda. Agenda 30 minutos con nuestro equipo.