Nivel 8 · 02 de 14
El colegio que atrasó a los otros trescientos nueve
El colegio que atrasó a los otros trescientos nueve
Una plataforma de gestión escolar que usan 310 colegios. Todos escriben en la misma base de notas. El docente sube un archivo con las notas de su curso, el archivo entra en una cola de importaciones, y un importador lo procesa.
El colegio más grande tiene 14.000 alumnos y sube todo el trimestre en un único archivo de 300.000 filas, siempre el mismo día. Los otros 309 suben entre 200 y 4.000 filas cada uno, repartidos en la semana.
El 7 de julio, ese archivo entró a la cola a las 18:40. Los 46 colegios que subieron después esperaron seis horas y veinte minutos. Ninguno de ellos había subido más de 3.000 filas. La plataforma promete quince minutos.
Nadie tocó un servidor: la cola es una sola secuencia ordenada, y el que llegó primero se procesa completo antes de que empiece el siguiente.
Hay un segundo problema, y este no lo vio nadie. El importador valida cada nota contra el historial del alumno consultando la base directamente, y esa consulta busca por documento. Una alumna que cambió de colegio en marzo tiene dos legajos con el mismo documento. La validación tomó el primero que encontró.
El equipo tiene 7 unidades operativas y hoy usa 5.
Rearmá el sistema para que el tamaño de un colegio deje de decidir la demora de los otros 309, y para que nadie pueda consultar el almacén compartido sin saber de qué colegio está preguntando.
Uso de IA: libre, pero tu respuesta tiene que explicar por qué una única cola compartida convierte el tamaño de un cliente en un problema de todos los demás, y qué cambia cuando esa cola deja de ser una sola.
- Presupuesto
- 7 unidades operativas
- Restricción
- colegios sobre la misma plataforma: al menos 310 colegios
- Restricción
- demora aceptable entre subir las notas y verlas publicadas: como máximo 15 minutos
Este ejercicio se resuelve arrastrando piezas en un lienzo, y eso pide una pantalla ancha y un puntero preciso. Acá podés leerlo entero. Abrilo desde una computadora para jugarlo.