0% encontró este documento útil (0 votos)
324 vistas8 páginas

Ventajas de NoSQL y Modelos de Datos

1) El documento presenta 5 preguntas sobre bases de datos NoSQL y modelos de procesamiento de datos. 2) La primera pregunta explica que las bases de datos NoSQL orientadas a agregados favorecen la escalabilidad horizontal mediante el uso de técnicas de hash para distribuir los agregados de forma uniforme entre nodos. 3) La segunda pregunta describe las ventajas del modelo MapReduce como dividir tareas en subconsultas paralelas y procesar datos localmente para minimizar tiempo de respuesta y tráfico de red innecesario.

Cargado por

Raul Sanchez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
324 vistas8 páginas

Ventajas de NoSQL y Modelos de Datos

1) El documento presenta 5 preguntas sobre bases de datos NoSQL y modelos de procesamiento de datos. 2) La primera pregunta explica que las bases de datos NoSQL orientadas a agregados favorecen la escalabilidad horizontal mediante el uso de técnicas de hash para distribuir los agregados de forma uniforme entre nodos. 3) La segunda pregunta describe las ventajas del modelo MapReduce como dividir tareas en subconsultas paralelas y procesar datos localmente para minimizar tiempo de respuesta y tráfico de red innecesario.

Cargado por

Raul Sanchez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Ejercicio 1 (30%)

A partir de la lectura de los apuntes (locuciones de los vídeos) de los temas I y II se pide responder de manera concisa
(una página y media en total) a las siguientes preguntas:

1. ¿Qué significa que las bases de datos NoSQL orientadas hacia agregados favorecen los esquemas de crecimiento
horizontal (o escalabilidad horizontal)?

Significa que, para distribuir los agregados entre los diferentes nodos, en general, se usan técnicas de hash (un ejemplo
sería una técnica denominada consistent hashing). Estas técnicas garantizan que los agregados (y sus réplicas, si las
hubiera) se repartirán de forma uniforme entre todos los nodos, con el objetivo de equilibrar la carga de trabajo.
También facilitan la adición de nuevos nodos al sistema, causando molestias mínimas en el resto de nodos que podrán
seguir suministrando servicio a los usuarios. Esto se relaciona con la afirmación que las bases de datos NoSQL
favorecen los esquemas de crecimiento horizontal (esta noción también se conoce como escalabilidad horizontal).

2. Explica las ventajas del modelo de procesamiento map-reduce.

HDFS (Hadoop Distributed File System)

Salida de los
data
Mapper1 mapper
Reducer1

data Pares:
mapperclave,
valor

data Mapper2 Ordenados por Reducer2


clave

maper

reducer

resultados

Upload Reducer

Upload Mapper COMPUTADORA LOCAL


Upload Data

Fig. 1A

MapReduce es un modelo de programación paralela que permite dividir una consulta en diferentes subconsultas más
simples (llamadas map) y una función para integrar los resultados de las mismas (llamada reduce). Las funciones map
se ejecutan de forma paralela en cada nodo que contenga datos a procesar. Esto tiene dos ventajas principales:

1) Minimiza el tiempo de respuesta, esto quiere decir que parte de la consulta se ejecuta en paralelo.

2) Minimiza el transporte de datos irrelevantes a través de la red, esto quiere decir que los datos son consultados
localmente en los nodos donde se almacenan y los datos irrelevantes para la consulta se descartan localmente.
3. Explica brevemente qué es la persistencia políglota y cómo se refleja en un proyecto.

1.La persistencia políglota consiste en el uso de diferentes tecnologías de almacenamiento para dar respuesta a las
diferentes necesidades de almacenamiento. 2.La persistencia políglota no consiste en substituir una tecnología de
almacenamiento de datos por otra, sino en utilizar, dentro de un mismo proyecto o una misma empresa, la tecnología
de almacenamiento de datos más apropiada para cada necesidad y tarea, estos conceptos los resumo en el siguiente
cuadro dando a conocer como la persistencia políglota se refleja en la consecución de un proyecto.

