SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Bd NoSQL
Clave Valor
PROFA. MERCY OSPINA
mercy.ospinat@gmail.com
Agenda
Modelo de datos
Operaciones
Técnicas usadas
Cuando usar
Caso de estudio
Modelo de datos
Una tabla hash, matriz asociativa, mapa
hash, tabla de dispersión o tabla fragmentada
◦ Es una estructura de datos que asocia llaves o claves con
valores.
◦ La operación principal que soporta de manera eficiente es
la búsqueda: permite el acceso a los elementos (teléfono y
dirección, por ejemplo) almacenados a partir de una clave
generada
Distribución de los datos
Para agilizar las búsquedas por la clave se utilizan
normalmente funciones de asociación que son las
que definen donde se almacenará el dato y luego
permiten su rápido acceso
Distribución de los datos
Pero en sistemas distribuidos donde los nodos pueden entrar
y salir de manera dinámica (p2p) este esquema es complejo
de manejar
En estos casos se propone el uso de la técnica como “Hashing
Consistente” que requiere el diseño de Tablas hashing
distribuidas
Almacenamiento
Si cada nodo tiene un conjunto de claves aleatorias,
internamente puede almacenarse de distintas
maneras:
◦ Tabla hash
◦ arboles B+ (Tokyo Cabinet)
Tipos de registros
◦ <key, value>
◦ Tupla<key, v1,. ., vn>
Operaciones
Operaciones simples
◦ Set(key, value) o put (key, value)
◦ Get (key) : value
◦ Delete (key)
Otras operaciones
◦ Operaciones sobre listas, conjuntos, mapas, entre otros
◦ Push, Insert, remove, count, leng, etc.
◦ mapreduce(keyList, mapFunc, reduceFunc)
◦ Depende de la base de datos
Tipos
Tipo Base de datos
Clave-Valor en memoria
Coherence, eXtreme Scale, Redis, GigaSpaces,
GemFire, Hazelcast, Infinispan, JBoss
Cache, Memcached,
Repcached, Terracotta, Velocity
Clave –Valor persistente
Flare, Keyspace, RAMCloud,
SchemaFree, Hyperdex, Aerospike
Clave –Valor (Consistencia
Eventual)
DovetailDB, Dynamo, Riak, Dynomite,
MotionDb, Voldemort, SubRecord
Clave –Valor (Ordenada)
Actord, FoundationDB, Lightcloud,
Luxio, MemcacheDB, NMDB, Scalaris,
TokyoTyrant
Técnicas usadas
Voldemort, Riak, Redis, Scalaris, Tokyo Cabinet,
Memcached/Membrain/Membase
◦ Hashig Consistente(DHT)
◦ Solo indices primarios: búsqueda por clave
◦ No manejan índices secundarios
◦ Transacciones: actuakizacion simple o multiple.
◦ Concurrencia: bloqueos o MVCC
Ejemplo – DynamoDB
Problema Técnica Ventaja
Arquitectura P2P Escalabilidad transparente
Sharding Hashing Consistente Escalabilidad Incremental
Alta disponibilidad de escrituras
Relojes de vector con
reconciliación durante lecturas
Tamaño de versiones está
desacoplada de las tasas de
actualización.
Manejo de fallas temporales Sloppy Quorum y hinted handoff
Proporciona alta disponibilidad y
garantía de durabilidad cuando
algunas de las réplicas no están
disponibles.
Recuperación de fallas
permanentes
Anti entropía con árboles Merkle
Sincroniza réplicas divergentes en
background
Entrada y salida de nodos
Protocolo de membresía y
detección de fallos basado en
Gossip
Conserva la simetría y evita tener
un registro centralizado para el
almacenamiento de membresía e
información de nodos activos .
Caso de estudio - Redis
Es una almacén de clave valor de código abierto
◦ Primera versión: abril 2009 (actualmente 3.2.1 V estable)
◦ Escrito en C
◦ Multiplataforma (menos Windows)
◦ Licencia Creative Commons CC BY-SA 4.0
◦ Arquitectura maestro-esclavo (clúster)
◦ Sitio web: http://redis.io
Maneja varios tipos de datos indexados por la clave como:
◦ Cadena de caracteres (string) seguras binarias
◦ hashes,
◦ Listas (lists)
◦ conjuntos y conjuntos ordenados (set, sorted set)
◦ Arreglos de bits (bitmaps)
◦ Hyperlogs: datos probabilísticos para estimar la cardinalidad de un conjunto
Caso de estudio - Redis
Trabaja en memoria principal lo que disminuye los tiempos de respuesta
◦ Cada segundo Redis puede manejar mas de 100.000 operaciones de Lectura/Escritura
Es posible tener persistencia
◦ volcar el conjunto de datos en el disco de acuerdo a la tasa de actualizaciones
◦ o añadiendo cada comando en un registro log.
Particionamiento
◦ Por rango de claves: haciendo corresponder un rango a una instancia de Redis
◦ Ventaja: sencillo de implementar
◦ Desventaja: requiere llevar una tabla de correspondencia entre los rangos y las instancias
◦ Por hashing: requiere una función que hash que convierta un string en un número y luego
la función módulo n donde n es el número de instancias de redis. Ejemplo para instancias
R0..R3 de redis
◦ Se aplica la fución crc32 a la clave: crc32(foobar)93024922.
◦ 93024922 mod 4 = 2 (se guarda en la instancia R2)
Caso de estudio - Redis
Particionamiento
◦ Partición del lado del cliente: el cliente selecciona el nodo donde almacenar la clave,
usando rango de claves o hashing
◦ Partición asistida por proxy: Se configura el esquema de partición en un proxy y este se
encarga de transmitan los datos a la instancia correspondiente
◦ Enrutamiento de consultas: la consulta puede dirigirse a cualquier nodo y este se
asegurará que llegue al nodo correcto
◦ No implementa Hash Consistente
Consideraciones
◦ No soporta consultas a múltiples claves que están en instancias diferentes
◦ No soporta transacciones que involucren varias claves
◦ El manejo de datos es complejo cuando se usa sharding
◦ Agregar o quitar nodos es complejo
Caso de estudio - Redis
Replicación
◦ Usa replicación asíncrona, con una configuración maestro-esclavo
◦ Un maestro puede tener varios esclavos
◦ Usa MVCC para la concurrencia, sin bloqueos del maestro o los esclavos
◦ Si un maestro falla (es inalcanzable) se promueve un esclavo como nuevo maestro
◦ Más información http://redis.io/topics/replication
Caso de estudio – Redis
Arquitectura
 Todos los nodos se
