SlideShare una empresa de Scribd logo
1 de 40
Bd NoSQL
Conceptos Básicos II
PROFA. MERCY OSPINA
mercy.ospinat@gmail.com
Agenda
Sistemas Distribuidas
Cloud Computing
Fragmentación
Replicación
Paradigma MapReduce
Sistemas Distribuidos
Es una colección de computadoras independientes
que aparecen ante los usuarios del sistema como
una única computadora” (tanenbaum, 1995)
Sistemas Distribuidos
“Se compone de un grupo de computadores
autónomos, enlazados mediante una red y
equipados con un software de sistemas
distribuidos. … Los usuarios de un sistema
distribuido bien diseñado deberían percibir un
sistema de computación único e integrado” (c,d,k,
1998)
Video
https://www.youtube.com/watch?v=ozSf8esfOFA
Sistemas Distribuidos -
Transparencia
Un sistema distribuido es transparente si, es
capaz de presentarse ante los usuarios y las
aplicaciones como si se tratara de una sola
computadora
Tipos de transparencia
Transparencia Descripción
Acceso Oculta diferencias en la representación de los datos y la
forma en que un recurso accede a estos
Ubicación Oculta la localización de los datos o recursos
Migración Oculta que un dato o recurso puede moverse a otra
ubicación
Replicación Oculta el número de copias del dato o recurso
Concurrencia Oculta que un recurso puede ser compartido por varios
usuarios que compiten por el
Falla Oculta la falla y recuperación de un recurso
Reubicación Oculta que un dato o recurso puede moverse a otra
ubicación mientras está en uso
Nivel de transparencia
Lograr completamente la transparencia de distribución
es imposible o muy costoso, se debe considerar temas
como el rendimiento.
Sistemas Distribuidos –
Arquitecturas Físicas
P P P P P P
BUS
Memory
M
P
M
P
M
P
M
P
M
P
M
P
Network
Memoria Compartida – Un espacio
simple de direccionamiento. Todos los
procesadores tienen acceso a un pool
de memoria compartida.
Memoria Distribuida – cada
procesador tiene su propia
memoria local. Se debe hacer paso
de mensaje para intercambiar
datos entre procesadores.
Sistemas Distribuidos –
Arquitecturas
Basados en el modelo cliente-servidor:
Muchos servicios de Internet siguen este modelo: Web,
e-mail, Bases de datos
Proceso que
implementa
un servicio
Proceso que
solicita un
servicio al
servidor
Sistemas Distribuidos -
Arquitectura
P2P (Peer to Peer) P2P (Peer to Peer) Todos los procesos
desempeñan tareas semejantes, interactuando
cooperativamente como iguales para realizar una actividad
distribuida o cómputo sin distinción entre clientes y
servidores.
Ejemplos:
- Napster (El primero)
- Bit Torrent, emule
- Skype
- Friend-to-Friend (F2F)
- Redes Sociales: Facebook, MySpace, Linked-In
Sistemas Distribuidos - Tipos
Cluster es una agrupación de computadoras
intercomunicadas entre sí a través de un nodo central y
cuyo objetivo es realizar una tarea específica.
Los componentes,
llamados nodos son por
lo general servidores y
están conectados
mediante una red de
alta velocidad o una
LAN
Sistemas Distribuidos - Clúster
Clasificación:
Según el objetivo de su aplicación
◦ Alto rendimiento y alta disponibilidad
Según el uso de los nodos
◦ Dedicados o no dedicados
Según el SO de los nodos
Según la configuración de los nodos
◦ Homogéneos o Heterogéneos
Sistemas Distribuidos - Cluster
Beowulf
◦ Ideados en 1994 por Donald Becker y Thomas Sterling en
la NASA.
◦ 16 PC procesadores Intel DX4 de 100 MHz con monitor y
teclado
◦ Red Ethernet a 10 Mbps.
◦ SO Linux
◦ La supercomputadora de los pobres
http://hipertextual.com/2011/11/historia-de-
la-tecnologia-cluster-beowulf-la-
supercomputadora-de-los-pobres
Sistemas Distribuidos - Clúster
Google (1998) de 80 servidores a mas de 2 millones
(computadores personales)
• Racks en varias
ciudades del mundo
• 2009 Instalación
ecológica
Sistemas Distribuidos - Clúster
Otros Clústeres
◦ Amazon
◦ Red española de
supercomputación
◦ Microsoft
data centersize # of server racks # of blade servers
US East (Virginia) 5,030 321,920
US West (Oregon) 41 2,624
US West (N.
California)
630 40,320
EU West (Ireland) 814 52,096
AP Northeast
(Japan)
314 20,096
AP Southeast
(Singapore)
246 15,744
SA East (Sao Paulo) 25 1,600
Total 7,100 454,400
Tamaño del centro de datos de Amazon (2012)
Sistemas Distribuidos - Nube
Sistemas Distribuidos - Nube
La empresa Amazon fue pionera del Cloud
Computing, al darse cuenta que tenía sub-utilizada
parte de su infraestructura física
A esto le siguieron Google, Microsoft, Yahoo y
goDaddy
Amazon AWS
Google Cloud Platform
Microsoft Azure
Distribución de datos
Replicación: Es el proceso de copiar y mantener
actualizados los datos en varios nodos de la BD.
◦ Los lectores pueden leer de cualquier copia.
◦ Una escritura debe ser replicada en todas sus copias
Fragmentación: Dividir los datos de manera que no se
solapen (particiones) para distribuirlos en diferentes
nodos.
Replicación
Beneficios
◦ Mejora la disponibilidad de los datos:
◦ Si n copias accesibles fallan aún puedo acceder a la copia n+1 (si la hay)
◦ Mejora el rendimiento si hay mas lecturas que escritura
◦ Los tiempos de respuesta disminuyen
◦ Recuperación de fallos
◦ Al recuperarse un nodo puede leer los datos de alguna réplica
◦ Reducción de la carga
◦ Las operaciones sobre los datos se pueden repartir entre las diferentes réplicas.
Replicación
Problemas
◦ Costo: Requiere mayores recursos de almacenamiento
◦ Consistencia: Modificar una copia la hace diferente del resto
◦ Overhead:
◦ Se deben mantener todas las copias actualizadas
◦ Requiere manejo de concurrencia entre las réplicas
◦ Fiabilidad: Se debe garantizar la seguridad de todas las copias
Replicación - Tipos
Según la cantidad de datos replicados
◦ Replicación total: La base de datos completa
◦ Replicación parcial: Se replican algunos fragmentos y otros no.
Según el momento
◦ Síncrona: Las copias se actualizan inmediatamente en el
momento de actualizar los datos de origen (consistencia
estricta)
◦ Asíncrona: Las copias se actualizan después de que los datos
de origen hayan sido modificados. (Consistencia eventual)
Replicación - Tipos
Según el modelo de replicación
◦ Maestro/esclavo
Punto único de
fallo único (single-
point-of-failure)
en caso de
escrituras
Replicación - Tipos
Múltiples maestros
◦ Hay mas de un nodo responsable
de las actualizaciones
◦ Se elimina el Punto único de fallo
◦ Introduce la colisión de datos si
se ingresan dos registros distintos
con la misma clave en diferentes
copias
Fragmentación
Objetivos
Dividir la base de datos en fragmentos mas pequeños
de manera que la aplicación haga uso solo de algún
fragmento.
Ventajas
◦ Mayor concurrencia
◦ Paralelización de consultas
◦ Distribución de la carga
Replicación y consistencia
La replicación de datos genera problemas de
consistencia que no pueden resolverse eficientemente
de forma general
Solo si se relaja la consistencia se pueden encontrar
soluciones eficientes.
Niveles de consistencia
Esctricta: se manejan todas las réplicas de manera
atómica para actualización
Secuencial: El resultado de cualquier ejecución de
operaciones de lectura y escritura de todos los
procesos sobre las réplicas, es el mismo que si se
hubieran ejecutado de manera secuencial sobre las
réplicas es secuencial.
Es más débil que la anterior.
Niveles de consistencia
Causal: Es una debilidad del secuencial ya que
diferencia a los eventos causados por otros de los que
no lo están.
Se debe establecer una relación de causalidad entre los
eventos para lo cual hay diferentes técnicas
Fragmentación - Tipos
Horizontal – Sharding
Fragmentación - Tipos
Vertical (a nivel de tabla)
Fragmentación - Tipos
Vertical – Clustering:
◦ Implica dividir (split) la base de datos en múltiples trozos o
grupos, cada uno de los cuales contiene un subconjunto de
todas las tablas
Paradigma MapReduce
Manipular grandes volúmenes de datos distribuidos
requiere herramientas y métodos para procesarlos de
manera paralela con la menor cantidad de intersección
entre ellos.
El procesamiento distribuido paralelo requiere además
llevar la transferencia de data al mínimo. Mantener los
datos locales es de gran importancia.
A lo largo del tiempo se han desarrollado muchos
métodos (Tiwari, 2011)
Paradigma MapReduce
A pesar de la variedad de soluciones, ninguna llegó tan
lejos como mantener los datos locales para minimizar el
uso del ancho de banda.
MapReduce es un algoritmo inspirado en la
programación funcional, desarrollado para la
computación distribuida y patentado por Google. (Dean
& Ghemawat, 2004)
Se ha convertido en la forma mas popular de procesar
grandes volúmenes de datos de manera eficiente y
confiable. (Tiwari, 2011)
Paradigma MapReduce
Map: map(list[], oper) aplica la operacion oper a la lista list,
retornando una nueva lista cuyos elementos han sido operados,
individualmente, por oper.
◦ Por ejemplo, si disponemos de la lista list[1,2,3] y de la operación suma x =
x+1y realizamos la operación map(list, suma) el resultado de la misma
será [2,3,4].
Reduce(list[], oper) aplica la operación oper a la lista list,
retornando un elemento producto de la operación de los
elementos de list entre sí.
◦ Por ejemplo, si disponemos de la lista list[1,2,3] y de la operación suma
(x:xs) = x+suma(xs) y realizamos la operación fold(lista, suma), el resultado
de la misma será 6.
Paradigma MapReduce
Paradigma MapReduce
Paradigma MapReduce
Este framework es muy útil en BD NoSQL
◦ Map Toma como parámetros entrantes una lista de tuplas de
tipo (clave, valor) y devuelve una lista de valores.
◦ Esta lista es filtrada o procesada por Reduce.
◦ Por ejempl MongoDB hace uso de MapReduce para realizar
operaciones sobre los resultados devueltos por una
consulta, por ejemplo de contaje de repeticiones.
Próxima Clase
◦ Modelos de datos
◦ Estructurados
◦ Semiestructurados: XML, Json
◦ No estructurados
◦ Características de las BD NoSQL
◦ Taxonomía
◦ Arquitectura

