Conferencia 1 - Introducción a las BD noSQL.pdf

AlainPereiraToledo 0 views 38 slides Sep 25, 2025
Slide 1
Slide 1 of 38
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38

About This Presentation

Resumen
El documento presenta una introducción a las bases de datos NoSQL, abordando su evolución, características y su importancia en el contexto actual de Big Data y la web.

Objetivos
Explorar la necesidad de sistemas NoSQL en la gestión de grandes volúmenes de datos.
Analizar las caracter�...


Slide Content

MSc. Alain Pereira Toledo
Introducción a las bases de datos
NoSQL
Conferencia #1
Dr. Alain Pereira Toledo
Asignatura: Bases de datos
NOSQL
Departamento de Ciencia de la Computación
Universidad Central «Marta Abreu» de Las Villas
UCLV, 2021

MSc. Alain Pereira Toledo
1.Presentación de la asignatura
2.Definición
3.Evolución histórica
4.Características
5.Estructura
6.Clasificación
7.Roles
8.Desarrollo de aplicaciones de bases de datos
Sumario
2

MSc. Alain Pereira Toledo
Bases de Datos NoSQL(no presencial)
Duración del curso: 6 semanas
5 Temas ( tema por semana)
Sistema de Evaluación:
Clases prácticas
1 Tarea extraclaseal finalizar cada semana.
Tarea extraclasefinal (6ta semana).
??????������????????????
2????????????�+??????????????????+2??????��
5
=??????�????????????�??????�????????????;
P: promedio; TE: tarea extraclase; CP:
clase práctica; TEF: tarea extraclasefinal
Presentación de la asignatura
3

MSc. Alain Pereira Toledo
El cambio de comportamiento del usuario en internet de
consumidor a generador de contenido (Web 2.0) ha provocado el
aumento del tráfico en Internet y mayores volúmenes de datos, con
tipos de datos más variados.
Las grandes compañías web han crecido vertiginosamente en:
Cantidad de usuarios concurrentes
Volúmenes de datos procesados y almacenados
Explotación de datos semi-estructurados y no estructurados
La computación en la nube ha facilitado el acceso a servicios de
Internet que explotan diversos e inmensos volúmenes de datos.
Introducción
4

MSc. Alain Pereira Toledo
Introducción
5
Año
PB/Mes
Tráfico en Internet

MSc. Alain Pereira Toledo
Introducción
6

MSc. Alain Pereira Toledo
¡Big
Data!
Las 3 Vs
Volumen VelocidadVariabilidad
Introducción
7

MSc. Alain Pereira Toledo
Introducción
8

MSc. Alain Pereira Toledo
Introducción
9

MSc. Alain Pereira Toledo
Introducción
10

MSc. Alain Pereira Toledo
NoSQL(“no SQL” o “NotOnlySQL”) es un término vago y
sobrecargado usado para referirse a cualquier sistema de
almacenamiento de datos que no sigue la teoría relacional, está
orientado principalmente a la weby al procesamiento de
grandes volúmenes de datos, con tipos variados donde priman
los semi-estructurados y no estructurados y donde la
disponibilidad es un requerimiento fundamental por encima de
la consistencia; y que se despliega en ambientes distribuidos.
Introducción
11

MSc. Alain Pereira Toledo
El término NoSQLsurge en 1998 para nombrar el gestor
relacional creado por Carlos Strozzi, el cual no usaba SQL.
Eric Evans retomó el término para nombrar la ambición del
reciente movimiento surgido:
“the whole point of seeking alternatives is that you need to solve a
problem that relational databases are a bad fit for” Evans, 2009.
Introducción
12

13
Evolución de los SGBD

MSc. Alain Pereira Toledo
Escalabilidad
Costo
Flexibilidad
Disponibilidad
Motivación
14

MSc. Alain Pereira Toledo
Es la habilidad de un sistema para manejar eficientemente las
variaciones de la carga de trabajo.
Escalabilidad vertical (Scaleup): aumento de capacidades del sistema
para manejar las cargas.
Escalabilidad horizontal (Scaleout): aumento de nodos de
procesamiento para manejar las cargas.
Escalabilidad
15

MSc. Alain Pereira Toledo
Escalabilidad vertical Escalabilidad horizontal
Escalabilidad (cont.)
16

MSc. Alain Pereira Toledo
Los proveedores de SGBD con licencia comercial emplean
modelos que cobran en dependencia de aspectos tales como el
tamaño del servidor, el número de usuarios concurrentes.
Pero los sistemas web tienen número de pedidos y usuarios
muy variables, con picos difíciles de predecir.
Afortunadamente, las mayorías de las propuestas NoSQLson
open-source. Existen compañías de terceros que dan soporte.
Costo
17