conectan directamente
con los demás a través
del “Redis Cluster Bus”
 Usa gossip para la
eliminación o ingreso
de nuevos nodos
(membresía)
http://redis.io/topics/cluster-spec
Caso de estudio – Redis
Seguridad
◦ Diseñado para ser accedido por los clientes de confianza
◦ Si el acceso no es de confianza debe estar mediado por una
capa de la aplicación de auditoria.
◦ Aunque no implementa control de acceso ofrece una capa
de autenticación que se activa en el archivo redis.conf
◦ Redis no implementa cifrado de datos
◦ Es muy difícil la inyección de código por no tener código de
escape
Caso de estudio - Redis
Tiene API’s para diferentes lenguajes
◦ PHP,
◦ Java,
◦ Python,
◦ Ruby,
◦ Perl,
◦ Scala,
◦ C, C++,Objective C, Node.js,
◦ Muchos más…
Caso de estudio - Redis
Algunos usos de Redis
◦ Mensajería
◦ Mostrar últimos artículos listados en su página principal.
◦ Supresión y filtrado.
◦ Tablas de clasificación y problemas relacionados
◦ Colas
◦ Análisis en tiempo real de lo que sucede, estadísticas, anti
spam.
◦ Caching
◦ Muchos más ...
Caso de estudio – Redis
¿Quién lo usa?
Clave valor
Investigar en Riak
◦ Tipos de datos y operaciones
◦ Arquitectura
◦ Fragmentación y replicación (técnicas)
◦ Seguridad
◦ Usos
Cuando usar almacenes
clave-valor
Cuando la capacidad de
almacenar y recuperar
grandes volúmenes de
datos es importante
No es importante
almacenar las
relaciones entre los
elementos
La data es no
estructurada
Util para el desarrollo
rápido de prototipos
Manejo del crecimiento
rápido de la lista de
elementos: twitter,
registros históricos de
internet, blogs
No se requiere la
implementación de
validaciones lógicas o
restricciones de los
datos en la BD
Limitaciones de clave-valor
Falta de estándares para el manejo de datos
Lenguajes de consulta no son de alto nivel
Herramientas para su uso y configuración
Consultas y ordenamiento solamente por clave
primaria
Próxima clase
BD NoSQL Documento:
◦ Modelo de datos
◦ Operaciones
◦ Técnicas usadas
◦ Caso de estudio

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Cuadro comparativo de SMBD
Cuadro comparativo de SMBD Cuadro comparativo de SMBD
Cuadro comparativo de SMBD
 
