🇲🇽 Tecnología | IA | Negocios | Espiritualidad | Ideas que conectan.

Si quieres entender qué hace un DBA, imagínate una oficina llena de archiveros en 1950

Si quieres entender qué hace un DBA, imagínate una oficina llena de archiveros en 1950

Cada vez que alguien me pregunta a qué me dedico y respondo "administrador de bases de datos", veo en su cara ese gesto educado de quien no entendió nada pero no quiere preguntar más. Y lo entiendo. "Base de datos" suena a caja negra con relámpagos dentro.

Así que cuando doy cursos, ya no empiezo con arquitecturas, ni con diagramas de la SGA, ni con las mil siglas de Oracle. Empiezo contando una historia. Esta.

Una oficina cualquiera, hacia 1955

Imagínate una oficina de esas que salen en las películas en blanco y negro. Escritorios de metal alineados en hileras perfectas, máquinas de escribir tecleando al mismo tiempo, ceniceros a medio llenar. Y archiveros. Montones de archiveros, tantos que cubren paredes enteras.

En esa oficina, el trabajo de cientos de personas consistía básicamente en una cosa: llenar papeles, pasárselos a alguien más para que actuara sobre ellos, y después guardarlos en algún lugar donde pudieran recuperarse tiempo después. Eran miles y miles de hojas con información crítica —nóminas, contratos, expedientes de clientes— y alguien tenía que encargarse de que ese mar de papel no se volviera un caos.

Ese alguien era un pequeño ejército de secretarias cuya única misión era mantener la información ordenada. No cualquier orden: un orden eficiente. Que cualquiera pudiera encontrar lo que buscaba en segundos, que ocupara el menor espacio posible, que nada se perdiera, que nadie rompiera nada. Cuando llegaron las computadoras, los papeles desaparecieron. Pero el problema no. El trabajo de organizar esa información siguió existiendo, solo que ahora con teclados y discos duros.

Ahí es donde nace la figura del DBA. Nosotros somos las secretarias de 1955, pero en digital.

Y esto no es una metáfora floja que invento para que suene lindo. Los conceptos siguen siendo literalmente los mismos: hojas sobre el escritorio, archiveros por empleado, índices al principio de cada folder, permisos para abrir ciertas gavetas, bitácoras de quién tocó qué. Lo único que cambió fueron los nombres —y no tanto, como vas a ver.

Tu primer día como "administrador de archiveros"

Para que la historia funcione mejor, te voy a poner en los zapatos de una secretaria joven que acaba de conseguir el mejor trabajo de su vida. Año 1955. Empresa financiera enorme. Y tu puesto no es cualquier cosa: te nombraron jefa del área de administración de datos.

Te dan una oficina inmensa y más de 50 personas a tu cargo. El edificio está dividido en dos mundos que conviven pegados: de un lado, contadores, administradores, gente de recursos humanos —los que facturan, los que mueven el negocio—. Del otro lado, tu reino: la bodega de archiveros.

Suena a trabajo aburrido. No lo es. Es la base de la pirámide. Sin tu bodega, el trabajo de todos los demás no sirve para nada, porque no hay dónde almacenar lo que producen ni cómo recuperarlo después. Si tu área colapsa, la empresa colapsa. Así de simple.

Para conservar el puesto tienes que cumplir dos cosas que parecen fáciles pero no lo son: conocer perfectamente a cada persona que trabaja contigo y qué hace cada una, y memorizar todas las reglas de la casa. No algunas. Todas. Y seguirlas sin excepciones, porque la información que manejan vale más que el edificio entero.

La filosofía de la empresa: ACID

