SYS//SOFI-CORE-V2 APM//CLUSTER-TOPOLOGY
APM INVERSIONES
/ SOFI Platform
Consultoría Técnica de Arquitectura
Ciclo 2026 / Big Data

Arquitectura de Big Data
y Analítica de Negocios

Modernización, desacoplamiento de cargas analíticas en 4 capas y modelos predictivos sobre el ecosistema SOFI para la empresa APM Inversiones S.A.C.

HDFS 3.2 (128 MB, R=3) Scikit-Learn ML Inferencia MongoDB Aggregation Docker Distribuido
Storage Distribuido HDFS Alta Tolerancia

Replicación R=3 en 3 DataNodes con tolerancia a fallas de disco.

Ingesta & Telemetría NoSQL MongoDB Pipeline

Staging desacoplado de eventos Discord sin saturar PostgreSQL.

Analítica OLAP & ML Scikit-Learn

Inferencia de deserción en tiempo real y dashboards ejecutivos.

Consultor 1: Jhefry Cabanillas Casana
Consultor 2: Carlos Gago Anaya
Consultora 3: Damaris Gutiérrez Macavilca
Organización Auditada: APM Inversiones S.A.C.
Ecosistema Base: SOFI Core (Postgres)
Contexto & Arquitectura Planteada

Ecosistema SOFI y Flujo Integral en 4 Fases de Big Data

APM Inversiones S.A.C. 128 Practicantes
SOFI Core V2

Modelo formativo 100% remoto que audita asistencia, telemetría Git y evaluaciones modulares.

🐙 GitHub Org 🎧 Bot Discord ⚡ NestJS Core ▲ Next.js
Auditoría: 7,111 Asistencias 1,515 Commits · 6 Stacks
Colisión OLTP/OLAP

Consultas analíticas pesadas sobre 7,111 filas degradan inserciones de marcación en PostgreSQL.

➔ HDFS Desacoplado
JOINs Masivos

Auditar a un practicante exige cruzar 5 tablas relacionales con latencias críticas en producción.

➔ NoSQL Aggregation
Ingesta Sin Buffer

Picos sincrónicos de eventos desde Discord (salas a las 9:00 AM) saturan la base sin colas.

➔ Buffer en Capa 1
Solución Planteada para el Proyecto: Pipeline Distribuido de 4 Fases
Arquitectura de Consultoría Big Data · Flujo End-to-End
FASE 1 Capa Ingestión
Ingesta & Data Prep
  • Extracción: Postgres, Discord y Git.
  • Profiling e imputación de nulos.
  • Normalización UTC y horas asistidas.
  • Enriquecimiento SUNAT/RENIEC.
Handoff: telemetria_2025.csv (384 MB)
FASE 2 Capa Storage
Clúster Hadoop HDFS
  • NameNode Master (Metadatos IPC :8020).
  • 3 DataNodes (dn-01, dn-02, dn-03).
  • Bloques de 128 MB (3 particiones).
  • Replicación R=3 (tolerancia a fallas).
Destino: hdfs:///data/sofi/
FASE 3 Capa Analítica
NoSQL & Machine Learning
  • MongoDB Pipeline ($unwind, $group).
  • Cálculo de 2 Tablas OLAP masivas.
  • Scikit-Learn ML (Random Forest).
  • Predicción de Deserción en tiempo real.
Resultados: 2 Tablas OLAP + Scoring
FASE 4 Capa Explotación
Dashboards & Negocio
  • 4 Gráficos interactivos Chart.js.
  • Monitoreo de horas asistidas vs req.
  • Severidad de fallos por tecnología.
  • Alertas para mitigación SUNAFIL.
Impacto: -25% Deserción Formativa
Fase 1: Ingesta

Capa de Ingesta y Preparación de Datos

Fuentes Internas Operacionales
4 Sistemas
PostgreSQL SOFI Core 128 p. / 7,111 filas

Maestro de practicantes, convenios, sedes, asistencias y solicitudes de recuperación.

Bot Discord (Presencia en Vivo) Stream Continuo

Eventos de check-in/out, horas en salas de voz (9:00 AM) y alertas de inactividad.

Módulo LMS Academia Event-Driven

Horas efectivas de estudio por módulo, estados de avance (planned/finished) y notas.

GitHub Org (Repositorios) 1,515 Commits

Volumen de commits, diffs de líneas agregadas/eliminadas, ramas activas y PRs.

Fuentes Externas (Enriquecimiento)
2 APIs REST
API RENIEC

Validación de DNI único, verificación de nombres oficiales y saneamiento de duplicados.

API Feriados PE

Calendario oficial de días no laborables para evitar penalizaciones erróneas en horas.