MSc. Alain Pereira Toledo
Los SGBD relacionales pueden ser útiles en una amplia gama de
problemas de gestión de datos. Pero se necesita conocer desde
el comienzo del proyecto la estructura que tendrá la BD.
Existe un grupo de problemas identificados en el contexto de la
web actual para los cuales no se conoce a priori la estructura de
la BD, sino que se va conformando en el curso del
funcionamiento del sistema.
Flexibilidad
18

MSc. Alain Pereira Toledo
Considere una aplicación de comercio electrónico que usa BDs
para rastrear atributos de productos.
Diferentes productos pueden tener diferentes atributos (ej.: PCs,
Microwaves, etc.)
Flexibilidad (ejemplo)
19
Definir una tabla para
cada tipo de productos
Definir una tabla con
todos los atributos
imaginables
Diseñador de BD

MSc. Alain Pereira Toledo
El sistema siempre debe proveer una respuesta ante una
solicitud. Si ocurriera un fallo, debe permanecer operacional.
Muchos sistema actuales en la web, manejan grandes
volúmenes de datos en ambientes distribuidos, por lo que
resulta costoso en tiempo para un sistema relacional tradicional,
mantener la consistencia.
Los sistemas NoSQLoperan en ambientes distribuidos. Si un
nodo falla, entonces otro, con una copia de los datos, asume la
carga. También sacrifican la consistencia en beneficio de la
disponibilidad.
Disponibilidad
20

MSc. Alain Pereira Toledo
Amazon usaba el gestor de Oracle al inicio, pero los grandes
volúmenes de datos fueron la causa de algunos cortes en su
servicio online.
Soluciones valoradas:
Distribuir para balancear la carga
Usar servicios web para abstraerse de la tecnología de BD
Finalmente (2007): Dynamo, sistema NoSQLcreado por la compañía
que prometía disponibilidad continua, entre otras propiedades
llamativas.
Disponibilidad (ejemplo)
21

MSc. Alain Pereira Toledo
No tienen esquemas estáticos y permiten la migración del esquema (fácil
modificación sin necesidad de rediseño y no es necesario conocerlo por
adelantado).
No relacionales: se alejan del uso estricto de SQL o de las propuestas de
los sistemas relacionales para almacenar la información.
Uso de hardware no especializado: no es necesario aumentar las
prestaciones, sino que permiten escalar horizontalmente.
Altamente distribuibles: usan arquitecturas muy distribuidas para
procesar los datos.
Características
22

MSc. Alain Pereira Toledo
Son eventualmente consistentes (no ACID). Sacrifican la consistencia
estricta en beneficio de la disponibilidad.
Suelen tener un sistema de consultas propio en lugar de un lenguaje
estándar, dado que se basan mayormente en variadas formas físicas de
almacenamiento.
Procesan grandes volúmenes de datos.
Manejan datos variados (datos semi-estructurados y no estructurados).
Open source.
Características
23

MSc. Alain Pereira Toledo
Teorema de Brewer, conocido también como Teorema CAP.
Es imposible para un sistema computacional
distribuido ofrecer simultáneamente las siguientes tres
garantías:
Consistencia (consistency):cada usuario tiene la misma vista de la BD
en cualquier instante.
Disponibilidad (availability): siempre debe proveer una respuesta ante
una solicitud. Si ocurriera un fallo, debe permanecer operacional.
Tolerancia a la partición (partitiontolerant): puede mantener las
operaciones en caso de incomunicación entre dos segmentos de la red
del sistema distribuido.
Teorema de Brewer
24

MSc. Alain Pereira Toledo
Teorema de Brewer
25

MSc. Alain Pereira Toledo
Clave-valor (key-valuestore): sistema de almacenamiento
simple que usa una clave para acceder a un valor.
Columnares(columnfamilystore):
Basadas en grafos (graphstore)
Basadas en documentos (documentstore)
Clasificación
26

MSc. Alain Pereira Toledo
Sistema de almacenamiento simple que usa una clave para
acceder a un valor.
Su precursor fue Amazon Dynamo
–Basadas en DHT (DistributedHash Tables)
Modelo de datos: colección de pares
clave/valor
Ejemplos: Redis, Dynomite, Voldemort, Tokyo
Clave-valor
27

MSc. Alain Pereira Toledo
Su precursor fue Google BigTable
Modelo de datos: familia de columnas, esto es, un modelo tabular
donde cada fila puede tener una configuración diferente de
columnas
Guardan datos por columna en vez de las BDstradicionales que lo hacen por
filas
Ejemplos: HBase, Hypertable, Cassandra, Riak
Buenas en:
–Gestión de tamaño
–Cargas de escrituras masivas orientas al stream
–Alta disponibilidad
–MapReduce
Columnares
28