Tu primer día, antes de enseñarte nada, el dueño de la empresa te sienta y te explica la filosofía. Se llama ACID y es innegociable. Cada letra es una regla de oro, y romper una sola es causal de despido inmediato.

  • A — Atomicidad. Cada transacción es "todo o nada". Si un empleado está copiando un expediente de cinco hojas y a la mitad del proceso se va la luz, no puede quedar el expediente con tres hojas nuevas y dos viejas. O se hacen las cinco, o no se hace ninguna. Punto.
  • C — Consistencia. Después de cada cambio, la bodega tiene que quedar en un estado válido. Si la regla dice que todo expediente debe tener firma del jefe, no puede quedarse uno sin firma porque "se me olvidó". Las reglas del negocio se cumplen siempre.
  • I — Aislamiento. Si dos empleados están modificando cosas al mismo tiempo, uno no puede ver lo que el otro está escribiendo a la mitad. Cada quien trabaja como si fuera el único usando la bodega, aunque haya 500 personas haciendo lo mismo en paralelo.
  • D — Durabilidad. Una vez que un cambio se guarda, se guarda. Se puede incendiar la oficina, puede caer un rayo, puede renunciar toda la plantilla: ese cambio tiene que seguir ahí cuando vuelvan a abrir.

Si ya trabajas con bases de datos, reconoces estas cuatro letras. Pero fíjate que no son conceptos técnicos. Son reglas de sentido común para cualquiera que maneje información valiosa ajena. Oracle no las inventó; las codificó.

Las reglas para los empleados

Ya que entendiste la filosofía, el dueño te explica cómo trabaja el resto de la oficina contigo. Hay 500 empleados en total —finanzas, RRHH, cadena de suministro— y todos, absolutamente todos, llenan formatos en papel todo el día. Algunos formatos son de una hoja; otros, de doscientas. Y todos necesitan guardarlas y consultarlas constantemente.

Tu misión: que los 500 puedan hacer esto al mismo tiempo, sin un solo error, y lo más rápido humanamente posible.

Para lograrlo, existen estas reglas que los empleados deben seguir a rajatabla:

  1. Gafete y contraseña. Nadie entra a la bodega sin identificarse. Además de portar su gafete con nombre, cada empleado debe dar una contraseña al cruzar la puerta. Y aun así, necesita un permiso explícito del dueño para poder hacerlo, aunque esté registrado en nómina. (En Oracle: usuarios, passwords y grants.)
  2. Un archivero por empleado. Cuando entra alguien nuevo, tú le asignas un archivero del tamaño que creas conveniente según el tipo de trabajo que hará. (Esquemas y tablespaces por usuario.)
  3. Archivero etiquetado y privado. El archivero lleva el nombre del empleado en la cejilla. Solo él puede abrirlo, solo él puede sacar folders y solo él puede modificarlos —a menos que dé permiso explícito a alguien más, especificando si puede solo leer o también escribir. (Privilegios SELECT y UPDATE.)
  4. Fotocopia antes de modificar. Cada vez que alguien saca un folder con intención de cambiar algo, uno de tus asistentes está obligado a sacarle una fotocopia con fecha y hora antes de que lo toque. Sin excepciones. Esa copia te puede salvar la vida mañana. (Undo.)
  5. Archivero lleno, paro de línea. Si el archivero de alguien se llena, ese empleado no puede meter ni una hoja más en ningún otro lado. Se queda sin trabajar hasta que tú resuelvas el problema, ya sea cambiándole el archivero por uno más grande o asignándole uno adicional. (Tablespace lleno. Cualquier DBA que esté leyendo ya tuvo un flashback desagradable.)
  6. Un archivero pertenece a un solo empleado. Un empleado puede tener uno, dos o diez archiveros —pero un archivero nunca se comparte. (Relación tabla-esquema.)
  7. Reglas pegadas al folder. Cada documento puede traer una hoja extra con instrucciones del tipo: "jamás dejes el campo de apellido vacío", "no se puede repetir el número de teléfono", o incluso: "cuando anotes en el campo de sueldo más de 10 mil pesos, avísale a Jorge para que lo registre en su libro". Esas reglas no son opcionales. (Constraints y triggers.)
  8. Nombre y número de bodega. Cada bodega tiene un número y un nombre propios. Si el empleado no los sabe, no entra. (Listener: SID y service name.)
  9. Los documentos nunca se tiran. Cuando alguien borra algo, no va directo al incinerador. Se apila en un bote de basura interno, y ese bote solo se vacía cuando tú decides. (Papelera de reciclaje, flashback drop.)