Pipeline de Data Preparation
Cadena Conexa
1
Descubrir Profiling
Auditoría de esquemas heterogéneos, tipos de datos y cardinalidad.
2
Limpiar Sanitización
Imputación de nulos, detección de anomalías y supresión de duplicados.
3
Normalizar UTC & Schema
Estandarización temporal UTC, escala horaria y hashing de privacidad.
4
Enriquecer Feature Eng.
Cruce con DNI de RENIEC, feriados nacionales y cálculo de horas efectivas.
Destino Handoff
Hacia Fase 2
telemetria_2025.csv 384 MB (Unificado) 128 practicantes · 7,111 registros
Particionado en HDFS (R=3) 3 Bloques
• Blk 1 (128 MB): DN-01, 02, 03
• Blk 2 (128 MB): DN-02, 03, 01
• Blk 3 (128 MB): DN-03, 01, 02
• Ruta: hdfs:///data/sofi/
• Validación: Checksum CRC-32
• Replicación: R=3 Tolerante a Fallas
✔ Handoff Listo para Ingesta en Clúster HDFS
Fase 2: HDFS 3.2

Topología Distribuida y Flujo de Tránsito

Etapa 0 de 4
1. Orígenes (6 Fuentes)
PostgreSQL Core
128 p. / 7,111 asist. (OLTP)
Bot Discord
Eventos de voz y streaming
LMS Capacitación
Lecciones, tareas y notas
Telemetría GitHub
Commits y Pull Requests
API RENIEC EXT
Validación de DNI y nombres
API Feriados PE EXT
Normalización calendario
Multi-Source Ingest Gateway
2. Dataset Crudo
telemetria_2025.csv 384 MB Amortizado en HDFS
• Bloque: 128 MB
• Partes: 3 Bloques
• I/O Overhead: <0.78%
HDFS Chunking
3. NameNodes (HA)
NameNode 1 ACTIVO
• RAM fsimage (450 B)
• Mapeo B1, B2, B3
• Heartbeat Monitor (3s)
IPC :9000 Master
⇅ QJM Journal Sync
NameNode 2 STANDBY
• QJM EditLogs Sync
• Checkpoint fsimage
• Failover Automático
Hot-Standby Quorum
4. DataNodes (Racks)
Rack 1 dn-01 :10.11
LIVE
Bloques: B1, B2, B3 (128 MB c/u)
Streaming TCP: :9866
Heartbeat: 3s DC-Rack1
Rack 1 dn-02 :10.12
LIVE
Bloques: B1, B2, B3 (128 MB c/u)
Streaming TCP: :9866
Heartbeat: 3s Simulación Falla
Rack 2 dn-03 :20.13
LIVE
Bloques: B1, B2, B3 (128 MB c/u)
Streaming TCP: :9866
Rack Distante DC-Rack2
5. Réplicas Físicas (R=3)
Bloque 1 (128 MB) R=3
Nodos: dn-01, dn-02, dn-03
Integridad: CRC-32 Verificado
Distribución Rack 1 + Rack 2 ✔
Bloque 2 (128 MB) R=3
Nodos: dn-01, dn-02, dn-03
Integridad: CRC-32 Verificado
Distribución Rack 1 + Rack 2 ✔
Bloque 3 (128 MB) R=3
Nodos: dn-01, dn-02, dn-03
Integridad: CRC-32 Verificado
Distribución Rack 1 + Rack 2 ✔
EN VIVO
Listo para iniciar el tránsito de datos o simular falla de nodo.
Widget 1

Simulador de Resiliencia y Caída HDFS

Estado del Clúster: ÓPTIMO (R=3)
NAMENODE MASTER
RAM 450B
Estado: ACTIVO
Heartbeat: Interval 3s
Déficit Réplicas: 0 Bloques
dn-01 /rack-1
LIVE
Heartbeat: 3s nominal
Bloques en Disco:
Bloque 1 Bloque 3
IP: 192.168.10.11
dn-02 /rack-1
LIVE
Heartbeat: 3s nominal
Bloques en Disco:
Bloque 1 Bloque 2
IP: 192.168.10.12
dn-03 /rack-2
LIVE
Heartbeat: 3s nominal
Bloques en Disco:
Bloque 2 Bloque 3
IP: 192.168.20.13
Acción de Falla Controlada:
HDFS CLUSTER AUDIT LOG heartbeat_timeout = 9s
> Topología iniciada. 3 DataNodes activos reportando bloques físicos. Clúster en régimen nominal (R=3).
Fase 3-A: ML

Modelos Predictivos y Diccionario de Datos

Modelo 1: Riesgo de Deuda de Horas

Hours Debt Risk

Clasificación binaria supervisada (Random Forest) para predecir si el practicante finalizará con deuda crítica de horas.

