SlideShare ist ein Scribd-Unternehmen logo
1 von 63
Andrea Antunes C.I.: 20.362.606
María E. Pulido C.I.: 20.289.633
José Zambrano C.I.: 20.220.232
Universidad Central de Venezuela
Facultad de Ciencias
Escuela de Computación
Administración de Bases de Datos
1
• ¿Qué es NoSQL?.
• ¿Qué es una BD NoSQL?.
• ¿Por qué surge?.
• Características.
• Ventajas y Desventajas.
• Arquitectura de una BD NoSQL.
2
• Teorema CAP.
• Transacciones BASE.
• CAP vs BASE vs ACID.
• Taxonomía de BD NoSQL.
• ¿SQL ó NoSQL?.
• Caso de Estudio.
3
• Es una amplia clase
de SMBD.
• Difiere del RDBMS.
4
• Sistema de almacenamiento de información.
• No cumple con el esquema entidad-relación.
• No impone una estructura de datos.
• Almacena los datos en diferentes formatos.
5
…No existen tablas!!!
En RDBMS
En NoSQL
6
23652498
19532643
15973820
Ana
Juan
María
Pérez
López
Jiménez
García
Suárez
Null
Null
4329916
Null
23652498
19532643
15973820
Ana
Juan
María
Pérez
López
Jiménez
García
Suárez 4329916
…Llegó la web, el software como
servicio, los servicios en la nube y
las startups de éxito con millones
de usuarios…
7
8
Billones de usuario Datos NO Estructurados+
9
• Poca eficiencia en aplicaciones en las BD
relacionales.
• Aumento de operaciones de lectura y escritura.
• Gran conjunto de transacciones.
• Sentencias complejas.
• Dificultades en la escalabilidad del sistema.
• Consistencia Eventual.
• Ausencia de esquema en los registros de datos.
• Alta velocidad de respuesta a peticiones.
• Estructura distribuida.
• Escalabilidad horizontal.
10
• Estructura distribuida.
• Escalabilidad horizontal.
• Consistencia Eventual:
11
• Ausencia de esquema en los registros de datos:
12
ID Nombre Apellido Id_CArea
1 Frank Lara 2
2 Ana Guzmán 3
3 Pedro López 2
Id_CArea Ciudad Estado Cod_Area
1 MBO ZL 0261
2 CCS DC 0212
3 LAS NE 0295
+ =
{
“ID”:1,
“Nombre”:”Frank”,
“Apellido”: “Lara”,
“Cod_Area”:”0212”,
“Ciudad”:”CCS”,
“Estado”:”DC”
}
Info. Usuario
Info. Dirección
• Alta velocidad de respuesta a peticiones:
13
• Estructura distribuida:
14
Zorro Función Hash DFCD3454
El zorro corre
por el hielo
Función Hash 52ED879E
El zorro rojo
camina por
el hielo
Función Hash 46042841
Data Clave
• Escalabilidad:
15
CPU
1 GB RAM
CPU
1 GB RAM
CPU
1 GB RAM
Escala
CPU
1 GB RAM
CPU
1 GB RAM
CPU
4 GB RAM
CPU
2 GB RAM
Escala
• Manejo de gran volumen de datos.
• Escalamiento sencillo.
• Diferentes DBs NoSQL para diversos
proyectos.
• Uso de memoria como principal ubicación
de escritura.
• Código abierto.
16
• No son suficientemente maduros para
algunas empresas.
• Falta de experiencia.
• No trata con datos críticos que
requieren ACID.
• Problemas de compatibilidad.
17
18
19
Consistency
(Consistencia)
Partition
Tolerance
(Tolerancia a
Partición)
Availability
(Disponibilidad)
A
P
RDBMS NoSQL
NoSQL
20
• Bassically Available.
(Básicamente Disponible)
• Soft-State.
(Estado suave)
• Eventual Consistency.
(Consistencia eventual)
21
• Consistencia.
• Disponibilidad.
• Tolerancia a la partición.
CAP
•Tolerancia a la partición.
•Disponibilidad.
BASE
•Coherencia.
•Disponibilidad.ACID
Orientada a
Grafos
Familias de
Columnas
Clave - Valor Documentos
22
• La información es representada en nodos.
• Ya está normalizada.
• No es necesario definir cantidad de atributos.
• Registros de longitud variable.
• Recorrido.
23
• Índice.
• ¿Cuándo usarlas?.
• Algunas BD: Neo4j, HyperGraphDB.
24
• Ejemplo:
25
Carolina MensajeMensajeSara
Carlos
Ana
Amigo de
Amigo de
Amigo de
Amigo de
Amigo de Me gusta
Me gusta
Últ. Ant.
• Guarda los valores en columnas.
• Los datos son almacenados como secciones de
las columnas de datos.
• ¿Cuándo usarlas?
• Beneficios.
• Ventajas.
26
• Precursor: Google BigTable.
• Conceptos fundamentales:
• Algunas BD: Hbase, Cassandra, Hypertable.
27
Familia de Columnas
Súper Columna
Columna
R
o
w
K
e
y
Sup_Col_Name1
C_N1
C_V1
C_Nn
C_Vn
Sup_Col_Namem
C_N1
C_V1
C_Nn
C_Vn
….. …..…..
28
Id Nombre Edad Intereses
1 Ricky Fútbol, Cine, Béisbol
2 Pedro 20
3 Juan 25 Música
Id Nombre
1 Ricky
2 Pedro
3 Juan
Id Edad
2 20
3 25
Id Intereses
1 Fútbol
1 Cine
1 Béisbol
3 Música
Orientado a Fila
(Modelo RDBMS)
Orientado a
Columnas
Null
Multivalor• Ejemplo:
• Conjunto de duplas (Clave, Valor).
• Existen contenedores.
• Permite variar la estructura de la información.
• Validación de los datos en la aplicación Cliente.
• Acceso.
• Desventajas.
29
• Básicamente sería...
30
Clave Valor
85051-0
• Precursor: Amazon Dynamo.
• Algunas BD: Riak y Redis.
86694-1
Índice
Claves
John Smith
Lisa Smith
Sam Doe
000
001 754375
002
200
201
202 854575
886
887 345435
889
Valores
:
:
31
• Ejemplo:
32
• Almacena los datos en documentos.
• Son duplas Clave-(Valor => documento).
• No existe un esquema estricto.
• Los documentos dentro de una colección
pueden tener campos diferentes.
• Acceso.
33
• Características.
• Precursor: Lotus Notes.
• Algunas BD: Apache CouchDB y RavenDB.
34
• Ejemplo:
{
Nombre:"Pepe",
Dirección:"C/ San Juan 15",
Hijos:[
{Nombre:"Ana",Edad:10},
{Nombre:"Pedro", Edad:8},
{Nombre:"Juan", Edad:5},
{Nombre:"Félix", Edad:2}
]
}
{
Nombre:”María",
Dirección:“Guarenas",
Fecha_Nac:”20/06/1980”,
Teléfono:”0212-2515025”
Hijos:[
{Nombre:“Luís",Edad:15}
]
}
Contenedor
ID: 23532ID: 84678
La Clave…
A la hora de
decidirnos entre una
arquitectura u otra,
debemos tener en
cuenta…
35
36
{ nombre: “Mongo”,
tipo: “BD”,
clase: “NoSQL”,
taxonomía: “Documentos” }
37
• ¿Qué es MongoDB?.
• Características Principales.
• Estructura de MongoDB.
• Arquitectura de MongoDB.
• Modelo de Datos.
• Esquema Flexible.
38
39
• Estructura de un Documento.
• Índices en MongoDB.
• Respaldo y Restauración.
• ¿Quiénes usan MongoDB?
• Videos demostrativos:
“Primeros pasos con MongoDB”.
40
• BD multiplataforma
de código abierto.
• NoSQL orientada a
documentos.
41
• Escalable, alto rendimiento y disponibilidad.
• Puede trabajar en modo maestro-esclavo.
• Basada en esquemas BSON (Binary JSON ).
• Posee un rico y sencillo sistema de consulta.
• Soporte de índices.
• Replicación y soporte a prueba de fallos.
42
Posee una estructura escalable debido a las
las siguientes propiedades:
• Escalabilidad horizontal
(Auto-Sharding).
• Replicación para alta
disponibilidad.
43
• Escalabilidad horizontal (Auto-Sharding):
Rango de Clave Rango de Clave Rango de Clave
0…100 0…50 51…100 0…25 26…50
…….
51…75 76…100
mongod mongod mongod mongod mongod
mongod mongod
Escalabilidad para Escribir
44
• Replicación para alta disponibilidad:
Esclavo
Esclavo
Maestro
Esclavo
Esclavo
Driver
Escritura
Lectura
Escritura
Lectura
Lectura
Maestro
Maestro
XEsclavo
45
Los principales componentes de MongoDB
son los siguientes:
• Mongod (Núcleo de la base de datos).
• Mongos (Controlador de particionamiento).
• GridFS (Función de almacenamiento).
46
Motor central de la BD, puede correr como
programa o demonio y posee tres funcionalidades:
 Standalone Server.
 Config Server.
 Shard Partition.
• Mongod:
47
“Database Router”
Brinda transparencia a
las aplicaciones
cliente.
• Mongos:
48
Función que almacena y extrae ficheros de la BD.
Define dos colecciones: files y chunks.
Ficheros mayores a 16MB se dividirán en partes
menores, y cada bloque se guardará como un
documento en la colección de bloques.
• GridFS:
49
50
51
Sistema mongo Base de datos
Colección
Documento
Campo
String
Integer
Float
Timestamp
Binary
Documento
Arreglo
Nombre en forma de cadena
l
v
a
a
e
l
o
r
52
• Las colecciones no fuerzan una estructura
idéntica para los documentos.
• Los documentos no necesitan la misma cantidad
de campos, y aquellos comunes pueden contener
diferentes tipos de datos.
• Cada documento necesita un número relevante
de campos de la entidad.
53
La BD MongoDB guarda las estructuras de
datos en documentos tipo BSON, usando un
esquema dinámico con la siguiente disposición:
{
campo1 : valor1 ,
campo2 : valor2 ,
campo3 : valor3 ,
...
campoN : valorN
}
54
• Son similares a los de otras BD y puede soporta
índices en cualquier campo o subcampo
contenido en los documentos de una colección.
• Por defecto, se crea un índice sobre la clave _id
de los documentos de una colección, aunque
también pueden ser creados vía ensureIndex:
Ej.: db.unicorns.ensureIndex({ name : 1});
55
Características:
• Se definen sobre un nivel por colección.
• Se pueden crear sobre uno o varios campos
utilizando un índice compuesto.
• Utilizan una estructura de datos B-tree y
mejoran el rendimiento de consultas.
• Cada consulta utiliza sólo un índice.
56
_id
Único
Disperso
Secundario
Compuesto
No
Disperso
Hash
TTL
Texto
Geoespaciales
ÍNDICES
MongoDB
Tipos:
57
Limitaciones:
• Una colección no puede tener más de 64 índices.
• Las claves de índice no pueden ser mayor
que 1024 bytes (1KB) porque no pueden ser
indexados.
• El nombre de un índice, incluido los espacios
debe ser inferior a 128 caracteres .
58
Respaldos:
Se utiliza el ejecutable mongodump:
Ej.: mongodump --db Gen
Restauración:
Utilizamos mongorestore:
Ej.: mongorestore --db Gen --drop --
dbpath dump/Gen
59
SQL MongoDB
CREATE TABLE users ( id MEDIUMINT NOT NULL
AUTO_INCREMENT, user_id Varchar(30), age Number,
status char(1), PRIMARY KEY (id));
db.users.insert({user_id: "abc123", age: 55, status:
"A"})odb.createCollection("users")
DROP TABLE users db.users.drop()
INSERT INTO users(user_id,age, status) VALUES
("bcd001", 45, "A")
db.users.insert( { user_id: "bcd001", age: 45, status: "A"} )
SELECT * FROM users db.users.find()
SELECT COUNT(*) FROM users db.users.count()odb.users.find().count()
SELECT * FROM users WHERE status = "A" ORDER BY
user_id DESC
db.users.find( { status: "A" } ). sort( { user_id: -1 } )
UPDATE users SET status = "C" WHERE age > 25
db.users.update( { age: { $gt: 25 } }, { $set: { status: "C" } },
{ multi: true })
DELETE FROM users WHERE status = "D" db.users.remove( { status: "D" } )
60
“Primeros pasos con MongoDB”
61
• Iniciando MongoDB.
• Creando BD.
• Creando Colecciones 1.
• Creando Colecciones 2.
• Índices.
62
63

Weitere ähnliche Inhalte

Was ist angesagt?

El modelo relacional
El modelo relacionalEl modelo relacional
El modelo relacionalLuis Jherry
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datosSergio Sanchez
 
Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Neguib Núñez
 
Sistemas Gestores de Bases de Datos
Sistemas Gestores de Bases de DatosSistemas Gestores de Bases de Datos
Sistemas Gestores de Bases de Datosalexmerono
 
Bases de datos deductivas
Bases de datos deductivas Bases de datos deductivas
Bases de datos deductivas natar25
 
Fundamentos de Bases de Datos - Introducción
Fundamentos de Bases de Datos - IntroducciónFundamentos de Bases de Datos - Introducción
Fundamentos de Bases de Datos - IntroducciónManuel Padilla
 
Modelo de datos.
Modelo de datos.Modelo de datos.
Modelo de datos.omarzon
 
Sql o NoSql en Informática Médica
Sql o NoSql en Informática MédicaSql o NoSql en Informática Médica
Sql o NoSql en Informática MédicaLiz Armenteros
 
Una base de datos relacional
Una base de datos relacionalUna base de datos relacional
Una base de datos relacionalAlex Javier
 
Crear base de datos mysql command
Crear base de datos mysql commandCrear base de datos mysql command
Crear base de datos mysql commandLouis Jhosimar
 
NoSQL databases - An introduction
NoSQL databases - An introductionNoSQL databases - An introduction
NoSQL databases - An introductionPooyan Mehrparvar
 
Ventajas y desventajas de las bdoo
Ventajas y desventajas de las bdooVentajas y desventajas de las bdoo
Ventajas y desventajas de las bdooNerhys Palacios
 

Was ist angesagt? (20)

Lenguaje SQL
Lenguaje SQLLenguaje SQL
Lenguaje SQL
 
Conceptos basicos
Conceptos basicosConceptos basicos
Conceptos basicos
 
El modelo relacional
El modelo relacionalEl modelo relacional
El modelo relacional
 
Mongo db
Mongo dbMongo db
Mongo db
 
MongoDB: la BBDD NoSQL más popular del mercado
MongoDB: la BBDD NoSQL más popular del mercadoMongoDB: la BBDD NoSQL más popular del mercado
MongoDB: la BBDD NoSQL más popular del mercado
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datos
 
Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)
 
