Aplicaciones Analíticas
Enviado por asierasier • 22 de Agosto de 2022 • Ensayo • 1.094 Palabras (5 Páginas) • 308 Visitas
Caso práctico
Ejercicio 1 (MONGODB)
Se desea diseñar una aplicación que implemente un buscador de ofertas de trabajo. Cada usuario puede configurar qué portales de ofertas de trabajo servirán de fuente para recuperar las ofertas y las características de las ofertas que deben recuperarse. La aplicación se conectará a los portales y generará entradas asociadas a cada usuario. Una entrada será esencialmente el nombre del portal web donde se ha encontrado la oferta, el contenido principal de la oferta, las características que cumple la oferta con respecto a los requisitos impuestos por el usuario y un enlace a la misma (la aplicación guardará una copia de la oferta para asegurarse de que no sea eliminada del portal), de forma que, si el usuario desea consultar la oferta completa, puede pulsar sobre el enlace. Hay que tener en cuenta que las entidades que deberá gestionar en cuanto al número de portales, requisitos de búsqueda, ofertas y usuarios van a ser enormes.
Se pide
1) Realizar un análisis acerca del modelo de datos y la arquitectura de distribución y replicación de los datos que se adecúen mejor a los requisitos de la aplicación descrita. En cuanto al modelo de datos, hay que argumentar la conveniencia de un modelo relacional o uno NoSQL y, en caso de que se elija este último, qué modelo sería el más adecuado.
A continuación, se sitúan los conceptos teóricos vistos en la teoría del módulo en un formato práctico.
Una vez leído el enunciado se crea una aplicación web con un portal determinado que consta de diferentes datos: acceso de usuario, registro, introducción de diferentes inputs y finalmente se recibirán las ofertas adecuadas a los requisitos indicados para poder seleccionar y consultar mediante enlaces las ofertas elegidas.
Se trata de un sistema no distribuido con gran cantidad de datos NoSQL con el siguiente formato:
Un sistema de mensajería, receptor que adquiere la ingesta en streaming de los datos de las ofertas de empleo de diferentes portales, para ello se puede empear Apache Kafka, para soportar las diferentes tipologías de datos que se indican, siendo su uso escalable y modificable.
Además, se necesita un almacén de datos, para ello se optara por una base de datos NoSQL ya que dicha aplicación tendrá que gestionar enorme cantidades de datos y va a dar solución a los problemas que tienen las base de datos relacionales como es la impedancia y el problema de distribución de datos en el sistema ya que requerirá de una maquina con procesamiento muy alto. Sera el almacén de datos el que contendrá toda la información introducida en el portal como la cargada de los portales de empleo con la ofertas con las que se nutrirá la aplicación.
2) Describir una colección de MongoDB que almacenará la información sobre las solicitudes realizadas por cada usuario, ilustrándolo con las colecciones y tipos de documentos que serían necesarios.
Se opta por una base de datos documental ya que se almacenarán distintos documentos (agregados), que se van generando en formato de usuarios y datos de las ofertas de empleo seleccionadas. Dentro de las bases de datos documentales se opta por el uso del MongoDB y para ello se realizará el siguiente modelado de los datos:
1) Se genera una base de datos denominada db.empleo
Foto 1
2) Se describen las colecciones que integrarán los siguientes documentos:
• Colección usuario En esta colección se agregan los usuarios que se den de alta en la aplicación con el siguiente formato:
-id - tipo ObjectId, contendrá la clave del documento
Nombre – tipo string, contendrá el nombre del usuario
Apell1 – tipo string, contendrá el primer apellido del usuario
Apell2 – tipo string, contendrá el segundo apellido del usuario
DNI – tipo string, contendrá el numero de documento del usuario
Domicilio – tipo string, contendrá el domicilio del usuario
Requisitos – tipo array, contendrá los requisitos de las ofertas a consultar
DispoGeo
...