¿Por qué este capítulo es clave?
Porque un DBA senior no se define solo por saber hacer backups o escribir consultas complejas, sino por:
- Participar en el diseño de arquitecturas resilientes
- Promover estándares y documentación técnica
- Optimizar recursos con visión de costo–beneficio
- Integrarse y liderar dentro de equipos multidisciplinarios
Este bloque es una expansión de tu rol. Ya no se trata solo de que funcione, sino de cómo escalar, sostener, colaborar y generar valor a largo plazo.
Subtemas que abordaremos:
- 6.1 Arquitecturas de datos escalables y resilientes
Diseño técnico que soporta el crecimiento sin volverse frágil - 6.2 Gobierno de datos, documentación y estándares
Organización, trazabilidad y buenas prácticas que dan confianza - 6.3 Optimización de costos en la nube
Porque pagar más no significa tener más - 6.4 El rol del DBA moderno en equipos multidisciplinarios
Cómo aportar, colaborar y liderar sin ser un silo técnico
Ejemplo para abrir el tema:
Un sistema crítico dejó de escalar porque estaba pensado solo para que funcionara “con lo que había”. Nadie documentaba, no había naming convention, y se asumía que el DBA “arreglaba cuando fallaba”.
¿Qué pasaría si tú fueras quien diseña desde el inicio una arquitectura preparada para el crecimiento?
Pregunta para introspección antes de avanzar:
¿Tu trabajo actual te permite diseñar? ¿O solo “operar”?
¿Qué cambiaría si tuvieras voz al momento de decidir cómo debe funcionar todo el ecosistema de datos?
6.1 – Arquitecturas de datos escalables y resilientes
Diseñar para que no falle, y si falla, que se recupere solo
¿Qué implica una arquitectura de datos bien pensada?
Una arquitectura sólida no solo permite que el sistema funcione… permite que:
- Crezca sin colapsar
- Cambie sin romperse
- Soporte fallos sin intervención inmediata
- Permita equipos que colaboren sin pisarse
Es pasar de “cómo hago que esto funcione” a “cómo hago que esto siga funcionando con más usuarios, más datos, más complejidad… sin caos”.
Principios de una arquitectura escalable y resiliente
| Principio | ¿Qué aporta? | ¿Qué evita? |
|---|---|---|
| Separación de dominios (bases por módulo) | Modularidad, mantenimiento aislado | Acoplamiento y dependencia circular |
| Estrategia de particionamiento | Performance y eficiencia | Cuellos de botella en lectura/escritura |
| Uso inteligente de cachés y colas | Escalabilidad horizontal | Saturación de recursos |
| Automatización de infraestructura (IaC) | Replicabilidad y despliegues seguros | Errores humanos al configurar |
| Documentación como parte del diseño | Transferencia de conocimiento | “Dependencia del experto” |
| Observabilidad y alertas | Reacción proactiva | Caídas inesperadas |
| Alta disponibilidad y redundancia | Continuidad operativa | Pérdidas por fallos simples |
Mal diseño vs diseño escalable
Ejemplo 1: una única base con todas las entidades del sistema
- Mal diseño: una tabla
Usuarios,Clientes,Proveedores,Productos,Ventas,Errores,Notificaciones, todo en una sola base con miles de SPs. - Problemas: mantenimiento riesgoso, backups lentos, dependencias cruzadas invisibles, caos si algo falla.
Buen diseño: arquitectura por dominios
BaseUsuarios,BaseComercial,BaseLog,BaseAuditoria- Comunicadas por procesos ETL, colas o APIs
- Consultas optimizadas por volumen y tipo de uso
Ejemplo 2: joins entre microservicios
- Mal diseño: cada microservicio accede a la base de otro directamente para sacar datos.
- Problemas: si una base cambia, rompe otra. Cero autonomía. Imposible escalar servicios separados.
Buen diseño: independencia entre servicios
- Cada servicio tiene su base
- Se sincronizan vía colas o APIs con contratos claros
- Performance optimizada localmente, sin acoplamientos
Diseño técnico mínimo que resiste y escala
- Azure SQL para transacciones
- Blob Storage para datos pesados
- Azure Data Factory para integraciones y limpieza
- Power BI conectado a views optimizadas
- Monitorización activa con Log Analytics + alertas
- Respaldo en Blob + recuperación automatizada
- Naming conventions desde el primer objeto
- Infraestructura reproducible con Terraform o Bicep
Checklist de revisión arquitectónica
| Pregunta técnica | Sí / No / Parcial |
|---|---|
| ¿Cada módulo crítico tiene su base o esquema separado? | ☐ |
| ¿Tu arquitectura resiste que un servicio caiga sin tumbar todo? | ☐ |
| ¿Puedes escalar partes del sistema sin duplicar todo? | ☐ |
| ¿Tienes alertas si hay degradación de performance o espacio? | ☐ |
| ¿Tu documentación permite que otro DBA entre sin perderse? | ☐ |
| ¿Has probado restauraciones, failover o cargas pesadas? | ☐ |
| ¿Puedes clonar el entorno completo con un script? | ☐ |
Desafío estratégico-técnico
Reto: mapear tu arquitectura actual y detectar puntos frágiles
- Dibuja tu entorno actual (a mano, en Draw.io o Notion)
- Responde:
- ¿Qué parte crees que no escalaría si mañana tienes 10x usuarios?
- ¿Qué parte no sabes cómo se recupera si cae?
- Escribe una mejora pequeña y una estructural que podrías plantear en tu equipo
¿Qué deberías haber visto con esta expansión?
- Escalabilidad no es un lujo, es una forma de pensar
- Diseñar bien no es complejo, es intencional
- Lo que hoy es “suficiente” puede volverse un cuello de botella si no lo preparas
- Como DBA, puedes ser constructor del sistema, no solo su reparador
6.2 – Gobierno de datos, documentación y estándares
Porque un sistema confiable no solo guarda datos… los respeta, los ordena y los explica
¿Qué es gobierno de datos?
Es el conjunto de prácticas que garantizan que los datos sean:
- Confiables
- Accesibles
- Trazables
- Protegidos
- Comprensibles para todos los involucrados
No es burocracia. Es claridad.
Sin gobierno, todo depende de la memoria del equipo técnico, o peor aún: de una sola persona.
¿Por qué los DBA deben liderar (o al menos entender) el gobierno de datos?
Porque tú:
- Conoces los orígenes y flujos de datos
- Sabes quién accede a qué
- Tomas decisiones sobre cómo, dónde y cuánto almacenar
- Y puedes ser el puente entre lo técnico, lo legal y lo operativo
Áreas clave del gobierno de datos aplicables al DBA
| Área | ¿Qué implica? | ¿Riesgo si falta? |
|---|---|---|
| Diccionario de datos | Definir nombres, tipos, relaciones | Confusión, errores de lectura, código duplicado |
| Control de acceso | Permisos por rol y trazabilidad | Fugas, accesos indebidos, auditorías fallidas |
| Lineaje de datos (Data lineage) | Saber de dónde viene cada dato | Nadie sabe qué proceso generó un error |
| Categorización por sensibilidad | Identificar datos personales o críticos | Infracciones legales, mal manejo |
| Auditoría y trazabilidad | Registro de qué se consulta, modifica o elimina | “Nadie sabe quién borró esto” |
| Estándares de nombrado y modelado | Nombres claros, estructuras coherentes | Código caótico, difícil de escalar o mantener |
Ejemplo 1 – Estandarizar nombres de objetos
En lugar de:
Tabla1, TblaVentas, users_old, d_123
Usar convención como:
dbo.Usuarios
dbo.Ventas
log.Eventos
cat.Productos
dim.Fecha
¿Qué cambia?
Entiendes qué hace cada tabla con solo verla. Mejora la colaboración, el debugging y la escalabilidad.
Ejemplo 2 – Diccionario de datos mínimo viable
Puedes documentar en Notion, Excel o Azure Purview:
| Objeto | Tipo | Descripción | Sensibilidad |
|---|---|---|---|
| Usuarios | Tabla | Información base de cuentas activas | Alta |
| FechaAlta | Columna | Fecha de creación del usuario | Baja |
| DocumentoID | Columna | Documento de identidad cifrado | Crítica (PII) |
| LogsErrores | Tabla | Registro de errores de procesos | Media |
Ejemplo 3 – Control de acceso con trazabilidad
| Rol | Acceso | Justificación | Trazabilidad activa |
|---|---|---|---|
| app_lectura | SELECT en vistas | Reportes automáticos | Sí (log de accesos) |
| soporte_dba | Control total | Mantenimiento | Sí (auditoría activa) |
| user_marketing | SELECT limitado | CRM y análisis | No (pendiente log) |
Desafío práctico sugerido
Objetivo: auditar y documentar parte de tu entorno
- Elige una base crítica
- Revisa:
- ¿Quién tiene acceso y por qué?
- ¿Qué tablas deberían estar documentadas y no lo están?
- ¿Sabes de dónde viene cada campo clave en un reporte importante?
- Escribe 3 cosas que puedes estandarizar o aclarar en menos de una semana
- Compártelo con tu equipo o conviértelo en tu primer manual técnico
¿Qué deberías haber notado?
- Gobernar no es controlar: es ordenar, anticipar y facilitar
- La documentación no es opcional si quieres escalar o delegar
- Tú como DBA puedes liderar el cambio desde lo concreto: roles claros, nombres limpios, datos entendibles
6.3 – Optimización de costos en la nube
No todo lo que escala necesita ser caro, y no todo lo caro está bien configurado
¿Por qué importa que un DBA piense en costos?
Porque tu arquitectura y tus decisiones de almacenamiento, backups, rendimiento y disponibilidad pueden:
- Duplicar costos si no se planifican bien
- Generar gastos innecesarios por sobredimensionamiento
- O incluso provocar pérdidas si se cae un sistema mal escalado
Y porque en entornos Azure, cada GB, cada consulta y cada segundo en CPU se factura.
Un DBA que no solo evita errores, sino que optimiza inversión, es invaluable para cualquier equipo.
Principales factores que afectan costos en Azure SQL
| Elemento | ¿Cómo impacta el costo? |
|---|---|
| Tamaño de la base | Se factura por espacio reservado y consumo |
| Modelo de servicio (DTU vs vCore) | Afecta precio base, escalabilidad y predictibilidad |
| Frecuencia de backups automáticos | Más retención = más espacio = más costo |
| Acceso frecuente (lectura masiva) | Puede generar más consumo si no hay caching ni views |
| Alta disponibilidad y réplicas | Implican múltiples instancias facturadas |
| Consultas ineficientes o no indexadas | Elevan CPU y DTUs, disparan escalado |
Estrategias para reducir costos sin perder funcionalidad
1. Elegir el modelo correcto: DTU vs vCore
- DTU: bueno para cargas predecibles, precio más fijo
- vCore: más flexible, útil si puedes ajustar según carga real
- ¿Tu base está sobredimensionada?
2. Escalado inteligente (auto-pause o horarios)
Si usas bases que no están activas todo el tiempo, puedes:
- Activar auto-pause (bases serverless)
- Definir escalado automático según carga
- O usar scripts con
az sql db updatepara cambiar niveles fuera de horario
3. Almacenar lo que realmente necesitas
- Usa retención lógica en lugar de mantener años de datos en línea
- Mueve históricos a Blob Storage + Polybase
- Comprime backups antiguos
4. Audita y apaga lo que no se usa
-- Consultar bases con poco uso en los últimos días (Azure SQL)
SELECT TOP 10 *
FROM sys.dm_db_resource_stats
WHERE avg_cpu_percent < 5 AND avg_data_io_percent < 5;
5. Controlar exportaciones excesivas y uso en Power BI
- Segmentar vistas de análisis
- Usar pre-agrupamientos y columnas necesarias
- Evitar
SELECT *en datasets conectados a la nube
6. Monitoriza consumo en tiempo real
Usa Azure Monitor o consulta desde CLI:
az monitor metrics list --resource <nombre_recurso> --metric "dtu_consumption_percent"
Desafío práctico sugerido
Objetivo: ahorrar dinero sin afectar disponibilidad
- Evalúa si estás usando más recursos de los necesarios (DTUs, tamaño, retención, backups)
- Revisa si puedes mover datos fríos a almacenamiento más barato
- Identifica al menos 1 base o réplica que podría pausarse o reducirse fuera de horario
- Documenta tu hallazgo y propón un cambio concreto con impacto estimado
¿Qué deberías haber notado?
- Optimizar costos no es recortar recursos a ciegas, es ajustar con inteligencia
- Como DBA, puedes generar ahorro sin sacrificar rendimiento
- Entender cómo se factura lo que administras te convierte en una figura estratégica, no solo técnica
6.4 – El rol del DBA moderno en equipos multidisciplinarios
De guardián del sistema a aliado estratégico en soluciones complejas
¿Cómo ha evolucionado el rol del DBA?
El DBA ya no es solo quien:
- Hace backups
- Sube scripts
- Revisa errores de consultas
Ahora es alguien que:
- Participa en decisiones de arquitectura
- Aporta al diseño de soluciones escalables
- Entiende el impacto del rendimiento sobre el negocio
- Traduce entre equipos técnicos, analíticos y de producto
El DBA moderno es un integrador técnico con visión de producto, eficiencia y confiabilidad.
¿Qué significa ser parte de un equipo multidisciplinario?
Implica trabajar codo a codo con:
- Desarrolladores que necesitan estructuras que escalen
- Ingenieros de datos que extraen, limpian y modelan información
- Analistas y científicos de datos que requieren acceso eficiente y seguro
- Personas de negocio que esperan resultados claros, no excusas técnicas
- Líderes técnicos y de producto que necesitan tomar decisiones informadas
Habilidades que hacen valioso a un DBA en este entorno
| Habilidad | ¿Qué permite? |
|---|---|
| Comunicación clara | Explicar riesgos y decisiones sin tecnicismos |
| Documentación y trazabilidad | Facilita onboarding, control y colaboración |
| Empatía técnica | Entender los retos de otros perfiles sin juzgar |
| Pensamiento sistémico | Ver más allá del script: impacto, dependencia y escalabilidad |
| Colaboración ágil | Integrarse a flujos de trabajo tipo DevOps, CI/CD o squads |
Ejemplo: antes y ahora
| Tarea | DBA tradicional | DBA moderno |
|---|---|---|
| Un error de rendimiento | Ajusta el índice y sigue | Detecta el origen, propone rediseño, colabora con backend |
| Nueva integración | Crea tablas a pedido | Evalúa modelo, aporta a flujos de datos, considera auditoría y escalabilidad |
| Reunión con negocio | No asiste | Participa, propone opciones técnicas viables y sostenibles |
| Nuevas herramientas (Data Factory, Azure CLI) | “Eso es del equipo de datos” | Aprende lo necesario y colabora sin límites |
¿Qué puede aportar un DBA más allá del SQL?
- Visión de gobernabilidad de datos: permisos, auditoría, estructuras
- Eficiencia en procesos ETL o integración de fuentes
- Experiencia para prevenir errores típicos en decisiones de diseño
- Aporte a sistemas de monitoreo, observabilidad y recuperación ante fallos
- Capacitación cruzada: enseñar a otros perfiles a entender y respetar los datos
Desafío práctico reflexivo
Objetivo: identificar tu estilo actual y tus próximos pasos de evolución
- Haz una lista de los equipos con los que colaboras
- Pregúntate:
- ¿Qué necesitan de mí más allá del script?
- ¿Me explico bien cuando algo falla o cambia?
- ¿Qué podría aprender de su trabajo para colaborar mejor?
- Escribe 2 acciones que puedas hacer esta semana para salir del “modo técnico aislado” y entrar al “modo colaborativo estratégico”
¿Qué deberías haber notado?
- El DBA moderno no se aísla, se vuelve un nodo clave en el sistema
- Tu experiencia puede ser la diferencia entre un parche y una solución sostenible
- Evolucionar no significa dejar el SQL, sino usar tu conocimiento para conectar mejor con todo el equipo
¿Te gustó lo que encontraste aquí?
Si este contenido te fue útil o te inspiró, considera apoyar esta iniciativa.
Aquí sigo, creando recursos que aporten claridad, estructura y propósito en tu camino.