Base de datos
RELACIONAL
Base de datos Base de datos
Base de datos JSON Relacional JSON

PROYECTO
Base de datos XLM Base de datos Base de datos
XLM GRAFOS

Base de datos
GRAFOS
Persistencia políglota

Múltiple base de datos con un solo modelo Única base de datos con múltiples modelos

4. Explica las razones por las que un modelo relacional no es una buena opción cuando se deben procesar flujos de
datos.

1. El modelo relacional ofrece una visión uniforme de los datos, la relación, mientras que las bases de datos NoSQL
engloban a muchos modelos de datos como, por ejemplo, el modelo de agregación, el de grafos, etc. La existencia de
diferentes modelos de datos causa la existencia de diferentes familias de bases de datos NoSQL.

2. En el modelo relacional es necesario definir, a priori, un esquema conceptual que indique qué datos hay, cómo se
estructuran y relacionan. Eso no es necesario en la mayoría de modelos NoSQL (lo que se denomina schemaless). Las
implicaciones de ello es que los modelos NoSQL no disponen de independencia de datos y la dificultad de definir
restricciones de integridad en la base de datos. Es decir, el usuario/programa de la base de datos es el encargado de
interpretar y gestionar los datos. Por otro lado, la ventaja es que el proceso de datos heterogéneos es más simple en
las bases de datos NoSQL.

5. ¿Qué diferencias hay entre el modelo relacional y el modelo en grafo en cuanto a la representación de las
relaciones?

DIFERENCIAS.
Modelo relacional Modelo en grafo
En el modelo relacional las relaciones permiten En el modelo en grafo los nodos o vértices son
representar conceptos y sus filas permiten representar elementos que permiten representar conceptos
instancias de los mismos, es decir objetos del mundo generales u objetos del mundo real. Vendrían a ser el
real. equivalente a las relaciones en el modelo relacional.
En el modelo relacional los conceptos y los objetos del En el modelo en grafo, los conceptos y los objetos del
mundo real se representan mediante construcciones mundo real se representan de la misma forma: mediante
distintas. nodos.
Las aristas o arcos son relaciones dirigidas que nos En el modelo en grafo los nodos y las aristas se pueden
permiten relacionar nodos. Las aristas representan etiquetar, eso quiere decir que se puede asignar una
relaciones entre objetos del mundo real y serían el cadena de texto a los mismos para facilitar su lectura y
equivalente a las claves foráneas en el modelo relacional proveer mayor semántica. El modelo grafo está
o a las asociaciones en los diagramas de clases de UML representado por una matriz de A (aristas) por V
del inglés (Unified Modelling Language), con la que se (vértices), donde [arista, vértice] contiene la información
representan procesos empresariales, así como sistemas de la arista (conectado o no conectado).
y procesos de programación orientada a objeto.
Ejercicio 2 (30%)

A partir de la lectura de los apuntes (locuciones de los vídeos) de los temas I y II indica si te parecen ciertas o falsas
las siguientes afirmaciones. Para cada una de las afirmaciones indica si es cierta o falsa, justificando la respuesta
mediante lo que has leído en los materiales. En cada justificación deberá indicarse la cita de los apuntes, vídeo o
libros en la que se sustenta. No serán válidas las respuestas que no se justifiquen. Se valorará la concisión (una
página y media para las 5 afirmaciones como máximo).

Afirmación 1 En un modelo de agregación, la estructuración de agregados de un mismo tipo no puede variar en ningún
caso. Es decir, todos los agregados del mismo tipo deben seguir la misma estructura.

Falso, ya que los modelos de agregación presentan un esquema flexible lo cual quiere decir que no es necesario definir
de forma explícita el esquema de los datos, podemos tener dos agregados denominados para este ejemplo TIENDA,
uno de ellos pude mostrar una tienda en el que tenemos registrados cinco números telefónicos, el segundo una
TIENDA en el que no tenemos registrados ningún teléfono, incluso podría existir una tienda donde solo se defina parte
de la estructura del número telefónico (que incluya o no el código del país), o agregados de tipo TIENDA que definan
un orden diferente, ilustraré mi ejemplo con el siguiente gráfico.