¿Parece fácil? Sigamos.

Las reglas para ti, el administrador

Ya conoces lo que el resto hace. Ahora lo que te toca a ti, que básicamente es sostener todo el tinglado sin que se caiga:

  1. Te asignan una bodega inicial. Tú estimas el tamaño. Te vas a equivocar las primeras veces. Está bien, todos nos equivocamos con el sizing.
  2. Compras los archiveros del tamaño adecuado. Ni tan chicos que se llenen en una semana, ni tan gigantes que desperdicies espacio.
  3. Solo puedes usar tres paredes. Si llenas las tres, no puedes empezar a amontonar archiveros en medio de la bodega porque se vuelve intransitable. Tienes dos opciones: deshacerte de documentos que ya no sirvan, o pedir que te asignen otra bodega adicional.
  4. Bitácora de todo. Y cuando digo todo, es todo: qué archivero es de quién, cuánto espacio queda en la bodega, cuánto queda dentro de cada archivero, qué tipo de documentos hay dónde, los nombres de todos los empleados, la ubicación física de cada mueble. (Diccionario de datos.)
  5. La habitación de las copias. Cada vez que un usuario modifica algo, tu asistente no solo saca la fotocopia: la archiva en otra habitación distinta con fecha y hora. Y tú tienes que cuidar que esa habitación no se llene, porque si se llena, todos paran de trabajar. (Archivelog. El día que un DBA descubre que su filesystem de archivelogs está al 100% es un día que no olvida.)
  6. Las copias no regresan a la bodega central. Esto es importante. Si alguien metió la pata y quieres revertir un cambio, no puedes simplemente tomar la fotocopia vieja y meterla de vuelta —porque ese cambio pudo haber disparado otros cambios en cadena, en otros folders, de otros empleados. Las copias sirven para recuperar consistencia en caso de interrupción, y la forma correcta de usarlas es aplicar la cadena completa hasta el último estado conocido bueno. (Redo + recovery.)
  7. Para mover archiveros, paras la oficina. Si necesitas reacomodar el mobiliario, no puedes hacerlo con gente metiendo y sacando folders. O cierras con llave los archiveros que vas a mover, o cierras la bodega entera un rato. (Operaciones en modo mount o con tablas bloqueadas.)

El arte de la optimización

Aquí es donde el trabajo deja de ser operativo y se vuelve interesante. Las reglas anteriores te mantienen con chamba. Las que siguen son las que te vuelven bueno en lo que haces.

Nadie te va a correr si no las aplicas. Pero si no las aplicas, la oficina va a moverse al doble de lento de lo que podría, y tarde o temprano alguien se va a dar cuenta.

  1. Índices. Ponle un índice al inicio de cada folder, o mejor, ten un archivero dedicado solo a índices. Así cuando un empleado busca algo específico lo encuentra en segundos en vez de hojear hoja por hoja. Hay un costo, eso sí: si ese folder se modifica a cada rato, mantener los índices actualizados consume tiempo. Por eso los índices son armas de doble filo —indispensables para lecturas, caros para escrituras.
  2. Cerca de quien los usa. Lleva registro de qué empleado consulta qué con más frecuencia y acerca físicamente esos archiveros a su escritorio. Evita que tenga que caminar media oficina cada vez. (Caché, buffer pool, statistics.)
  3. Compactar huecos. Con el ir y venir de documentos, entre folder y folder quedan huequitos donde no cabe un documento entero. Cada cierto tiempo vale la pena reacomodar todo para recuperar ese espacio. (Shrink, reorg, rebuild.)
  4. Transacciones grandes. En casos especiales, conviene que los empleados carguen sus documentos en paquetes grandes en vez de uno por uno, para no darle mil vueltas al pasillo. Pero ojo: si la oficina se quema a media transacción grande, pierdes todo el lote. Hay que balancear.

Tu equipo