Fundamentos de las bases de datos
Fundamentos de las bases de datosFundamentos de las bases de datos
Fundamentos de las bases de datos
 
Sistemas Gestores de Bases de Datos
Sistemas Gestores de Bases de DatosSistemas Gestores de Bases de Datos
Sistemas Gestores de Bases de Datos
 
Bases de datos deductivas
Bases de datos deductivas Bases de datos deductivas
Bases de datos deductivas
 
Base de datos distribuidas
Base de datos distribuidasBase de datos distribuidas
Base de datos distribuidas
 
Fundamentos de Bases de Datos - Introducción
Fundamentos de Bases de Datos - IntroducciónFundamentos de Bases de Datos - Introducción
Fundamentos de Bases de Datos - Introducción
 
Modelo de datos.
Modelo de datos.Modelo de datos.
Modelo de datos.
 
NoSQL - MongoDB
NoSQL - MongoDBNoSQL - MongoDB
NoSQL - MongoDB
 
Sql o NoSql en Informática Médica
Sql o NoSql en Informática MédicaSql o NoSql en Informática Médica
Sql o NoSql en Informática Médica
 
Una base de datos relacional
Una base de datos relacionalUna base de datos relacional
Una base de datos relacional
 
Fundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sqlFundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sql
 
Crear base de datos mysql command
Crear base de datos mysql commandCrear base de datos mysql command
Crear base de datos mysql command
 