Más contenido relacionado

La actualidad más candente

Capa de transporte
Capa de transporteCapa de transporte
Capa de transporte
Fer Gilces
 
Desarrollo aplicaciones distribuidas sockets
Desarrollo aplicaciones distribuidas socketsDesarrollo aplicaciones distribuidas sockets
Desarrollo aplicaciones distribuidas sockets
dandark2000
 
Hyper v ha t echnet latam
Hyper v ha t echnet latamHyper v ha t echnet latam
Hyper v ha t echnet latam
Pablo Campos
 

La actualidad más candente (19)

Cluster de alta disponibilidad con corosync, pacemaker & apache2
Cluster de alta disponibilidad con corosync, pacemaker & apache2Cluster de alta disponibilidad con corosync, pacemaker & apache2
Cluster de alta disponibilidad con corosync, pacemaker & apache2
 
Clústers Alta Disponibilidad
Clústers Alta DisponibilidadClústers Alta Disponibilidad
Clústers Alta Disponibilidad
 
Alta disponibilidad-con-heartbeat
Alta disponibilidad-con-heartbeatAlta disponibilidad-con-heartbeat
Alta disponibilidad-con-heartbeat
 
Introduccion a la computación paralela
Introduccion a la computación paralelaIntroduccion a la computación paralela
Introduccion a la computación paralela
 