MSc. Alain Pereira Toledo
Inspiradas por Euler y la teoría de grafos
Modelo de datos: nodos, relaciones con pares clave valor en ambos
Ejemplos: AllegroGraph, VertexBD, Neo4j
Buenas en:
–Modelar directamente un dominio en forma de grafo, una manera
común de representar y entender datasets
–Ofrecer excelente rendimiento cuando los datos están
interconectados y no tabulares
–Realizar operaciones transaccionales que exploten las relaciones
entre entidades
Basadas en grafos
29

MSc. Alain Pereira Toledo
La precursora fue Lotus Notes
Modelo de datos: colecciones de documentos (JSON, XML,
BSON) que contienen colecciones de claves-valor
Ejemplos: CouchDB, MongoDB
Buenas en:
–Modelado de datos natural
–Amigables al programador
–Desarrollo rápido
–Orientas a la web: CRUD
Basadas en documentos
30

MSc. Alain Pereira Toledo
Comparación con los SGBDR
31
Makris, A., Tserpes, K., Andronikou, V., & Anagnostopoulos, D. (2016). A Classification of NoSQLData Stores Based on Key Design
Characteristics. ProcediaComputer Science, 97, 94–103. https://doi.org/10.1016/j.procs.2016.08.284

MSc. Alain Pereira Toledo
Se pueden cargar datos al sistema incluso cuando el esquema
del negocio no está terminado .
La escalabilidad del sistema es linear a medida que añaden
nodos.
Posibilidad de usar hardware no especializado para los nodos.
Menor impacto ante los cambios en el esquema.
Se aborda un conjunto de problemas sobre manipulación de
datos, en los cuales se prioriza la disponibilidad y tolerancia a la
partición, para los cuales los sistemas relacionales tradicionales
no están preparados.
Ventajas de los sistemas NoSQL
32

MSc. Alain Pereira Toledo
La consistencia solo se puede mantener al interior de un
documento a nivel de base de datos.
Los almacenes de documentos no proveen de muy buena
seguridad al nivel de elemento.
Son sistemas nuevos para los equipos de desarrollo, por lo que
se requiere entrenamiento adicional.
Son muy variados en modelo de almacenamiento e interfaz de
manipulación, por lo que hace prohibitivo la portabilidad.
No puede usar herramientas actuales para reportes y análisis
OLAP.
Desventajas de los sistemas NoSQL
33

MSc. Alain Pereira Toledo
El surgimiento de los sistemas NoSQLestá motivado
principalmente por las limitaciones presentadas por los gestores
relacionales ante el nuevo contexto de la Web (Big Data,
distribución, necesidad de disponibilidad).
Son sistemas muy diversos en cuanto a modelos de datos,
lenguajes y áreas de aplicación. Son fundamentalmente de
propósito específico.
Por lo general sacrifican la consistencia en beneficio de lograr
alta disponibilidad.
Conclusiones
34

MSc. Alain Pereira Toledo
Harrison, G. (2015). Next Generation Databases. New York, USA:
Apress.
Makris, A., Tserpes, K., Andronikou, V., & Anagnostopoulos, D.
(2016). A Classification of NoSQLData Stores Based on Key
Design Characteristics. ProcediaComputer Science, 97, 94–103.
Vaish, G. (2013). Getting Started with NoSQL. Birmingham, UK:
PacktPublishing.
Bibliografía
35

MSc. Alain Pereira Toledo
http://nosql-database.org/
https://db-engines.com/en/ranking
Bibliografía
36

MSc. Alain Pereira Toledo
Lea el capítulo1 de los siguientes libros:
Vaish, G. (2013). Getting Started with NoSQL. PacktPublishing.
Capítulo1
Harrison, G. (2015). Next Generation Databases. Apress.
Estudioindependiente
37

MSc. Alain Pereira Toledo
Responda las siguientes preguntas de control luego de leer la
bibliografía orientada. Escriba las respuestas y añádalas al documento
que debe enviar a través de Moodleal finalizar el Tema 1:
1.¿Para qué tipo de aplicaciones se han creado las bases de datos NoSQL?
2.¿Cuáles son los tipos de sistemas NoSQL? Liste al menos un sistema de ese
tipo que no se haya mencionado en la conferencia. Puede auxiliarse de
Internet o de los libros disponibles en el sitio de la asignatura.
3.¿Cuáles son las tres propiedades componentes del Teorema de Brewer?
¿Por cuál otro nombre se le conoce? ¿Cuál de las tres propiedades opina
que es las más importante y por qué?
Estudioindependiente
38