Curso DBA Senior – C6 – Más allá del DBA: visión de arquitectura

Capítulo 6

Del mantenimiento técnico a la construcción de ecosistemas escalables



¿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 aisladoAcoplamiento y dependencia circular
Estrategia de particionamientoPerformance y eficienciaCuellos de botella en lectura/escritura
Uso inteligente de cachés y colasEscalabilidad horizontalSaturación de recursos
Automatización de infraestructura (IaC)Replicabilidad y despliegues segurosErrores humanos al configurar
Documentación como parte del diseñoTransferencia de conocimiento“Dependencia del experto”
Observabilidad y alertasReacción proactivaCaídas inesperadas
Alta disponibilidad y redundanciaContinuidad operativaPé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écnicaSí / 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

  1. Dibuja tu entorno actual (a mano, en Draw.io o Notion)
  2. Responde:
    • ¿Qué parte crees que no escalaría si mañana tienes 10x usuarios?
    • ¿Qué parte no sabes cómo se recupera si cae?
  3. 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 datosDefinir nombres, tipos, relacionesConfusión, errores de lectura, código duplicado
Control de accesoPermisos por rol y trazabilidadFugas, accesos indebidos, auditorías fallidas
Lineaje de datos (Data lineage)Saber de dónde viene cada datoNadie sabe qué proceso generó un error
Categorización por sensibilidadIdentificar datos personales o críticosInfracciones legales, mal manejo
Auditoría y trazabilidadRegistro de qué se consulta, modifica o elimina“Nadie sabe quién borró esto”
Estándares de nombrado y modeladoNombres claros, estructuras coherentesCó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:

ObjetoTipoDescripciónSensibilidad
UsuariosTablaInformación base de cuentas activasAlta
FechaAltaColumnaFecha de creación del usuarioBaja
DocumentoIDColumnaDocumento de identidad cifradoCrítica (PII)
LogsErroresTablaRegistro de errores de procesosMedia

Ejemplo 3 – Control de acceso con trazabilidad

RolAccesoJustificaciónTrazabilidad activa
app_lecturaSELECT en vistasReportes automáticosSí (log de accesos)
soporte_dbaControl totalMantenimientoSí (auditoría activa)
user_marketingSELECT limitadoCRM y análisisNo (pendiente log)

Desafío práctico sugerido

Objetivo: auditar y documentar parte de tu entorno

  1. Elige una base crítica
  2. 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?
  3. Escribe 3 cosas que puedes estandarizar o aclarar en menos de una semana
  4. 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 baseSe factura por espacio reservado y consumo
Modelo de servicio (DTU vs vCore)Afecta precio base, escalabilidad y predictibilidad
Frecuencia de backups automáticosMá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éplicasImplican múltiples instancias facturadas
Consultas ineficientes o no indexadasElevan 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 update para 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

  1. Evalúa si estás usando más recursos de los necesarios (DTUs, tamaño, retención, backups)
  2. Revisa si puedes mover datos fríos a almacenamiento más barato
  3. Identifica al menos 1 base o réplica que podría pausarse o reducirse fuera de horario
  4. 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 claraExplicar riesgos y decisiones sin tecnicismos
Documentación y trazabilidadFacilita onboarding, control y colaboración
Empatía técnicaEntender los retos de otros perfiles sin juzgar
Pensamiento sistémicoVer más allá del script: impacto, dependencia y escalabilidad
Colaboración ágilIntegrarse a flujos de trabajo tipo DevOps, CI/CD o squads

Ejemplo: antes y ahora

TareaDBA tradicionalDBA moderno
Un error de rendimientoAjusta el índice y sigueDetecta el origen, propone rediseño, colabora con backend
Nueva integraciónCrea tablas a pedidoEvalúa modelo, aporta a flujos de datos, considera auditoría y escalabilidad
Reunión con negocioNo asisteParticipa, 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

  1. Haz una lista de los equipos con los que colaboras
  2. 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?
  3. 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.



🤓 Nuevos contenidos que podrían interesarte…


💎 ¿Quieres ver contenido potente y bien estructurado?


🙂 Explora otras categorías…

0 0 votos
Article Rating
Suscribirse
Notificarme sobre
guest
0 Comments
Más antiguos
Más recientes Más votados
Comentarios en línea
Ver todos los comentarios
Scroll to Top