NoSQL databases - An introduction
NoSQL databases - An introductionNoSQL databases - An introduction
NoSQL databases - An introduction
 
Ventajas y desventajas de las bdoo
Ventajas y desventajas de las bdooVentajas y desventajas de las bdoo
Ventajas y desventajas de las bdoo
 

Ähnlich wie Presentacion BD NoSQL

Introducción mongodb y desarrollo
Introducción mongodb y desarrolloIntroducción mongodb y desarrollo
Introducción mongodb y desarrolloJuan Ladetto
 
Introducción a NoSQL con MongoDB y FireDAC
Introducción a NoSQL con MongoDB y FireDAC Introducción a NoSQL con MongoDB y FireDAC
Introducción a NoSQL con MongoDB y FireDAC Fernando Rizzato
 
Unidad 1 - Introducción a los Sistemas de Gestión de Bases de Datos.pdf
Unidad 1 - Introducción a los Sistemas de Gestión de Bases de Datos.pdfUnidad 1 - Introducción a los Sistemas de Gestión de Bases de Datos.pdf
Unidad 1 - Introducción a los Sistemas de Gestión de Bases de Datos.pdfDanielMarquez902683
 
Actividad de aprendizaje 4: base de datos
Actividad de aprendizaje 4: base de datosActividad de aprendizaje 4: base de datos
Actividad de aprendizaje 4: base de datosefrain_bautista
 
