D-Science es una plataforma experimental diseñada para estandarizar y facilitar el ciclo de vida de la ciencia de datos en entornos de investigación. El sistema permite la ingesta, preprocesamiento, entrenamiento y despliegue de modelos de Machine Learning a través de una interfaz intuitiva, eliminando las barreras técnicas de infraestructura para los investigadores.
Desarrollada como proyecto de título para la carrera de Analista en Computación Científica en la Universidad de Santiago de Chile (USACH).
- Gestión de Datos: Ingesta de archivos (CSV/Excel) con almacenamiento estructurado en bases de datos NoSQL.
- Preprocesamiento Modular: Herramientas para limpieza de datos, normalización y transformación de variables.
- Entrenamiento de Modelos: Soporte para algoritmos de clasificación, regresión y clustering (Scikit-Learn).
- Inferencia en Tiempo Real: Módulo dedicado para cargar modelos entrenados y realizar predicciones sobre nuevos datos.
- Arquitectura Modular: Basada en microservicios para separar la lógica de negocio, el procesamiento analítico y la interfaz de usuario.
- Principios FAIR: Enfocada en la trazabilidad y reproducibilidad de los experimentos científicos.
La plataforma utiliza una arquitectura de microservicios contenida en un entorno controlado:
- Frontend: React (SPA) con Bootstrap para una interfaz responsiva.
- Backend (Orquestador): Node.js operando como API Gateway y gestor de lógica de negocio.
- Servicios Analíticos: Python (FastAPI) para el procesamiento de datos y ejecución de modelos de ML.
- Bases de Datos: * PostgreSQL: Gestión de usuarios, metadatos y persistencia relacional.
- MongoDB: Almacenamiento de datasets y resultados de inferencia.
- Infraestructura: Docker y Docker Compose para la orquestación de contenedores.
A diferencia de los sistemas distribuidos tradicionales, este proyecto implementa una arquitectura de microservicios en un nodo único (VPS). Esto permite:
- Aislamiento de procesos: Cada módulo (ML, API, DB) corre de forma independiente.
- Eficiencia de recursos: Optimizado para despliegues en servidores de capacidad moderada sin la complejidad de un clúster.
- Mantenimiento simplificado: Actualización selectiva de servicios mediante Docker sin afectar la disponibilidad total del sistema.
- Docker
- Docker Compose
- Clonar el repositorio:
git clone [https://github.com/tu-usuario/nombre-del-repo.git](https://github.com/tu-usuario/nombre-del-repo.git) cd nombre-del-repo - Configurar variables de entorno: Crear archivos .env según las especificaciones del proyecto.
- Levantar la infraestructura completa
docker compose up -d --build
La plataforma estará disponible en dscience.cedetec.cl
- Vicente Santos Varas
- Cristobal Gallardo Cubillos
- Profesor Guía: Oscar Rojas Díaz