Para un CRM inmobiliario, PostgreSQL gana claramente sobre MongoDB. Los datos son relacionales por naturaleza: propiedades a propietarios, contratos a pagos, garantías a tickets de post venta. MongoDB tendría sentido si fuera log analytics o catálogo plano, no es el caso aquí. Catalizadora construye CRMs inmobiliarios con PostgreSQL sobre Supabase Pro. Sin retainers, sin licencias atadas, código a tu nombre.
¿Por qué los datos de inmobiliaria son relacionales?
Un CRM inmobiliario serio modela estos objetos centrales:
- Propiedad (departamento, casa, terreno) con atributos (m2, ubicación, precio, fotos)
- Propietario (persona física o jurídica) con datos fiscales y contacto
- Comprador potencial (lead) con interés, capacidad de pago, canal de origen
- Asesor inmobiliario (vendedor) con cartera asignada
- Contrato (reserva, separación, escritura) con cláusulas, fechas, montos
- Pago (seña, mensualidad, escrituración) con método y comprobante
- Ticket de post venta (incidencia) con foto, proveedor asignado, status
- Visita (programada, realizada, cancelada) con feedback
Cada uno de estos objetos tiene relaciones uno a muchos y muchos a muchos. Una propiedad tiene uno o más propietarios, varios potenciales compradores, varias visitas, eventualmente un contrato, múltiples pagos, eventualmente tickets de post venta. PostgreSQL maneja estas relaciones con joins eficientes; MongoDB obligaría a duplicar datos en cada documento o hacer múltiples queries y joins en código de aplicación.
PostGIS: la killer feature para inmobiliarias
PostgreSQL con PostGIS resuelve búsquedas geoespaciales nativas que ningún CRM inmobiliario serio puede ignorar:
- "Dame propiedades en radio de 2 km del Polanco"
- "Lista departamentos a menos de 500 metros del metro Auditorio"
- "Calcula promedio de precio por m2 en el barrio Roma Norte"
- "Encuentra todas las propiedades dentro del polígono que dibujé en el mapa"
MongoDB tiene índices geoespaciales pero menos maduros y con menos operadores. PostGIS es estándar industria para análisis geoespacial serio. Una inmobiliaria que ofrece búsqueda por mapa (todas las modernas) necesita PostGIS o equivalente.
El caso real: una distribuidora con Data Lake en PostgreSQL
Catalizadora construyó el Data Lake unificado para una distribuidora multi-país con arquitectura Bronze, Silver, Gold sobre Supabase (PostgreSQL gestionado). Métricas concretas:
- 3.6 millones de filas migradas a Supabase en 48 horas
- 1.17 TB en GCS para Bronze parquet raw
- 197 tablas snapshot más 825 silver views más 75 gold materialized views
- Verificación fila a fila: source = bronze = silver = gold
- 73 tablas Gold finales normalizadas
- 57 RLS policies más 17 roles RBAC
El mismo patrón aplica a una inmobiliaria mediana con 500 a 5,000 propiedades en catálogo, 200 a 2,000 leads activos por mes, y 10 a 100 contratos en proceso. La capa Bronze guarda datos crudos del CRM legacy, portales (Mercado Libre, Inmuebles24, Vivanuncios) y sistemas de pago. La capa Silver normaliza. La capa Gold materializa KPIs ejecutivos.
Comparativa para CRM inmobiliario específico
| Característica | PostgreSQL | MongoDB |
|---|---|---|
| Joins eficientes | Excelente | Limitado |
| ACID transactions | Nativo | Limitado a documento (multi-doc desde 4.0) |
| JSONB para campos flexibles | Sí, indexable | Sí (nativo) |
| Full Text Search | Nativo | Atlas Search aparte |
| Geo queries serias | PostGIS (industria estándar) | 2dsphere básico |
| Row Level Security multi-tenant | Nativo | No nativo |
| Replicación lógica | Nativo | Replica sets |
| Ecosistema ORM/herramientas | Prisma, TypeORM, SQLAlchemy maduros | Mongoose, Prisma básico |
| Hosting gestionado serio | Supabase, Neon, RDS | Atlas |
¿Cuándo MongoDB tendría sentido?
MongoDB es buena elección cuando:
- Datos sin relaciones (catálogo plano, logs, eventos sin foreign keys)
- Schema cambia muy frecuentemente sin estabilizarse
- Cada documento es completamente independiente (no se cruza con otros)
- Operación de alto throughput de escritura sin agregaciones cross-collection
Ninguna de estas características aplica a CRM inmobiliario típico. Los datos sí son relacionales, el schema estabiliza después de fase de Mapeo, los objetos se cruzan permanentemente (consulta "propiedades del propietario X con contratos vigentes y pagos atrasados"), y la operación tiene más lectura agregada que escritura masiva.
RLS multi-tenant: la diferencia para SaaS inmobiliarios
Si vas a construir un SaaS inmobiliario que sirva a varias inmobiliarias bajo el mismo código (multi-tenant), PostgreSQL con Row Level Security gana fuerte. Cada inmobiliaria ve solo sus propiedades, leads, contratos. La separación está en la capa de base de datos, no en código de aplicación. Cero riesgo de leak por bug.
Catalizadora aplicó este patrón en la distribuidora multi-país con 100 franquicias: 7 roles RBAC, RLS por oficina usando JWT custom claims (auth.user_oficina_id()), DENY UPDATE/DELETE en audit log, schemas silver y gold protegidos por RLS. Cada franquicia ve solo sus datos. La arquitectura es portable directo a un SaaS inmobiliario que sirve a 10 a 200 inmobiliarias bajo el mismo deploy.
Costos operativos comparados
Para CRM inmobiliario con 500,000 a 5 millones de filas y 10 a 200 usuarios activos:
| Concepto | Supabase Pro (PostgreSQL) | MongoDB Atlas |
|---|---|---|
| Plan base | 25 USD mensuales | 57 USD mensuales (M10) |
| Compute scale up | Lineal | Lineal pero más caro |
| Storage 100 GB | Incluido | 25 USD aparte |
| Backups daily 30d | Incluido | 25 USD aparte |
| Realtime subscriptions | Incluido | Atlas Triggers aparte |
| Auth gestionada | Incluido | Realm aparte |
Supabase Pro entrega más capacidades nativas por menos costo en el rango de pymes inmobiliarias.
¿Y los embeddings para búsqueda semántica?
PostgreSQL con pgvector permite almacenar embeddings (vectores de OpenAI, Anthropic, Cohere) directo en la misma base que el CRM. Permite búsquedas semánticas tipo "departamentos que se sienten más como esta descripción del cliente" sin agregar otra base. MongoDB tiene Atlas Vector Search pero requiere índice aparte y mayor complejidad operacional.
Para una inmobiliaria que quiere ofrecer chatbot "describime la casa que buscás" con búsqueda semántica sobre catálogo, pgvector dentro del mismo PostgreSQL es el camino.
Próximos pasos
Si vas a construir CRM inmobiliario serio en LATAM, la decisión correcta para 95 por ciento de los casos es PostgreSQL sobre Supabase Pro. La excepción son sistemas de log analytics o catálogos planos sin relaciones.
MAGIA Forge construye el CRM inmobiliario completo en 12 semanas con CI/CD, pruebas automatizadas y hardening por 20,000 USD pago único. Para inmobiliarias chicas (menos de 50 propiedades activas, menos de 5 asesores), MAGIA Core cubre el caso en 12 semanas por 15,000 USD. Código a tu nombre, sin retainers, sin licencias atadas.