Métodos predictivos y Descriptivos - MINERÍA DE DATOS
Métodos predictivos y Descriptivos - MINERÍA DE DATOSMétodos predictivos y Descriptivos - MINERÍA DE DATOS
Métodos predictivos y Descriptivos - MINERÍA DE DATOS
 
Tecnologia ASP.net
Tecnologia ASP.netTecnologia ASP.net
Tecnologia ASP.net
 
DB1 Unidad 7: Desnormalizacion
DB1 Unidad 7: DesnormalizacionDB1 Unidad 7: Desnormalizacion
DB1 Unidad 7: Desnormalizacion
 
Gestión de riesgos de seguridad de la información - ISO 27005
Gestión de riesgos de seguridad de la información - ISO 27005Gestión de riesgos de seguridad de la información - ISO 27005
Gestión de riesgos de seguridad de la información - ISO 27005
 
Tipos de bases de datos
Tipos de bases de datosTipos de bases de datos
Tipos de bases de datos
 
ETL
ETLETL
ETL
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datos
 
Couchdb
CouchdbCouchdb
Couchdb
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
 
Base de datos distribuidas
Base de datos distribuidasBase de datos distribuidas
Base de datos distribuidas
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
 
Informe cassandra
Informe cassandraInforme cassandra
Informe cassandra
 
Apache CouchDB
Apache CouchDBApache CouchDB
Apache CouchDB
 
PROCESAMIENTO DE CONSULTAS
PROCESAMIENTO DE CONSULTASPROCESAMIENTO DE CONSULTAS
PROCESAMIENTO DE CONSULTAS
 
Bases De Datos "Conceptos Basicos"
Bases De Datos "Conceptos Basicos"Bases De Datos "Conceptos Basicos"
Bases De Datos "Conceptos Basicos"
 
Sistema De Gestión De Base De Datos
Sistema De Gestión De Base De DatosSistema De Gestión De Base De Datos
Sistema De Gestión De Base De Datos
 
NoSQL bases de datos no relacionales
NoSQL bases de datos no relacionalesNoSQL bases de datos no relacionales
NoSQL bases de datos no relacionales
 
Diferencias entre base de datos relacional y no relacional
Diferencias entre base de datos relacional y no relacionalDiferencias entre base de datos relacional y no relacional
Diferencias entre base de datos relacional y no relacional
 
RAID
RAIDRAID
RAID
 

Andere mochten auch

Introducción al mundo NoSQL
Introducción al mundo NoSQLIntroducción al mundo NoSQL
Introducción al mundo NoSQLCésar Rodas
 
Un acercamiento a las bases de datos NoSQL
Un acercamiento a las bases de datos NoSQLUn acercamiento a las bases de datos NoSQL
Un acercamiento a las bases de datos NoSQLJavier Guillot Jiménez
 
What is Called Design ?
What is Called Design ?What is Called Design ?
What is Called Design ?Stéphane Vial
 
Bhakt Bol Kaun Sa Swaroop
Bhakt Bol   Kaun Sa SwaroopBhakt Bol   Kaun Sa Swaroop
Bhakt Bol Kaun Sa SwaroopMool Chand
 