Modelos de alta disponibilidad
Modelos de alta disponibilidadModelos de alta disponibilidad
Modelos de alta disponibilidad
 
Replicación de Bases de Datos con SQL Server 2008
Replicación de Bases de Datos con SQL Server 2008Replicación de Bases de Datos con SQL Server 2008
Replicación de Bases de Datos con SQL Server 2008
 
Capa de transporte
Capa de transporteCapa de transporte
Capa de transporte
 
Alta disponibilidad con Pacemaker
Alta disponibilidad con PacemakerAlta disponibilidad con Pacemaker
Alta disponibilidad con Pacemaker
 
Hilo de ejecución
Hilo de ejecuciónHilo de ejecución
Hilo de ejecución
 
Alta disponibilidad y balanceo de carga en Linux
Alta disponibilidad y balanceo de carga en LinuxAlta disponibilidad y balanceo de carga en Linux
Alta disponibilidad y balanceo de carga en Linux
 
Desarrollo aplicaciones distribuidas sockets
Desarrollo aplicaciones distribuidas socketsDesarrollo aplicaciones distribuidas sockets
Desarrollo aplicaciones distribuidas sockets
 
Comunicacion intra procesos con socket
Comunicacion intra procesos con socketComunicacion intra procesos con socket
Comunicacion intra procesos con socket
 