Actividad de aprendizaje 4
Actividad de aprendizaje 4Actividad de aprendizaje 4
Actividad de aprendizaje 4efrain_bautista
 
Introducción a Azure DocumentDB
Introducción a Azure DocumentDBIntroducción a Azure DocumentDB
Introducción a Azure DocumentDBJoseph Lopez
 
Aplicaciones web altamente escalables con Redis
Aplicaciones web altamente escalables con RedisAplicaciones web altamente escalables con Redis
Aplicaciones web altamente escalables con RedisAlberto Gimeno
 
Taller Redis
Taller RedisTaller Redis
Taller Redisbetabeers
 

Ähnlich wie Presentacion BD NoSQL (20)

Introducción mongodb y desarrollo
Introducción mongodb y desarrolloIntroducción mongodb y desarrollo
Introducción mongodb y desarrollo
 
NoSQL: la siguiente generación de Base de Datos
NoSQL: la siguiente generación de Base de DatosNoSQL: la siguiente generación de Base de Datos
NoSQL: la siguiente generación de Base de Datos
 
Mongo Mapper
Mongo MapperMongo Mapper
Mongo Mapper
 
Introducción a NoSQL con MongoDB y FireDAC
Introducción a NoSQL con MongoDB y FireDAC Introducción a NoSQL con MongoDB y FireDAC
Introducción a NoSQL con MongoDB y FireDAC
 
