marp: true
theme: uncover
paginate: false
size: 16:9
backgroundColor: #0f172a
color: #e5e7eb
style: |
section {
font-size: 2em;
}
Spring Data
Capa de persistencia relacional
Daniel García Costa
2026
¿Que vamos a ver?
- Contexto y arquitectura del sistema
- Modelo relacional vs modelo de dominio
- Consultas en Spring Data
- Métodos de abstracción
- JPQL
- SQL nativo
- Proyecciones, agregados y rankings
- Paginación y filtrado con
Pageable
- Optimizaciones
Contexto
Simulación de un juego MMO (multijugador masivo en línea) multimundo.
- Servidor Master (coordinador)
- Recibe eventos de los Shard, consulta estados, jugadores, rankings, etc.
- Servidor Shard (mundo)
- Aloja jugadores
- Contiene la dinámica del juego
- Reenvía los eventos al Master
Arquitectura
- Servidor Master
- Monolítico (un único servicio)
- División lógica en controladores -> servicios -> repositorios
- Solo recibe y agrega información
- GUI de consulta
- Servidor Shard
- Dos servicios (Persistence + Core)
- Gestiona los eventos de los jugadores
- GUI para simular jugadores
- Reenvío de eventos a Master
¿Por qué esta arquitectura?
- Separación clara de responsabilidades
- Escalado horizontal de shards
- Aislamiento del dominio de juego
- Centralización de analítica
- Escenario realista para estudiar consultas