Cluster de alta disponibilidad con Heartbeat en LinuxMint
Cluster de alta disponibilidad con Heartbeat en LinuxMintCluster de alta disponibilidad con Heartbeat en LinuxMint
Cluster de alta disponibilidad con Heartbeat en LinuxMint
 
Comunicación Cliente-Servidor (Sockets)
Comunicación Cliente-Servidor (Sockets)Comunicación Cliente-Servidor (Sockets)
Comunicación Cliente-Servidor (Sockets)
 
COMMUTACION DE PAQUETES
COMMUTACION DE PAQUETESCOMMUTACION DE PAQUETES
COMMUTACION DE PAQUETES
 
Unidad 4 interoperabilidas
Unidad 4 interoperabilidasUnidad 4 interoperabilidas
Unidad 4 interoperabilidas
 
Workshop Técnicas Replicacion I
Workshop Técnicas Replicacion IWorkshop Técnicas Replicacion I
Workshop Técnicas Replicacion I
 
Unidad 4 interaporabilidad javier
Unidad 4 interaporabilidad javierUnidad 4 interaporabilidad javier
Unidad 4 interaporabilidad javier
 
Hyper v ha t echnet latam
Hyper v ha t echnet latamHyper v ha t echnet latam
Hyper v ha t echnet latam
 

Destacado

Destacado (9)

Oopphp5
Oopphp5Oopphp5
Oopphp5
 
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
 
Bd no sql conceptos basicos
Bd no sql conceptos basicosBd no sql conceptos basicos
Bd no sql conceptos basicos
 
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
 
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4jBases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
 
Bd no sql tecnicas2
Bd no sql tecnicas2Bd no sql tecnicas2
Bd no sql tecnicas2
 
Bd no sq ldocumento
Bd no sq ldocumentoBd no sq ldocumento
Bd no sq ldocumento
 

Similar a Bd no sqlcb2

Bases de datos distribuidas
Bases de datos distribuidasBases de datos distribuidas
Bases de datos distribuidas
Max Perez
 
Arquitecturas de bd
Arquitecturas de bdArquitecturas de bd
Arquitecturas de bd
Luis Jherry
 
S O R Y S O D
S O R  Y  S O DS O R  Y  S O D
S O R Y S O D
Isabel
 

Similar a Bd no sqlcb2 (20)

Introduccion SD
Introduccion SDIntroduccion SD
Introduccion SD
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Presentacion sistemas distribuidos
Presentacion sistemas distribuidosPresentacion sistemas distribuidos
Presentacion sistemas distribuidos
 
Investigacion eq.3 inf-5 e
Investigacion eq.3 inf-5 eInvestigacion eq.3 inf-5 e
Investigacion eq.3 inf-5 e
 