Tienda Tienda

IdTienda = T1 IdTienda = T2

Nombre, Tienda = N1 Nombre, Tienda = N2

Teléfonos = T1, T2, T3,


T4, T5

Afirmación 2 El modelo en grafo es igual de fácil de escalar que los modelos agregados

Falso, ya que el modelo en grafo no es tan fácilmente escalable como los modelos de agregación. Los datos en el
modelo grafo están altamente relacionados, eso implica que distribuir los datos en diferentes ordenadores debe
hacerse con mucho cuidado para no “romper” relaciones entre los datos. Por este hecho, la distribución de datos en
estos modelos es compleja y requiere de información del dominio para realizarse de forma correcta. La gestión de
transacciones en los modelos en grafo está pensada con una filosofía más cercana a las bases de datos relacionales
que a los modelos de datos NoSQL de agregación, por otro lado, los sistemas de gestión de bases de datos que
implementan un modelo en grafo acostumbran a proporcionar lenguajes de más alto nivel que los basados en modelos
de agregación.

Afirmación 3 En un proyecto donde se debe priorizar la disponibilidad frente a la consistencia de los datos, son igual
de recomendables una base de datos relacional que una base de datos NoSQL.

Falso, No son igual de recomendables una base de datos relacional que una base de datos NoSQL ya que, se deberá
evaluar qué modelo de bases de datos se adapte mejor a un proyecto dependiendo de la consistencia y disponibilidad,
es decir si por ejemplo se trata de un software de gestión económica, sin duda se deberá implementar una solución
con una base de datos relacional, garantizando la consistencia de los datos, si por el contrario se requiere guardar
información de un dispositivo que continuamente este enviando y consultando información se podría implementar
una solución de base datos NoSQL, dado que esta base de datos NoSQL va a tratar de manejar gran información de
datos y en este sentido se requerirá una alta disponibilidad de dichos datos. Estás aplicaciones (NoSQL) a diferencia
de las bases de datos relacionales ofrecen servicios a un número indeterminado y difícilmente previsible de usuarios.
Y no sólo eso, sino que deben responder rápidamente, con independencia de la ubicación del usuario, del número de
usuarios conectados al servicio, o de la hora del día que sea. Además, deben proveer de alta disponibilidad para evitar
que un fallo del sistema deje sin servicio a un gran número potencial de usuarios.
Afirmación 4 Los modelos de agregación son una buena elección en el caso de modelos conceptuales donde
predominen asociaciones jerárquicas, asociaciones 1 a 1 y relaciones de tipo parte-todo.

Verdadero, Uno de los elementos más importantes para el uso eficaz de modelos de agregación tiene que ver con el
diseño de los agregados. El diseño de agregados debe estar guiado por las funcionalidades a proveer por las
aplicaciones que usen la base de datos. Los modelos de agregación son una buena solución, cuando no existan
interrelaciones (o asociaciones) complejas en el dominio de aplicación a representar. En general, éste será el caso de
modelos conceptuales donde predominen asociaciones jerárquicas, asociaciones 1 a 1 y relaciones de tipo parte-todo.

Afirmación 5 El modelo documental es un caso particular del modelo clave-valor, pero más flexible que el clave-valor

Verdadero. A diferencia del modelo clave-valor, en el modelo documental los agregados (que reciben el nombre de
documento) tienen una estructura interna. Esta estructura interna simplifica el desarrollo de aplicaciones, pero reduce
la flexibilidad del modelo clave-valor. La estructuración interna puede ser aprovechada por el sistema gestor de la base
de datos y por los lenguajes que ofrecen estas bases de datos. Así, por ejemplo, los documentos se pueden recuperar
mediante su clave o mediante el valor que toman sus atributos.
Ejercicio 3 (20%)