Nombre del Campo Tipo Descripción Corta Origen de Datos
riesgo_incumplimiento Booleano Target (Y): 1 = Deuda crítica, 0 = Cumple Calculada (Y)
total_horas_adeudadas Float Saldo neto acumulado por inasistencias o tardanzas (hrs) PostgreSQL (asistencias)
cantidad_faltas_injustificadas Integer Inasistencias no justificadas en el periodo analizado Bot Discord / PostgreSQL
tipo_convenio Varchar Modalidad (Preprofesional 30h / Profesional 48h) PostgreSQL (convenios)
dias_restantes_convenio Integer Días restantes de vigencia contractual del practicante PostgreSQL (convenios)

Modelo 2: Detección de Practicante Bloqueado

Stuck Intern Detection

Clasificación binaria supervisada (Regresión Logística) para alertar parálisis formativa antes de la deserción.

Nombre del Campo Tipo Descripción Corta Origen de Datos
estado_bloqueado Booleano Target (Y): 1 = Atascado en ruta, 0 = Ritmo normal Calculada (Y)
tiempo_modulo_horas Float Horas dedicadas en el módulo formativo actual Telemetría LMS
dias_sin_commits Integer Días consecutivos transcurridos sin commits en Git API GitHub (commits)
curso_tecnologico Varchar Tecnología formativa (SpringBoot, JS, React, Git) PostgreSQL (cursos)
intentos_fallidos Integer Evaluaciones técnicas desaprobadas en rúbricas Rúbricas Mentor SOFI
Métricas de Evaluación: Algoritmos Random Forest & Regresión Logística con Accuracy 97.7% - 100% y AUC 0.99 - 1.0 serializados en Scikit-Learn. Scikit-Learn Serialized
Widget 2

Calculadoras Predictivas de Machine Learning

Inferencia Live (FastAPI / Scikit-Learn Models)

Calculadora 1: Incumplimiento de Horas

RIESGO BAJO
Horas Adeudadas: 15.0 hrs
Faltas Injustificadas: 1 faltas
Días Restantes: 45 días
Convenio:
Probabilidad de Incumplimiento: 18%
Acción: Habilitado para horas formativas regulares.

Calculadora 2: Detección de Bloqueo

NORMAL
Horas en Módulo Actual: 20.0 hrs
Días sin Commits en Git: 2 días
Fallos Rúbrica: 0 intentos
Curso:
Diagnóstico del Sistema:
Estado Normal en Ruta Formativa
El practicante avanza con commits continuos y evaluaciones dentro del margen esperado.
Fase 3-B: OLAP

Modelado Descriptivo OLAP y Tablas Analíticas

dm_balance_asistencia_practicante

9 Campos

Consolidado mensual de asistencia, horas requeridas, tardanzas y pasivo formativo acumulado.

Nombre del Campo Tipo Descripción Corta Origen de Datos
practicante_id Integer Identificador único del practicante en SOFI PostgreSQL (usuarios)
periodo_mes Varchar Mes y año del balance analizado (ej. "2026-08") PostgreSQL (asistencias)
horas_requeridas Float Total horas a cumplir según convenio mensual PostgreSQL (convenios)
horas_asistidas_reales Float Horas netas registradas en conexión y formación Bot Discord / Asistencias
total_tardanzas Integer Registros con ingreso posterior a la tolerancia PostgreSQL (asistencias)
total_inasistencias Integer Días laborables sin registro ni justificación PostgreSQL (asistencias)
horas_recuperadas Float Horas compensadas en turnos extraordinarios PostgreSQL (recuperaciones)
balance_horas Float Saldo neto (reales + recuperadas - requeridas) Cálculo OLAP
estado_laboral Varchar Cumplimiento formativo (Regular / Alerta / Observado) Regla Negocio

dm_rendimiento_capacitacion_telemetria

11 Campos

Cruce multidimensional de avance curricular, calificaciones de mentores y telemetría de commits en Git.

