# Base de datos

## Base de datos

El plugin separa acceso en memoria y persistencia.

La base guarda estados duraderos como progreso, puntos y reputación.

### SQLITE

Usa `SQLITE` si el servidor es pequeño o mediano y todo vive en una sola instancia.

Ventajas:

* despliegue simple
* cero infraestructura externa
* buena opción para pruebas y redes pequeñas

### MYSQL

Usa `MYSQL` si necesitas concurrencia, observabilidad o varias capas conectadas.

Ventajas:

* mejor escalado
* backups y operación más maduros
* integración sencilla con dashboards o procesos externos

### Cuándo elegir cada uno

Elige `SQLITE` si:

* tienes un solo servidor
* el volumen es moderado
* priorizas simplicidad

Elige `MYSQL` si:

* tienes muchos jugadores
* integras paneles o bots
* necesitas mantenimiento más formal

### Cache vs almacenamiento

El patrón correcto es:

* leer una vez al cargar sesión
* operar en memoria durante juego
* persistir en puntos seguros

Eso evita consultas por evento y reduce latencia.

### Rendimiento

* No persistas en cada microcambio si puedes agrupar.
* Mantén índices por `UUID` y claves de quest.
* Revisa tiempos de flush durante picos de rotación.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://camiladev.gitbook.io/documentation/quests/guia-de-administracion/base-de-datos.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