Bases de datos distribuidas
Bases de datos distribuidasBases de datos distribuidas
Bases de datos distribuidas
 
sistemas_Operativos_Distribuidos
sistemas_Operativos_Distribuidossistemas_Operativos_Distribuidos
sistemas_Operativos_Distribuidos
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
sistemas operativos distribuidos2
sistemas operativos distribuidos2sistemas operativos distribuidos2
sistemas operativos distribuidos2
 
Base de datos distribuidas
Base de datos distribuidasBase de datos distribuidas
Base de datos distribuidas
 
Arquitecturas de bd
Arquitecturas de bdArquitecturas de bd
Arquitecturas de bd
 
Bbd ddistribuidas
Bbd ddistribuidasBbd ddistribuidas
Bbd ddistribuidas
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Transparencia
TransparenciaTransparencia
Transparencia
 
Arquitecturas de Base de Datos- kmm.pptx
Arquitecturas de Base de Datos- kmm.pptxArquitecturas de Base de Datos- kmm.pptx
Arquitecturas de Base de Datos- kmm.pptx
 
Tipos_Arquitecturas_de_Base_de_Datos.pptx
Tipos_Arquitecturas_de_Base_de_Datos.pptxTipos_Arquitecturas_de_Base_de_Datos.pptx
Tipos_Arquitecturas_de_Base_de_Datos.pptx
 
sistemas distribuidos 4
sistemas distribuidos 4sistemas distribuidos 4
sistemas distribuidos 4
 
Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos Distribuidos
 
S O R Y S O D
S O R  Y  S O DS O R  Y  S O D
S O R Y S O D
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 

Más de Escuela de Computación UCV

Más de 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
 

Último

RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
pvtablets2023
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
Wilian24
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
RigoTito
 

Último (20)

RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.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
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.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
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
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
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
 