Presentatie convenant VRK reddingsbrigade Kennemerlands v1 3
Presentatie convenant VRK reddingsbrigade Kennemerlands v1 3Presentatie convenant VRK reddingsbrigade Kennemerlands v1 3
Presentatie convenant VRK reddingsbrigade Kennemerlands v1 3KoenWiegman
 
Early release october 2014 engagement & curriculum
Early release october 2014 engagement & curriculumEarly release october 2014 engagement & curriculum
Early release october 2014 engagement & curriculumJennifer Marten
 
Health_Literacy_Glossary_011215
Health_Literacy_Glossary_011215Health_Literacy_Glossary_011215
Health_Literacy_Glossary_011215pcowley2141
 

Andere mochten auch (20)

Bd no sq ldocumento
Bd no sq ldocumentoBd no sq ldocumento
Bd no sq ldocumento
 
Bd nosql tecnicas III
Bd nosql tecnicas IIIBd nosql tecnicas III
Bd nosql tecnicas III
 
Bd no sql conceptos basicos
Bd no sql conceptos basicosBd no sql conceptos basicos
Bd no sql conceptos basicos
 
Bd no sql tecnicas2
Bd no sql tecnicas2Bd no sql tecnicas2
Bd no sql tecnicas2
 
Oopphp5
Oopphp5Oopphp5
Oopphp5
 
Bd no sqlcb2
Bd no sqlcb2Bd no sqlcb2
Bd no sqlcb2
 
NoSql y MongoDB
NoSql y MongoDBNoSql y MongoDB
NoSql y MongoDB
 
Introducción al mundo NoSQL
Introducción al mundo NoSQLIntroducción al mundo NoSQL
Introducción al mundo NoSQL
 
Un acercamiento a las bases de datos NoSQL
Un acercamiento a las bases de datos NoSQLUn acercamiento a las bases de datos NoSQL
Un acercamiento a las bases de datos NoSQL
 
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
 
Volos-CS-UTH
Volos-CS-UTHVolos-CS-UTH
Volos-CS-UTH
 
What is Called Design ?
What is Called Design ?What is Called Design ?
What is Called Design ?
 
Bhakt Bol Kaun Sa Swaroop
Bhakt Bol   Kaun Sa SwaroopBhakt Bol   Kaun Sa Swaroop
Bhakt Bol Kaun Sa Swaroop
 
Presentatie convenant VRK reddingsbrigade Kennemerlands v1 3
Presentatie convenant VRK reddingsbrigade Kennemerlands v1 3Presentatie convenant VRK reddingsbrigade Kennemerlands v1 3
Presentatie convenant VRK reddingsbrigade Kennemerlands v1 3
 
Ghana At A Glance
Ghana At A GlanceGhana At A Glance
Ghana At A Glance
 
Il codice del marketing della conversazione
Il codice del marketing della conversazioneIl codice del marketing della conversazione
Il codice del marketing della conversazione
 
Early release october 2014 engagement & curriculum
Early release october 2014 engagement & curriculumEarly release october 2014 engagement & curriculum
Early release october 2014 engagement & curriculum
 
Health_Literacy_Glossary_011215
Health_Literacy_Glossary_011215Health_Literacy_Glossary_011215
Health_Literacy_Glossary_011215
 
1999 Complete Single Collection
1999 Complete Single Collection1999 Complete Single Collection
1999 Complete Single Collection
 
Walk UNH
Walk UNHWalk UNH
Walk UNH
 

Ähnlich wie Bd nosql clave valor

El mundo Big Data y las APIs
El mundo Big Data y las APIsEl mundo Big Data y las APIs
El mundo Big Data y las APIsBig Data Spain
 
Big data y las apis (big data spain)
Big data y las apis (big data spain)Big data y las apis (big data spain)
Big data y las apis (big data spain)CloudAppi
 
Aplicaciones escalables en Azure
Aplicaciones escalables en AzureAplicaciones escalables en Azure
Aplicaciones escalables en AzureGermán Küber
 
Introducción a NoSQL
Introducción a NoSQLIntroducción a NoSQL
Introducción a NoSQLCycle-IT
 