La biblioteca de la UOC ha diseñado un sistema para conocer los hábitos de las personas que solicitan préstamos de
sus libros. Para ello se quiere explotar la información que se almacena cada vez que un usuario solicita el préstamo
de un recurso de la biblioteca. Actualmente la información se encuentra almacenada en una base de datos relacional
de tipo Oracle. La dirección de la biblioteca ha solicitado ayuda al equipo docente de la asignatura de Arquitectura
de bases de datos no tradicionales, y de acuerdo al tipo de consultas que les gustaría realizar, el equipo docente ha
recomendado realizar una migración de la información a una base de datos de tipo documental. Además, se ha
acordado que los estudiantes de esta asignatura ayudarán a diseñar los tipos de documentos más eficientes para
las siguientes dos consultas que desean realizar:

Consulta 1: Teniendo en cuenta la titulación en la que están matriculados los estudiantes, interesa conocer
información acerca de los estudiantes que solicitaron un préstamo por cada mes y titulación. El objetivo es hacer
un estudio de estacionalidad, por lo tanto, no consideraremos el año, sólo consideraremos los meses.
Concretamente para cada mes y por cada titulación, se desea recuperar los datos (dni, nacionalidad, país donde
vive) de los estudiantes de esa titulación, así como, por cada estudiante, la lista de recursos que tomaron en
préstamo. De cada recurso se quiere obtener el título, isbn, tipo de recurso y asignatura de la titulación para la cual
está recomendado el recurso prestado (se supone que todos los préstamos que solicitan los estudiantes están
relacionados con alguna asignatura de la titulación que están cursando).

Sé realizo un agregado que representa la información de un mes en particular, este contendrá un agregado llamado
Titulación en cual será una colección de titulaciones para un mes en concreto, dentro titulación tendremos una
colección llamada estudiante con su DNI, nacionalidad y país, y esta a su vez contendrá lista de recursos con su ISBN,
tipo y asignatura
Consulta 2: También interesa conocer información de los recursos prestados agrupados por las asignaturas y
titulación en las que están recomendados. Concretamente para cada titulación y por cada asignatura (una
asignatura queda especificada en el plan de estudios indicando su nombre y el curso en el que se imparte) que
forman parte del plan de estudios de la misma, se desea recuperar los datos principales de cada recurso prestado:
título, isbn, tipo de recurso y una lista con la información (dni, nacionalidad, país donde vive) de cada uno de los
estudiantes que solicitaron el préstamo del recurso. Cada consulta requiere un tipo concreto de documento. En este
sentido, se pide indicar:

Sé realizo un agregado el cual representa la estructura de una titulación en particular, dado que una titulación contiene
n asignaturas por tal motivo dentro se creó la colección asignatura, dentro de asignatura se añadió una lista de
recursos con su ISBN, tipo y nombre, y para finalizar dentro de cada recurso se agregó una colección de estudiantes
con su DNI, nacionalidad y pais
Ejercicio 4 (20%)

Las limitaciones que presenta el modelo relacional fue una de las razones que hicieron que surgieran las bases de
datos NoSQL. Sin embargo, las limitaciones de los sistemas NoSQL también motivaron otras bases de datos
denominadas NewSQL, que son sistemas que adoptan el modelo relacional para ofrecer algunas de sus ventajas junto
con algunas de las mejoras que proporcionan las bases de datos NoSQL. Para saber más de las bases de datos NewSQL
se propone leer los apartados 1, ¿2 y 3 del artículo titulado “What’s Really New with NewSQL?” y los apartados 1, 3 y
4 del artículo titulado “NewSQL Through the Looking Glass”.

Una vez leídos los artículos de referencia, se propone buscar un caso de aplicación de una base de datos NoSQL y
otro caso de aplicación de una base de datos NewSQL. A continuación, contesta a las siguientes preguntas por cada
caso de aplicación (1 página como máximo para cada caso):

Base de datos NoSQL

1. Indica el enlace al caso analizado.

Entre una de las bases de datos NoSQL más destacadas cito Amazon DynamoDB, y entre una las empresas que utilizan
este servicio de base de datos NoSQL tenemos Walt Disney

https://www.businesswire.com/news/home/20210428005808/en/

https://press.aboutamazon.com/news-releases/news-release-details/walt-disney-company-uses-aws-support-
global-expansion-disney

2. Describe el problema de persistencia de datos que se ha resuelto.

