🏗️ Capa 2: Analítica (Backend 2)
La Capa de Analítica, también conocida como Backend 2, es la responsable de transformar los datos crudos y validados de la Capa de Ingesta en información útil y accesible. Su función principal es la lectura, agregación y exposición de datos procesados a través de una API dedicada, diseñada para el consumo por parte de la Capa de Visualización y otras aplicaciones externas.
Propósito Principal
Servir datos estructurados y agregados para interfaces, visualizaciones, aplicaciones externas o integraciones (como modelos de Mercado de Capitales P2P - MCP), desacoplando la lógica de lectura de la lógica de escritura.
Componentes Clave de la Capa de Analítica
- FastAPI 2 (Read Layer): Una instancia separada de FastAPI, optimizada para operaciones de lectura. Expone endpoints que permiten consultar datos históricos, spreads, profundidad simulada, top traders, y otras métricas derivadas.
- PostgreSQL: Aunque la Capa de Ingesta es la que escribe, la Capa de Analítica lee directamente de la misma base de datos PostgreSQL, aprovechando la estructura normalizada y la integridad de los datos.
- Mecanismos de Caché: Implementación de estrategias de caché para mejorar el rendimiento de las consultas frecuentes y reducir la carga sobre la base de datos.
- Seguridad y Control de Acceso: Paginación, throttling y control de acceso opcional para gestionar el consumo de la API y proteger los recursos.
Funcionalidades Clave
Exposición de Endpoints Públicos y Privados
La API de Analítica ofrece una variedad de endpoints diseñados para diferentes necesidades de consumo:
- Endpoints Públicos: Pueden ser accesibles con menos restricciones (o ninguna) para datos que no requieren alta seguridad, como resúmenes generales o datos históricos agregados.
- Endpoints Privados: Requieren autenticación (por ejemplo, mediante JWT o API Keys específicas para lectura) y/o autorización para acceder a datos más detallados o sensibles, o para funcionalidades que implican un mayor consumo de recursos.
Ejemplos de endpoints que esta capa podría exponer:
/api/v1/analytics/summary: Resumen de métricas clave del mercado P2P./api/v1/analytics/historical_spreads: Datos históricos de spreads para análisis de tendencias./api/v1/analytics/order_book_depth: Profundidad simulada del libro de órdenes para evaluar la liquidez./api/v1/analytics/top_traders: Información agregada sobre los comerciantes más activos o eficientes.
Procesamiento y Agregación de Datos
Aunque la Capa de Ingesta almacena los datos crudos, la Capa de Analítica es donde se realiza la magia de la transformación de datos en información. Esto incluye:
- Cálculo de Spreads: Determinación de la diferencia entre el precio de compra y venta en tiempo real o histórico.
- Agregación de Volúmenes: Suma de volúmenes de ofertas por moneda, método de pago, comerciante, etc.
- Análisis de Liquidez: Cálculo de la profundidad del mercado en diferentes niveles de precio.
- Generación de Métricas Derivadas: Creación de KPIs personalizados basados en las necesidades de análisis.
Optimización del Rendimiento
Para asegurar una respuesta rápida y eficiente a las consultas, la Capa de Analítica implementa varias estrategias:
- Caché: Utilización de sistemas de caché (ej. Redis) para almacenar los resultados de consultas frecuentes. Esto reduce la necesidad de consultar la base de datos repetidamente, mejorando significativamente los tiempos de respuesta.
- Paginación: Implementación de paginación en los endpoints que devuelven grandes conjuntos de datos, permitiendo a los clientes solicitar la información en bloques manejables.
- Throttling (Limitación de Tasa): Control del número de solicitudes que un cliente puede hacer en un período de tiempo determinado para prevenir abusos y asegurar la disponibilidad del servicio para todos los usuarios.
- Optimización de Consultas a la Base de Datos: Uso de índices adecuados, consultas eficientes y ORMs optimizados para minimizar la latencia al acceder a PostgreSQL.
Ventajas de una Capa de Lectura Separada
- Desacoplamiento: La lógica de lectura está completamente separada de la lógica de escritura, lo que permite que cada capa evolucione y escale de forma independiente.
- Rendimiento: Al estar optimizada para lectura, esta capa puede manejar un alto volumen de consultas sin afectar el rendimiento de la ingesta de datos.
- Seguridad Mejorada: Se pueden aplicar políticas de seguridad y autenticación específicas para el acceso a los datos analíticos, diferentes de las de ingesta.
- Flexibilidad: Permite exponer diferentes vistas de los datos a distintos consumidores (dashboards, otras APIs, modelos de ML) sin exponer la complejidad de la base de datos subyacente.
- Preparación para MCP/SaaS API: Esta capa es ideal para monetizar el acceso a los datos procesados, ofreciendo una API como servicio (SaaS API) o alimentando modelos de Mercado de Capitales P2P (MCP).
La Capa de Analítica es crucial para transformar los datos brutos en inteligencia de mercado, haciendo que el P2P Dashboard sea una herramienta verdaderamente poderosa para la toma de decisiones.