Interconexion de redes
Interconexion de redesInterconexion de redes
Interconexion de redesKary Gomez
 
Bases de Datos No Relacionales
Bases de Datos No RelacionalesBases de Datos No Relacionales
Bases de Datos No RelacionalesBEEVA_es
 
Piensa en grande: Big data para programadores
Piensa en grande: Big data para programadoresPiensa en grande: Big data para programadores
Piensa en grande: Big data para programadoresRafael Bermúdez Míguez
 
Analitica y toma de decisiones en tiempo real sobre plataformas big data
Analitica y toma de decisiones en tiempo real sobre plataformas big dataAnalitica y toma de decisiones en tiempo real sobre plataformas big data
Analitica y toma de decisiones en tiempo real sobre plataformas big dataJosé Carlos García Serrano
 
Comparación de algunos SGBDR
Comparación de algunos SGBDRComparación de algunos SGBDR
Comparación de algunos SGBDRAntonio
 
Web framework ligeros y micros en java barcamp 2014
Web framework ligeros y micros en java   barcamp 2014Web framework ligeros y micros en java   barcamp 2014
Web framework ligeros y micros en java barcamp 2014Carlos Camacho
 
programacion concurrente java.pptx
programacion concurrente java.pptxprogramacion concurrente java.pptx
programacion concurrente java.pptxjuan gonzalez
 
Taller Redis
Taller RedisTaller Redis
Taller Redisbetabeers
 
Azure Synapse Analytics MLflow
Azure Synapse Analytics MLflowAzure Synapse Analytics MLflow
Azure Synapse Analytics MLflowEduardo Castro
 

Ähnlich wie Bd nosql clave valor (20)

El mundo Big Data y las APIs
El mundo Big Data y las APIsEl mundo Big Data y las APIs
El mundo Big Data y las APIs
 
Big data y las apis (big data spain)
Big data y las apis (big data spain)Big data y las apis (big data spain)
Big data y las apis (big data spain)
 
Aplicaciones escalables en Azure
Aplicaciones escalables en AzureAplicaciones escalables en Azure
Aplicaciones escalables en Azure
 
Introducción a NoSQL
Introducción a NoSQLIntroducción a NoSQL
Introducción a NoSQL
 
Foro de Arquitectos: caché en azure a fondo
Foro de Arquitectos: caché en azure a fondoForo de Arquitectos: caché en azure a fondo
Foro de Arquitectos: caché en azure a fondo
 
Interconexion de redes
Interconexion de redesInterconexion de redes
Interconexion de redes
 
Big Data en Azure: Azure Data Lake
Big Data en Azure: Azure Data LakeBig Data en Azure: Azure Data Lake
Big Data en Azure: Azure Data Lake
 
Bases de Datos No Relacionales
Bases de Datos No RelacionalesBases de Datos No Relacionales
Bases de Datos No Relacionales
 
Piensa en grande: Big data para programadores
Piensa en grande: Big data para programadoresPiensa en grande: Big data para programadores
Piensa en grande: Big data para programadores
 
OTN Tour 2015 AROUG
OTN Tour 2015 AROUGOTN Tour 2015 AROUG
OTN Tour 2015 AROUG
 
Analitica y toma de decisiones en tiempo real sobre plataformas big data
Analitica y toma de decisiones en tiempo real sobre plataformas big dataAnalitica y toma de decisiones en tiempo real sobre plataformas big data
Analitica y toma de decisiones en tiempo real sobre plataformas big data
 
Comparación de algunos SGBDR
Comparación de algunos SGBDRComparación de algunos SGBDR
Comparación de algunos SGBDR
 
Web framework ligeros y micros en java barcamp 2014
Web framework ligeros y micros en java   barcamp 2014Web framework ligeros y micros en java   barcamp 2014
Web framework ligeros y micros en java barcamp 2014
 
programacion concurrente java.pptx
programacion concurrente java.pptxprogramacion concurrente java.pptx
programacion concurrente java.pptx
 