Nombre del Campo Tipo Descripción Corta Origen de Datos
practicante_id Integer Identificador único del practicante evaluado PostgreSQL (usuarios)
curso_nombre Varchar Denominación de la ruta técnica (SpringBoot, Git) LMS / PostgreSQL (cursos)
modulo_tema_actual Varchar Módulo formativo en desarrollo actualmente LMS / PostgreSQL (modulos)
estado_progreso Varchar Situación curricular (finished, in_progress, planned) Telemetría LMS
nota_evaluacion_mentor Float Calificación otorgada en rúbrica técnica (0 - 20) Evaluaciones Mentor SOFI
tuvo_reevaluacion Booleano Indica si requirió segundo intento tras reprobación Rúbricas Mentor SOFI
commits_totales Integer Cantidad de commits registrados en el módulo API GitHub (telemetría)
lineas_codigo_agregadas Integer Volumen neto de líneas añadidas en repositorios API GitHub (telemetría)
pull_requests_aprobados Integer PRs revisados, aprobados y fusionados API GitHub (telemetría)
tiempo_estudio_horas Float Horas invertidas en plataforma formativa Telemetría LMS
nivel_dominio_tecnico Varchar Segmentación de competencia (Básico, Intermedio, Avanzado) Clasificación OLAP
Arquitectura OLAP: Esquema Estrella desnormalizado en PostgreSQL alimentado por pipelines ETL nocturnos para desacoplar consultas de alta agregación. PostgreSQL OLAP
Fase 3-C: NoSQL

Pipelines de Agregación NoSQL en MongoDB

Etapa 1 $match

Filtra perfiles de software activos (Backend y Frontend).

Filtro de Dominio
Etapa 2 $unwind

Descompone el arreglo embebido de cursos y módulos.

Aplanamiento
Etapa 3 $group

Agrupa por tecnología y computa medias, atascados y notas.

Agregación Clave
Etapa 4 $project

Calcula la métrica porcentual de tasa de atascamiento.

Proyección Métrica
Etapa 5 $sort

Ordena descendentemente por mayor fricción y menor nota.

Jerarquía Final
Insight Gerencial Descubierto: El pipeline reveló que el 47.5% de practicantes Backend se estancan en SpringBoot, concentrados en los módulos de JPA/Hibernate y Security JWT, motivando una reestructuración de la ruta formativa.
Widget 3

Inspector del Pipeline de MongoDB (5 Etapas)

Etapa 1: $match Filtra perfiles técnicos.
DOCUMENTO DE ENTRADA (INPUT JSON)

            
DOCUMENTO RESULTANTE (OUTPUT TRAS TRANSFORMACIÓN)

            
Fase 4: Visualización

4 Gráficos Estadísticos Clave (Sección 6.1)

1. Serie Temporal: Horas Reales vs Deuda Acumulada Meta 120h
Recuperación efectiva del déficit mensual hacia el cierre del periodo.
2. Comparativa: Calificación vs Tasa de Atascamiento Fricción Técnica
JavaScript y React concentran la mayor parálisis (>80%) frente a Backend.
3. Dispersión: Telemetría de Commits vs Calificación Mentor Accesible Daltónico
Diferenciación geométrica: >100 commits elimina el riesgo de reevaluación.
4. Barras 100%: Funnel de Avance y Retención Curricular Ranking Conclusión
Orden jerárquico: TypeScript y Node.js lideran con más de 80% de egreso.
Fase 4: Tableros

Dashboards Ejecutivos y Semaforización

Dashboard RRHH: Disciplina & Horas
HR Ops
Tasa Asistencia Neta 92.4% (Meta ≥ 90%)
Pasivo Horas-Hombre 42.0 hrs acumuladas
Verde (< 5h): Regular / Habilitado renovación.
Amarillo (5h - 15h): Alerta / Turno especial sábado.
Rojo (> 15h): Observado / Bloqueo de carta de prácticas.
Dashboard Tech Lead: Rendimiento de Código
Tech Ops
Retención Curricular 81.5% Conclusión
Ratio Commits / PR 6.2 (Rango Óptimo 4-8)
[48h]
Inactividad en Git: Notificación automática vía bot.
[72h]
Parálisis / 2 Fallos: Pair Programming obligatorio con mentor.
[CSI]
Mayor Severidad: SpringBoot (Índice de Severidad = 62.4).
Reducción proyectada de la deserción formativa en un 25% y mitigación de contingencias laborales en SUNAFIL. Retorno de Inversión
Despliegue & Cierre

Orquestación en Docker y Cierre Técnico

Entornos de Acceso
Local: Fedora Linux (`localhost:80` / `localhost:3000`)
Nube: Azure VM (`48.216.216.91:80`)
HDFS NameNode WebUI: `:9870`
Red bigdata_net
postgres_db (:5432)
mongodb_sofi (:27017)
namenode + 3 datanodes
sofi-presentation (:80 / :3000)
Rúbrica Académica
Fase 1: Fuentes y Data Prep
Fase 2: HDFS 128 MB R=3
Fase 3: 2 Predictivas + 2 Descriptivas + Mongo
Fase 4: 4 Gráficos Justificados

Sustentación de Consultoría en Big Data & Business Analytics

APM Inversiones S.A.C. — Plataforma Web de Operaciones y Formación SOFI

Jhefry Cabanillas Casana, Carlos Gago Anaya & Damaris Gutiérrez Macavilca — Consultores Principales