Unidad 1 - Introducción a los Sistemas de Gestión de Bases de Datos.pdf
Unidad 1 - Introducción a los Sistemas de Gestión de Bases de Datos.pdfUnidad 1 - Introducción a los Sistemas de Gestión de Bases de Datos.pdf
Unidad 1 - Introducción a los Sistemas de Gestión de Bases de Datos.pdf
 
NoSQL: Introducción a las Bases de Datos no estructuradas
NoSQL: Introducción a las Bases de Datos no estructuradasNoSQL: Introducción a las Bases de Datos no estructuradas
NoSQL: Introducción a las Bases de Datos no estructuradas
 
No-SQL, Azure Table Storage y MongoDB
No-SQL, Azure Table Storage y MongoDBNo-SQL, Azure Table Storage y MongoDB
No-SQL, Azure Table Storage y MongoDB
 
Actividad de aprendizaje 4: base de datos
Actividad de aprendizaje 4: base de datosActividad de aprendizaje 4: base de datos
Actividad de aprendizaje 4: base de datos
 
Actividad de aprendizaje 4
Actividad de aprendizaje 4Actividad de aprendizaje 4
Actividad de aprendizaje 4
 
Pricipales bases de datos
Pricipales bases de datosPricipales bases de datos
Pricipales bases de datos
 
introduccion bases de datos
introduccion bases de datosintroduccion bases de datos
introduccion bases de datos
 
Presentación de UCSQL
Presentación de UCSQLPresentación de UCSQL
Presentación de UCSQL
 
Base de datos
Base de datosBase de datos
Base de datos
 
Introducción a Azure DocumentDB
Introducción a Azure DocumentDBIntroducción a Azure DocumentDB
Introducción a Azure DocumentDB
 
Aplicaciones web altamente escalables con Redis
Aplicaciones web altamente escalables con RedisAplicaciones web altamente escalables con Redis
Aplicaciones web altamente escalables con Redis
 
Taller Redis
Taller RedisTaller Redis
Taller Redis
 
Semana 3 Mongodb
Semana 3   MongodbSemana 3   Mongodb
Semana 3 Mongodb
 