Taller Redis
Taller RedisTaller Redis
Taller Redis
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Azure Synapse Analytics MLflow
Azure Synapse Analytics MLflowAzure Synapse Analytics MLflow
Azure Synapse Analytics MLflow
 
Gapand2017 rediscahe
Gapand2017 rediscaheGapand2017 rediscahe
Gapand2017 rediscahe
 
Principales bases de datos
Principales bases de datosPrincipales bases de datos
Principales bases de datos
 
Las cronicas de redis
Las cronicas de redisLas cronicas de redis
Las cronicas de redis
 

Mehr von Escuela de Computación UCV (20)

Recuperacion ABD UCV
Recuperacion ABD UCVRecuperacion ABD UCV
Recuperacion ABD UCV
 
Concurrencia 2 ABD UCV
Concurrencia 2 ABD UCVConcurrencia 2 ABD UCV
Concurrencia 2 ABD UCV
 
Concurrencia 1 ABD UCV
Concurrencia 1 ABD UCVConcurrencia 1 ABD UCV
Concurrencia 1 ABD UCV
 
Integridad de datos
Integridad de datosIntegridad de datos
Integridad de datos
 
Seguridad datos i
Seguridad datos i Seguridad datos i
Seguridad datos i
 
Seguridad datos ii vii
Seguridad datos ii viiSeguridad datos ii vii
Seguridad datos ii vii
 
Abd manejo memoria III
Abd manejo memoria IIIAbd manejo memoria III
Abd manejo memoria III
 
Abd manejo memoria II
Abd manejo memoria IIAbd manejo memoria II
Abd manejo memoria II
 
Abd manejo memoria Parte I
Abd manejo memoria Parte IAbd manejo memoria Parte I
Abd manejo memoria Parte I
 
Bd no sql tecnicas
Bd no sql tecnicasBd no sql tecnicas
Bd no sql tecnicas
 
Abd procesamiento consultas (parte 3)
Abd procesamiento consultas (parte 3)Abd procesamiento consultas (parte 3)
Abd procesamiento consultas (parte 3)
 
Abd procesamiento consultas (parte2)
Abd procesamiento consultas (parte2)Abd procesamiento consultas (parte2)
Abd procesamiento consultas (parte2)
 
Abd procesamiento consultas (parte1)
Abd procesamiento consultas (parte1)Abd procesamiento consultas (parte1)
Abd procesamiento consultas (parte1)
 
Abd tema0y1
Abd tema0y1Abd tema0y1
Abd tema0y1
 
Abd tema1 parteii
Abd tema1 parteiiAbd tema1 parteii
Abd tema1 parteii
 
Abd procesamiento consultas
Abd procesamiento consultasAbd procesamiento consultas
Abd procesamiento consultas
 
Abd seguridad
Abd seguridadAbd seguridad
Abd seguridad
 
Abd integridad
Abd integridadAbd integridad
Abd integridad
 
Abd tema4 dd
Abd tema4 ddAbd tema4 dd
Abd tema4 dd
 
Abd tema2
Abd tema2Abd tema2
Abd tema2
 

Kürzlich hochgeladen

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
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
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
 
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
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosJonathanCovena1
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdfValeriaCorrea29
 
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
 
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
 
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
 
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOBRIGIDATELLOLEONARDO
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 

Kürzlich hochgeladen (20)

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
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.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
 
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
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
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
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.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
 
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
 
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
 
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
 
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 