Debido al lanzamiento de Disney + uno de los servicios de streaming de videos mas grandes del mundo, Walt Disney
confía en las bondades que le ofrece DynamoDB, para preservar la información de forma permanente de todo su
catalogo de videos, y poder transmitirlo en tiempo real.

3. Justifica las razones por las que es recomendable la base de datos que se ha utilizado como solución.

DynamoDB es una base de datos NoSQL de valor-clave, estas son muy útiles para acelerar una aplicación que admita
el procesamiento de alta velocidad de lectura y escritura de datos no transaccionales. Los valores almacenados pueden
ser cualquier tipo de objeto binario (texto, video, documento JSON, etc.), pudiendo ser accedidos mediante su clave,
en este tipo de base de datos los datos se replican y comparten en clúster para obtener escalabilidad y disponibilidad,
debidos a esto, este tipo de base de datos nunca o casi nunca manejan transacciones, pero son muy eficientes para
aplicaciones que necesitan datos a muy altas velocidades.

4. Justifica las razones por las que no sería recomendable utilizar otro tipo de bases de datos diferentes a la utilizada
en la solución.

Entre las razones más importantes sobre un RDBMS tradicional tenemos.

• La escalabilidad, las bases de datos NoSQL utilizan una estrategia de escalamiento horizontal, facilitando su
crecimiento de forma muy rápida y sin interrupciones. Esto es una gran ventaja dado que elimina la
fragmentación manual si se necesita escalar.
• Por el rendimiento, en estas bases de datos los recursos se añaden de forma dinámica, esto permite a
cualquier empresa ofrecer una gran experiencia a los usuarios con un gran retorno de la inversión.
• Y por último por su alta disponibilidad, este tipo de base de datos se diseñaron para garantizar una alta
disponibilidad y así evitar la gran complejidad que uno se encuentra en una arquitectura típica de nodos
primarios y secundarios.

5. Indica las referencias extra utilizadas para desarrollar el ejercicio.

AWS | Servicio de base de datos gestionada NoSQL (DynamoDB) (amazon.com)


Base de datos NewSQL

1. Indica el enlace al caso analizado.

Entre una de las bases de datos NewSQL más destacadas cito VoltDB, y entre una las empresas que utilizan este servicio
de base de datos New tenemos Openet

Openet selecciona VoltDB para ampliar las opciones de implementación dentro de entornos virtuales | Openet

VoltDB Powers Openet BSS Application Framework - VoltDB

2. Describe el problema de persistencia de datos que se ha resuelto.

Openet ofrece servicios y software en cuanto a la gestión de transacciones en tiempo real, por lo tanto, ha confiado
en las bondades de VoltDB para manejar un gran número de transacciones repetitivas de corta duración utilizando
índices para su búsqueda, esta base de datos NewSQL logra un alto rendimiento y escalabilidad, proporcionando
VoltDB velocidades 50 veces más rápido que SQL y ocho vas que un sistema NoSQL.

3. Justifica las razones por las que es recomendable la base de datos que se ha utilizado como solución.

Las bases de datos NewSQL manejan la transaccionalidad con la alta disponibilidad, ofreciendo un gran performance
para las transacciones en tiempo real, siendo este un sistema de gestión de datos moderno, que consigue o trata de
conseguir el mismo rendimiento que los sistemas NoSQL, para el procesamiento de transacciones en línea,
manteniendo en sus trabajos las garantías de las propiedades ACID de un sistema de base de datos tradicional.

4. Justifica las razones por las que no sería recomendable utilizar otro tipo de bases de datos diferentes a la utilizada
en la solución

Las transacciones en tiempo real necesitan ser precisas y veloces, VoltDB es hasta 50 veces más rápida que SQL y más
de ocho veces más rápida que NoSQL, debido a esto y a que este tipo de base de datos es la combinación de los mejor
de los mundos (SQL y NoSQL), no perfectas para este tipo de tareas.

5. Indica las referencias extra utilizadas para desarrollar el ejercicio.

https://www.voltdb.com/product/capabilities/

También podría gustarte