Te prometí que ibas a conocer a la gente que trabaja para ti. Son pocos, pero cada uno tiene una función muy específica, y cualquiera que falle trae consecuencias en cascada. Aquí van, con sus nombres reales en Oracle entre paréntesis.

  • El portero (LISTENER). Está en la puerta de la bodega. Lo único que hace es preguntarle a cada empleado el nombre y número de la bodega a la que va. Si el empleado no sabe, o dice algo incorrecto, lo manda de regreso. Aparte de eso, no hace más. No abre archiveros, no modifica nada. Solo recibe y redirige.
  • El fotocopista (ARCH). Cada documento que se va a modificar pasa primero por sus manos. Saca la copia, le pone fecha y hora, y la manda a la habitación de copias. Si él se atora, la oficina entera se atora.
  • El reloj (CKPT). Cada cierto tiempo recorre la oficina y le pone sello con fecha y hora a los documentos que ya dejaron de modificarse. Esos sellos son tus puntos de referencia. Si la oficina se incendia, cuando reconstruyas sabes exactamente hasta dónde llegar.
  • La máquina del tiempo (FBDA). Este es especial. Le asignas ciertos documentos críticos y él los copia religiosamente con sus fechas, para que si algún día alguien mete la pata puedas devolver solo ese documento al estado exacto que tenía el martes pasado a las 3 de la tarde. Es el flashback.
  • El cronista (LGWR). Lleva un cuaderno enorme donde anota, en orden cronológico, cada movimiento que ocurre en la oficina: quién escribió qué, cuándo, en qué folder. Si todo lo demás se pierde, ese cuaderno te permite reconstruir lo que pasó. Es el redo log.
  • El de mantenimiento (PMON). Probablemente el más subestimado. Cada cierto tiempo recorre la oficina limpiando escritorios abandonados: si un empleado se fue a comer dejando folders abiertos, él los guarda. Si alguien renunció a media semana, él libera el archivero. Sin PMON, la bodega se llena de basura en cuestión de días.

Y entonces, ¿qué es un DBA?

Cuando yo empecé a estudiar bases de datos me daban a memorizar siglas: SGA, PGA, UNDO, controlfile, redolog, ASM, RMAN, SYSDBA. Listas enteras. Y las memorizaba sin entender qué diablos hacía cada una, para luego reprobar la pregunta donde el maestro cambiaba ligeramente el contexto.

Años después me di cuenta de algo: ninguno de esos conceptos es nuevo. Todos existían en la oficina de 1955. Solo que en Oracle les pusieron nombres más aparatosos.

  • La SGA y la PGA son los escritorios y las mesas de trabajo compartidas donde los empleados extienden sus papeles mientras los trabajan. La SGA es la mesa grande del centro que todos comparten; la PGA es el escritorio personal de cada uno.
  • El controlfile es el mapa de la bodega: dónde está cada archivero, cada bitácora, cada habitación de copias. Si lo pierdes, no sabes ni dónde estás parado.
  • Los redo logs son el cuaderno del cronista.
  • Undo es la pila de fotocopias "por si acaso".
  • RMAN es el servicio de mudanzas y el seguro contra incendios: hace los respaldos y sabe cómo restaurarlos.
  • ASM es el sistema modular de estanterías que te permite reorganizar archiveros sin mover los papeles.
  • Tablespaces y datafiles son los archiveros y sus cajones.
  • SYSDBA es la copia de las llaves maestras que vive en la caja fuerte del dueño.

Cuando memorizas el mapa antes que el territorio, todo esto se vuelve laberinto. Cuando primero entiendes la oficina, todo Oracle cabe en una servilleta.

Un DBA no es un mago ni un chamán de los relámpagos. Es la persona que se encarga de que cientos de usuarios, modificando cosas al mismo tiempo, no se pisen entre sí, no pierdan información, y lo hagan rápido —siguiendo reglas que cualquier secretaria de 1955 hubiera entendido perfectamente. El problema nunca fue nuevo. Las herramientas, sí.

Y si le quitas las siglas, ya puedes explicarle a tu mamá a qué te dedicas.

Discusión de miembros