Bd nosql clave valor

  • 1. Bd NoSQL Clave Valor PROFA. MERCY OSPINA mercy.ospinat@gmail.com
  • 2. Agenda Modelo de datos Operaciones Técnicas usadas Cuando usar Caso de estudio
  • 3. Modelo de datos Una tabla hash, matriz asociativa, mapa hash, tabla de dispersión o tabla fragmentada ◦ Es una estructura de datos que asocia llaves o claves con valores. ◦ La operación principal que soporta de manera eficiente es la búsqueda: permite el acceso a los elementos (teléfono y dirección, por ejemplo) almacenados a partir de una clave generada
  • 4. Distribución de los datos Para agilizar las búsquedas por la clave se utilizan normalmente funciones de asociación que son las que definen donde se almacenará el dato y luego permiten su rápido acceso
  • 5. Distribución de los datos Pero en sistemas distribuidos donde los nodos pueden entrar y salir de manera dinámica (p2p) este esquema es complejo de manejar En estos casos se propone el uso de la técnica como “Hashing Consistente” que requiere el diseño de Tablas hashing distribuidas
  • 6. Almacenamiento Si cada nodo tiene un conjunto de claves aleatorias, internamente puede almacenarse de distintas maneras: ◦ Tabla hash ◦ arboles B+ (Tokyo Cabinet) Tipos de registros ◦ <key, value> ◦ Tupla<key, v1,. ., vn>
  • 7. Operaciones Operaciones simples ◦ Set(key, value) o put (key, value) ◦ Get (key) : value ◦ Delete (key) Otras operaciones ◦ Operaciones sobre listas, conjuntos, mapas, entre otros ◦ Push, Insert, remove, count, leng, etc. ◦ mapreduce(keyList, mapFunc, reduceFunc) ◦ Depende de la base de datos
  • 8. Tipos Tipo Base de datos Clave-Valor en memoria Coherence, eXtreme Scale, Redis, GigaSpaces, GemFire, Hazelcast, Infinispan, JBoss Cache, Memcached, Repcached, Terracotta, Velocity Clave –Valor persistente Flare, Keyspace, RAMCloud, SchemaFree, Hyperdex, Aerospike Clave –Valor (Consistencia Eventual) DovetailDB, Dynamo, Riak, Dynomite, MotionDb, Voldemort, SubRecord Clave –Valor (Ordenada) Actord, FoundationDB, Lightcloud, Luxio, MemcacheDB, NMDB, Scalaris, TokyoTyrant
  • 9. Técnicas usadas Voldemort, Riak, Redis, Scalaris, Tokyo Cabinet, Memcached/Membrain/Membase ◦ Hashig Consistente(DHT) ◦ Solo indices primarios: búsqueda por clave ◦ No manejan índices secundarios ◦ Transacciones: actuakizacion simple o multiple. ◦ Concurrencia: bloqueos o MVCC
  • 10. Ejemplo – DynamoDB Problema Técnica Ventaja Arquitectura P2P Escalabilidad transparente Sharding Hashing Consistente Escalabilidad Incremental Alta disponibilidad de escrituras Relojes de vector con reconciliación durante lecturas Tamaño de versiones está desacoplada de las tasas de actualización. Manejo de fallas temporales Sloppy Quorum y hinted handoff Proporciona alta disponibilidad y garantía de durabilidad cuando algunas de las réplicas no están disponibles. Recuperación de fallas permanentes Anti entropía con árboles Merkle Sincroniza réplicas divergentes en background Entrada y salida de nodos Protocolo de membresía y detección de fallos basado en Gossip Conserva la simetría y evita tener un registro centralizado para el almacenamiento de membresía e información de nodos activos .
  • 11. Caso de estudio - Redis Es una almacén de clave valor de código abierto ◦ Primera versión: abril 2009 (actualmente 3.2.1 V estable) ◦ Escrito en C ◦ Multiplataforma (menos Windows) ◦ Licencia Creative Commons CC BY-SA 4.0 ◦ Arquitectura maestro-esclavo (clúster) ◦ Sitio web: http://redis.io Maneja varios tipos de datos indexados por la clave como: ◦ Cadena de caracteres (string) seguras binarias ◦ hashes, ◦ Listas (lists) ◦ conjuntos y conjuntos ordenados (set, sorted set) ◦ Arreglos de bits (bitmaps) ◦ Hyperlogs: datos probabilísticos para estimar la cardinalidad de un conjunto
  • 12. Caso de estudio - Redis Trabaja en memoria principal lo que disminuye los tiempos de respuesta ◦ Cada segundo Redis puede manejar mas de 100.000 operaciones de Lectura/Escritura Es posible tener persistencia ◦ volcar el conjunto de datos en el disco de acuerdo a la tasa de actualizaciones ◦ o añadiendo cada comando en un registro log. Particionamiento ◦ Por rango de claves: haciendo corresponder un rango a una instancia de Redis ◦ Ventaja: sencillo de implementar ◦ Desventaja: requiere llevar una tabla de correspondencia entre los rangos y las instancias ◦ Por hashing: requiere una función que hash que convierta un string en un número y luego la función módulo n donde n es el número de instancias de redis. Ejemplo para instancias R0..R3 de redis ◦ Se aplica la fución crc32 a la clave: crc32(foobar)93024922. ◦ 93024922 mod 4 = 2 (se guarda en la instancia R2)
  • 13. Caso de estudio - Redis Particionamiento ◦ Partición del lado del cliente: el cliente selecciona el nodo donde almacenar la clave, usando rango de claves o hashing ◦ Partición asistida por proxy: Se configura el esquema de partición en un proxy y este se encarga de transmitan los datos a la instancia correspondiente ◦ Enrutamiento de consultas: la consulta puede dirigirse a cualquier nodo y este se asegurará que llegue al nodo correcto ◦ No implementa Hash Consistente Consideraciones ◦ No soporta consultas a múltiples claves que están en instancias diferentes ◦ No soporta transacciones que involucren varias claves ◦ El manejo de datos es complejo cuando se usa sharding ◦ Agregar o quitar nodos es complejo
  • 14. Caso de estudio - Redis Replicación ◦ Usa replicación asíncrona, con una configuración maestro-esclavo ◦ Un maestro puede tener varios esclavos ◦ Usa MVCC para la concurrencia, sin bloqueos del maestro o los esclavos ◦ Si un maestro falla (es inalcanzable) se promueve un esclavo como nuevo maestro ◦ Más información http://redis.io/topics/replication
  • 15. Caso de estudio – Redis Arquitectura  Todos los nodos se conectan directamente con los demás a través del “Redis Cluster Bus”  Usa gossip para la eliminación o ingreso de nuevos nodos (membresía) http://redis.io/topics/cluster-spec
  • 16. Caso de estudio – Redis Seguridad ◦ Diseñado para ser accedido por los clientes de confianza ◦ Si el acceso no es de confianza debe estar mediado por una capa de la aplicación de auditoria. ◦ Aunque no implementa control de acceso ofrece una capa de autenticación que se activa en el archivo redis.conf ◦ Redis no implementa cifrado de datos ◦ Es muy difícil la inyección de código por no tener código de escape
  • 17. Caso de estudio - Redis Tiene API’s para diferentes lenguajes ◦ PHP, ◦ Java, ◦ Python, ◦ Ruby, ◦ Perl, ◦ Scala, ◦ C, C++,Objective C, Node.js, ◦ Muchos más…
  • 18. Caso de estudio - Redis Algunos usos de Redis ◦ Mensajería ◦ Mostrar últimos artículos listados en su página principal. ◦ Supresión y filtrado. ◦ Tablas de clasificación y problemas relacionados ◦ Colas ◦ Análisis en tiempo real de lo que sucede, estadísticas, anti spam. ◦ Caching ◦ Muchos más ...
  • 19. Caso de estudio – Redis ¿Quién lo usa?
  • 20. Clave valor Investigar en Riak ◦ Tipos de datos y operaciones ◦ Arquitectura ◦ Fragmentación y replicación (técnicas) ◦ Seguridad ◦ Usos
  • 21. Cuando usar almacenes clave-valor Cuando la capacidad de almacenar y recuperar grandes volúmenes de datos es importante No es importante almacenar las relaciones entre los elementos La data es no estructurada Util para el desarrollo rápido de prototipos Manejo del crecimiento rápido de la lista de elementos: twitter, registros históricos de internet, blogs No se requiere la implementación de validaciones lógicas o restricciones de los datos en la BD
  • 22. Limitaciones de clave-valor Falta de estándares para el manejo de datos Lenguajes de consulta no son de alto nivel Herramientas para su uso y configuración Consultas y ordenamiento solamente por clave primaria
  • 23. Próxima clase BD NoSQL Documento: ◦ Modelo de datos ◦ Operaciones ◦ Técnicas usadas ◦ Caso de estudio