Las cronicas de redis
Las cronicas de redisLas cronicas de redis
Las cronicas de redis
 
Presentación4
Presentación4Presentación4
Presentación4
 
Base de datos
Base de datos Base de datos
Base de datos
 

Kürzlich hochgeladen

Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfpatriciaines1993
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.docRodneyFrankCUADROSMI
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfAlfaresbilingual
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdfMiguelHuaman31
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdfMiNeyi1
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxlclcarmen
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 

Kürzlich hochgeladen (20)

Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 

Presentacion BD NoSQL

  • 1. Andrea Antunes C.I.: 20.362.606 María E. Pulido C.I.: 20.289.633 José Zambrano C.I.: 20.220.232 Universidad Central de Venezuela Facultad de Ciencias Escuela de Computación Administración de Bases de Datos 1
  • 2. • ¿Qué es NoSQL?. • ¿Qué es una BD NoSQL?. • ¿Por qué surge?. • Características. • Ventajas y Desventajas. • Arquitectura de una BD NoSQL. 2
  • 3. • Teorema CAP. • Transacciones BASE. • CAP vs BASE vs ACID. • Taxonomía de BD NoSQL. • ¿SQL ó NoSQL?. • Caso de Estudio. 3
  • 4. • Es una amplia clase de SMBD. • Difiere del RDBMS. 4
  • 5. • Sistema de almacenamiento de información. • No cumple con el esquema entidad-relación. • No impone una estructura de datos. • Almacena los datos en diferentes formatos. 5
  • 6. …No existen tablas!!! En RDBMS En NoSQL 6 23652498 19532643 15973820 Ana Juan María Pérez López Jiménez García Suárez Null Null 4329916 Null 23652498 19532643 15973820 Ana Juan María Pérez López Jiménez García Suárez 4329916
  • 7. …Llegó la web, el software como servicio, los servicios en la nube y las startups de éxito con millones de usuarios… 7
  • 8. 8 Billones de usuario Datos NO Estructurados+
  • 9. 9 • Poca eficiencia en aplicaciones en las BD relacionales. • Aumento de operaciones de lectura y escritura. • Gran conjunto de transacciones. • Sentencias complejas. • Dificultades en la escalabilidad del sistema.
  • 10. • Consistencia Eventual. • Ausencia de esquema en los registros de datos. • Alta velocidad de respuesta a peticiones. • Estructura distribuida. • Escalabilidad horizontal. 10 • Estructura distribuida. • Escalabilidad horizontal.
  • 12. • Ausencia de esquema en los registros de datos: 12 ID Nombre Apellido Id_CArea 1 Frank Lara 2 2 Ana Guzmán 3 3 Pedro López 2 Id_CArea Ciudad Estado Cod_Area 1 MBO ZL 0261 2 CCS DC 0212 3 LAS NE 0295 + = { “ID”:1, “Nombre”:”Frank”, “Apellido”: “Lara”, “Cod_Area”:”0212”, “Ciudad”:”CCS”, “Estado”:”DC” } Info. Usuario Info. Dirección
  • 13. • Alta velocidad de respuesta a peticiones: 13
  • 14. • Estructura distribuida: 14 Zorro Función Hash DFCD3454 El zorro corre por el hielo Función Hash 52ED879E El zorro rojo camina por el hielo Función Hash 46042841 Data Clave
  • 15. • Escalabilidad: 15 CPU 1 GB RAM CPU 1 GB RAM CPU 1 GB RAM Escala CPU 1 GB RAM CPU 1 GB RAM CPU 4 GB RAM CPU 2 GB RAM Escala
  • 16. • Manejo de gran volumen de datos. • Escalamiento sencillo. • Diferentes DBs NoSQL para diversos proyectos. • Uso de memoria como principal ubicación de escritura. • Código abierto. 16
  • 17. • No son suficientemente maduros para algunas empresas. • Falta de experiencia. • No trata con datos críticos que requieren ACID. • Problemas de compatibilidad. 17
  • 18. 18
  • 20. 20 • Bassically Available. (Básicamente Disponible) • Soft-State. (Estado suave) • Eventual Consistency. (Consistencia eventual)
  • 21. 21 • Consistencia. • Disponibilidad. • Tolerancia a la partición. CAP •Tolerancia a la partición. •Disponibilidad. BASE •Coherencia. •Disponibilidad.ACID
  • 23. • La información es representada en nodos. • Ya está normalizada. • No es necesario definir cantidad de atributos. • Registros de longitud variable. • Recorrido. 23
  • 24. • Índice. • ¿Cuándo usarlas?. • Algunas BD: Neo4j, HyperGraphDB. 24
  • 25. • Ejemplo: 25 Carolina MensajeMensajeSara Carlos Ana Amigo de Amigo de Amigo de Amigo de Amigo de Me gusta Me gusta Últ. Ant.
  • 26. • Guarda los valores en columnas. • Los datos son almacenados como secciones de las columnas de datos. • ¿Cuándo usarlas? • Beneficios. • Ventajas. 26
  • 27. • Precursor: Google BigTable. • Conceptos fundamentales: • Algunas BD: Hbase, Cassandra, Hypertable. 27 Familia de Columnas Súper Columna Columna R o w K e y Sup_Col_Name1 C_N1 C_V1 C_Nn C_Vn Sup_Col_Namem C_N1 C_V1 C_Nn C_Vn ….. …..…..
  • 28. 28 Id Nombre Edad Intereses 1 Ricky Fútbol, Cine, Béisbol 2 Pedro 20 3 Juan 25 Música Id Nombre 1 Ricky 2 Pedro 3 Juan Id Edad 2 20 3 25 Id Intereses 1 Fútbol 1 Cine 1 Béisbol 3 Música Orientado a Fila (Modelo RDBMS) Orientado a Columnas Null Multivalor• Ejemplo:
  • 29. • Conjunto de duplas (Clave, Valor). • Existen contenedores. • Permite variar la estructura de la información. • Validación de los datos en la aplicación Cliente. • Acceso. • Desventajas. 29
  • 30. • Básicamente sería... 30 Clave Valor 85051-0 • Precursor: Amazon Dynamo. • Algunas BD: Riak y Redis. 86694-1 Índice
  • 31. Claves John Smith Lisa Smith Sam Doe 000 001 754375 002 200 201 202 854575 886 887 345435 889 Valores : : 31 • Ejemplo:
  • 32. 32 • Almacena los datos en documentos. • Son duplas Clave-(Valor => documento). • No existe un esquema estricto. • Los documentos dentro de una colección pueden tener campos diferentes. • Acceso.
  • 33. 33 • Características. • Precursor: Lotus Notes. • Algunas BD: Apache CouchDB y RavenDB.
  • 34. 34 • Ejemplo: { Nombre:"Pepe", Dirección:"C/ San Juan 15", Hijos:[ {Nombre:"Ana",Edad:10}, {Nombre:"Pedro", Edad:8}, {Nombre:"Juan", Edad:5}, {Nombre:"Félix", Edad:2} ] } { Nombre:”María", Dirección:“Guarenas", Fecha_Nac:”20/06/1980”, Teléfono:”0212-2515025” Hijos:[ {Nombre:“Luís",Edad:15} ] } Contenedor ID: 23532ID: 84678
  • 35. La Clave… A la hora de decidirnos entre una arquitectura u otra, debemos tener en cuenta… 35
  • 36. 36
  • 37. { nombre: “Mongo”, tipo: “BD”, clase: “NoSQL”, taxonomía: “Documentos” } 37
  • 38. • ¿Qué es MongoDB?. • Características Principales. • Estructura de MongoDB. • Arquitectura de MongoDB. • Modelo de Datos. • Esquema Flexible. 38
  • 39. 39 • Estructura de un Documento. • Índices en MongoDB. • Respaldo y Restauración. • ¿Quiénes usan MongoDB? • Videos demostrativos: “Primeros pasos con MongoDB”.
  • 40. 40 • BD multiplataforma de código abierto. • NoSQL orientada a documentos.
  • 41. 41 • Escalable, alto rendimiento y disponibilidad. • Puede trabajar en modo maestro-esclavo. • Basada en esquemas BSON (Binary JSON ). • Posee un rico y sencillo sistema de consulta. • Soporte de índices. • Replicación y soporte a prueba de fallos.
  • 42. 42 Posee una estructura escalable debido a las las siguientes propiedades: • Escalabilidad horizontal (Auto-Sharding). • Replicación para alta disponibilidad.
  • 43. 43 • Escalabilidad horizontal (Auto-Sharding): Rango de Clave Rango de Clave Rango de Clave 0…100 0…50 51…100 0…25 26…50 ……. 51…75 76…100 mongod mongod mongod mongod mongod mongod mongod Escalabilidad para Escribir
  • 44. 44 • Replicación para alta disponibilidad: Esclavo Esclavo Maestro Esclavo Esclavo Driver Escritura Lectura Escritura Lectura Lectura Maestro Maestro XEsclavo
  • 45. 45 Los principales componentes de MongoDB son los siguientes: • Mongod (Núcleo de la base de datos). • Mongos (Controlador de particionamiento). • GridFS (Función de almacenamiento).
  • 46. 46 Motor central de la BD, puede correr como programa o demonio y posee tres funcionalidades:  Standalone Server.  Config Server.  Shard Partition. • Mongod:
  • 47. 47 “Database Router” Brinda transparencia a las aplicaciones cliente. • Mongos:
  • 48. 48 Función que almacena y extrae ficheros de la BD. Define dos colecciones: files y chunks. Ficheros mayores a 16MB se dividirán en partes menores, y cada bloque se guardará como un documento en la colección de bloques. • GridFS:
  • 49. 49
  • 50. 50
  • 51. 51 Sistema mongo Base de datos Colección Documento Campo String Integer Float Timestamp Binary Documento Arreglo Nombre en forma de cadena l v a a e l o r
  • 52. 52 • Las colecciones no fuerzan una estructura idéntica para los documentos. • Los documentos no necesitan la misma cantidad de campos, y aquellos comunes pueden contener diferentes tipos de datos. • Cada documento necesita un número relevante de campos de la entidad.
  • 53. 53 La BD MongoDB guarda las estructuras de datos en documentos tipo BSON, usando un esquema dinámico con la siguiente disposición: { campo1 : valor1 , campo2 : valor2 , campo3 : valor3 , ... campoN : valorN }
  • 54. 54 • Son similares a los de otras BD y puede soporta índices en cualquier campo o subcampo contenido en los documentos de una colección. • Por defecto, se crea un índice sobre la clave _id de los documentos de una colección, aunque también pueden ser creados vía ensureIndex: Ej.: db.unicorns.ensureIndex({ name : 1});
  • 55. 55 Características: • Se definen sobre un nivel por colección. • Se pueden crear sobre uno o varios campos utilizando un índice compuesto. • Utilizan una estructura de datos B-tree y mejoran el rendimiento de consultas. • Cada consulta utiliza sólo un índice.
  • 57. 57 Limitaciones: • Una colección no puede tener más de 64 índices. • Las claves de índice no pueden ser mayor que 1024 bytes (1KB) porque no pueden ser indexados. • El nombre de un índice, incluido los espacios debe ser inferior a 128 caracteres .
  • 58. 58 Respaldos: Se utiliza el ejecutable mongodump: Ej.: mongodump --db Gen Restauración: Utilizamos mongorestore: Ej.: mongorestore --db Gen --drop -- dbpath dump/Gen
  • 59. 59 SQL MongoDB CREATE TABLE users ( id MEDIUMINT NOT NULL AUTO_INCREMENT, user_id Varchar(30), age Number, status char(1), PRIMARY KEY (id)); db.users.insert({user_id: "abc123", age: 55, status: "A"})odb.createCollection("users") DROP TABLE users db.users.drop() INSERT INTO users(user_id,age, status) VALUES ("bcd001", 45, "A") db.users.insert( { user_id: "bcd001", age: 45, status: "A"} ) SELECT * FROM users db.users.find() SELECT COUNT(*) FROM users db.users.count()odb.users.find().count() SELECT * FROM users WHERE status = "A" ORDER BY user_id DESC db.users.find( { status: "A" } ). sort( { user_id: -1 } ) UPDATE users SET status = "C" WHERE age > 25 db.users.update( { age: { $gt: 25 } }, { $set: { status: "C" } }, { multi: true }) DELETE FROM users WHERE status = "D" db.users.remove( { status: "D" } )
  • 60. 60
  • 61. “Primeros pasos con MongoDB” 61 • Iniciando MongoDB. • Creando BD. • Creando Colecciones 1. • Creando Colecciones 2. • Índices.
  • 62. 62
  • 63. 63