Bd no sqlcb2

  • 1. Bd NoSQL Conceptos Básicos II PROFA. MERCY OSPINA mercy.ospinat@gmail.com
  • 3. Sistemas Distribuidos Es una colección de computadoras independientes que aparecen ante los usuarios del sistema como una única computadora” (tanenbaum, 1995)
  • 4. Sistemas Distribuidos “Se compone de un grupo de computadores autónomos, enlazados mediante una red y equipados con un software de sistemas distribuidos. … Los usuarios de un sistema distribuido bien diseñado deberían percibir un sistema de computación único e integrado” (c,d,k, 1998) Video https://www.youtube.com/watch?v=ozSf8esfOFA
  • 5. Sistemas Distribuidos - Transparencia Un sistema distribuido es transparente si, es capaz de presentarse ante los usuarios y las aplicaciones como si se tratara de una sola computadora
  • 6. Tipos de transparencia Transparencia Descripción Acceso Oculta diferencias en la representación de los datos y la forma en que un recurso accede a estos Ubicación Oculta la localización de los datos o recursos Migración Oculta que un dato o recurso puede moverse a otra ubicación Replicación Oculta el número de copias del dato o recurso Concurrencia Oculta que un recurso puede ser compartido por varios usuarios que compiten por el Falla Oculta la falla y recuperación de un recurso Reubicación Oculta que un dato o recurso puede moverse a otra ubicación mientras está en uso
  • 7. Nivel de transparencia Lograr completamente la transparencia de distribución es imposible o muy costoso, se debe considerar temas como el rendimiento.
  • 8. Sistemas Distribuidos – Arquitecturas Físicas P P P P P P BUS Memory M P M P M P M P M P M P Network Memoria Compartida – Un espacio simple de direccionamiento. Todos los procesadores tienen acceso a un pool de memoria compartida. Memoria Distribuida – cada procesador tiene su propia memoria local. Se debe hacer paso de mensaje para intercambiar datos entre procesadores.
  • 9. Sistemas Distribuidos – Arquitecturas Basados en el modelo cliente-servidor: Muchos servicios de Internet siguen este modelo: Web, e-mail, Bases de datos Proceso que implementa un servicio Proceso que solicita un servicio al servidor
  • 10. Sistemas Distribuidos - Arquitectura P2P (Peer to Peer) P2P (Peer to Peer) Todos los procesos desempeñan tareas semejantes, interactuando cooperativamente como iguales para realizar una actividad distribuida o cómputo sin distinción entre clientes y servidores. Ejemplos: - Napster (El primero) - Bit Torrent, emule - Skype - Friend-to-Friend (F2F) - Redes Sociales: Facebook, MySpace, Linked-In
  • 11. Sistemas Distribuidos - Tipos Cluster es una agrupación de computadoras intercomunicadas entre sí a través de un nodo central y cuyo objetivo es realizar una tarea específica. Los componentes, llamados nodos son por lo general servidores y están conectados mediante una red de alta velocidad o una LAN
  • 12. Sistemas Distribuidos - Clúster Clasificación: Según el objetivo de su aplicación ◦ Alto rendimiento y alta disponibilidad Según el uso de los nodos ◦ Dedicados o no dedicados Según el SO de los nodos Según la configuración de los nodos ◦ Homogéneos o Heterogéneos
  • 13. Sistemas Distribuidos - Cluster Beowulf ◦ Ideados en 1994 por Donald Becker y Thomas Sterling en la NASA. ◦ 16 PC procesadores Intel DX4 de 100 MHz con monitor y teclado ◦ Red Ethernet a 10 Mbps. ◦ SO Linux ◦ La supercomputadora de los pobres http://hipertextual.com/2011/11/historia-de- la-tecnologia-cluster-beowulf-la- supercomputadora-de-los-pobres
  • 14. Sistemas Distribuidos - Clúster Google (1998) de 80 servidores a mas de 2 millones (computadores personales) • Racks en varias ciudades del mundo • 2009 Instalación ecológica
  • 15. Sistemas Distribuidos - Clúster Otros Clústeres ◦ Amazon ◦ Red española de supercomputación ◦ Microsoft data centersize # of server racks # of blade servers US East (Virginia) 5,030 321,920 US West (Oregon) 41 2,624 US West (N. California) 630 40,320 EU West (Ireland) 814 52,096 AP Northeast (Japan) 314 20,096 AP Southeast (Singapore) 246 15,744 SA East (Sao Paulo) 25 1,600 Total 7,100 454,400 Tamaño del centro de datos de Amazon (2012)
  • 17. Sistemas Distribuidos - Nube La empresa Amazon fue pionera del Cloud Computing, al darse cuenta que tenía sub-utilizada parte de su infraestructura física A esto le siguieron Google, Microsoft, Yahoo y goDaddy
  • 21. Distribución de datos Replicación: Es el proceso de copiar y mantener actualizados los datos en varios nodos de la BD. ◦ Los lectores pueden leer de cualquier copia. ◦ Una escritura debe ser replicada en todas sus copias Fragmentación: Dividir los datos de manera que no se solapen (particiones) para distribuirlos en diferentes nodos.
  • 22. Replicación Beneficios ◦ Mejora la disponibilidad de los datos: ◦ Si n copias accesibles fallan aún puedo acceder a la copia n+1 (si la hay) ◦ Mejora el rendimiento si hay mas lecturas que escritura ◦ Los tiempos de respuesta disminuyen ◦ Recuperación de fallos ◦ Al recuperarse un nodo puede leer los datos de alguna réplica ◦ Reducción de la carga ◦ Las operaciones sobre los datos se pueden repartir entre las diferentes réplicas.
  • 23. Replicación Problemas ◦ Costo: Requiere mayores recursos de almacenamiento ◦ Consistencia: Modificar una copia la hace diferente del resto ◦ Overhead: ◦ Se deben mantener todas las copias actualizadas ◦ Requiere manejo de concurrencia entre las réplicas ◦ Fiabilidad: Se debe garantizar la seguridad de todas las copias
  • 24. Replicación - Tipos Según la cantidad de datos replicados ◦ Replicación total: La base de datos completa ◦ Replicación parcial: Se replican algunos fragmentos y otros no. Según el momento ◦ Síncrona: Las copias se actualizan inmediatamente en el momento de actualizar los datos de origen (consistencia estricta) ◦ Asíncrona: Las copias se actualizan después de que los datos de origen hayan sido modificados. (Consistencia eventual)
  • 25. Replicación - Tipos Según el modelo de replicación ◦ Maestro/esclavo Punto único de fallo único (single- point-of-failure) en caso de escrituras
  • 26. Replicación - Tipos Múltiples maestros ◦ Hay mas de un nodo responsable de las actualizaciones ◦ Se elimina el Punto único de fallo ◦ Introduce la colisión de datos si se ingresan dos registros distintos con la misma clave en diferentes copias
  • 27. Fragmentación Objetivos Dividir la base de datos en fragmentos mas pequeños de manera que la aplicación haga uso solo de algún fragmento. Ventajas ◦ Mayor concurrencia ◦ Paralelización de consultas ◦ Distribución de la carga
  • 28. Replicación y consistencia La replicación de datos genera problemas de consistencia que no pueden resolverse eficientemente de forma general Solo si se relaja la consistencia se pueden encontrar soluciones eficientes.
  • 29. Niveles de consistencia Esctricta: se manejan todas las réplicas de manera atómica para actualización Secuencial: El resultado de cualquier ejecución de operaciones de lectura y escritura de todos los procesos sobre las réplicas, es el mismo que si se hubieran ejecutado de manera secuencial sobre las réplicas es secuencial. Es más débil que la anterior.
  • 30. Niveles de consistencia Causal: Es una debilidad del secuencial ya que diferencia a los eventos causados por otros de los que no lo están. Se debe establecer una relación de causalidad entre los eventos para lo cual hay diferentes técnicas
  • 32. Fragmentación - Tipos Vertical (a nivel de tabla)
  • 33. Fragmentación - Tipos Vertical – Clustering: ◦ Implica dividir (split) la base de datos en múltiples trozos o grupos, cada uno de los cuales contiene un subconjunto de todas las tablas
  • 34. Paradigma MapReduce Manipular grandes volúmenes de datos distribuidos requiere herramientas y métodos para procesarlos de manera paralela con la menor cantidad de intersección entre ellos. El procesamiento distribuido paralelo requiere además llevar la transferencia de data al mínimo. Mantener los datos locales es de gran importancia. A lo largo del tiempo se han desarrollado muchos métodos (Tiwari, 2011)
  • 35. Paradigma MapReduce A pesar de la variedad de soluciones, ninguna llegó tan lejos como mantener los datos locales para minimizar el uso del ancho de banda. MapReduce es un algoritmo inspirado en la programación funcional, desarrollado para la computación distribuida y patentado por Google. (Dean & Ghemawat, 2004) Se ha convertido en la forma mas popular de procesar grandes volúmenes de datos de manera eficiente y confiable. (Tiwari, 2011)
  • 36. Paradigma MapReduce Map: map(list[], oper) aplica la operacion oper a la lista list, retornando una nueva lista cuyos elementos han sido operados, individualmente, por oper. ◦ Por ejemplo, si disponemos de la lista list[1,2,3] y de la operación suma x = x+1y realizamos la operación map(list, suma) el resultado de la misma será [2,3,4]. Reduce(list[], oper) aplica la operación oper a la lista list, retornando un elemento producto de la operación de los elementos de list entre sí. ◦ Por ejemplo, si disponemos de la lista list[1,2,3] y de la operación suma (x:xs) = x+suma(xs) y realizamos la operación fold(lista, suma), el resultado de la misma será 6.
  • 39. Paradigma MapReduce Este framework es muy útil en BD NoSQL ◦ Map Toma como parámetros entrantes una lista de tuplas de tipo (clave, valor) y devuelve una lista de valores. ◦ Esta lista es filtrada o procesada por Reduce. ◦ Por ejempl MongoDB hace uso de MapReduce para realizar operaciones sobre los resultados devueltos por una consulta, por ejemplo de contaje de repeticiones.
  • 40. Próxima Clase ◦ Modelos de datos ◦ Estructurados ◦ Semiestructurados: XML, Json ◦ No estructurados ◦ Características de las BD NoSQL ◦ Taxonomía ◦ Arquitectura