-
Notifications
You must be signed in to change notification settings - Fork 1
Decisión Arquitectónica 2
Fecha en que se tomó la decisión: 01/03/2024
No se realizarán las consultas a Wikidata cada vez que se solicite la generación de una pregunta, sino que las consultas estarán programadas en el tiempo y los datos extraidos se almacenarán en la base de datos de los servicios Wikidata Extractor y Question Generator. Las preguntas sí serán generadas en el momento que se necesiten, sin embargo, lo harán a partir de los datos que haya almacenados en dicho momento en la base de datos mencionada.
Nos hemos dado cuenta que las consultas a Wikidata son lentas y tediosas, no podemos estar esperando a que finalice una consulta cada vez que queramos mostrar una nueva pregunta al usuario. Adicionalmente, esta dependencia provoca que si un día por alguna razón Wikidata está caída, toda nuestra aplicación quedaría también inoperativa. Es por esto que vemos necesaria la extracción de datos a una base de datos propia para:
- Disminuir la latencia de las consultas de datos.
- Eliminar el riesgo de mala disponibilidad en dependencias externas para asumir nosotros el control de dicha disponibilidad.
También se valoró que de las consultas a Wikidata se creasen preguntas y fuesen esas preguntas con sus respuestas lo que se guardase en base de datos. Esta opción fue rápidamente descartada al entender que, el tener estas preguntas ya generadas en la base de datos, podía causar poca variedad en las preguntas retornadas al usuario (por muy corto que fuera el intervalo en el cual dichas preguntas se actualizasen o fuesen sustituidas por otras en la base de datos). Al guardar únicamente los datos ordenados por colecciones en función de las preguntas que se pudieran generar con ellos conseguimos que la generación de preguntas sea mucho más aleatoria y minimizamos enormemente las posibilidades de que el usuario obtenga una pregunta repetida, no solo en la partida actual sino en todas las siguientes (aunque se repitiera la misma pregunta, las respuestas asociadas a la misma serían distintas por lo que no puede considerarse "la misma pregunta").
- Independencia parcial de la disponibilidad de Wikidata.
- Mayor velocidad en consultas a los datos.
- Mayor variedad de preguntas y respuestas generadas.
- Necesidad de una base de datos en la aplicación para este propósito
UNIVERSIDAD DE OVIEDO | ESCUELA DE INGENIERíA INFORMÁTICA DE OVIEDO | 2024©