Bd NoSQL Técnicas PROFA. MERCY OSPINA

Slides:



Advertisements
Presentaciones similares
Construcción de Sistemas Distribuidos “Transacciones Distribuidas”
Advertisements

DISEÑO DE TRANSFERENCIA ENTRE REGISTROS
Tabla de Contenido Concurrencia.
Definición En un sistema de base de datos distribuida, los datos se almacenan en varios computadores. Los computadores de un sistema distribuido se comunican.
DBMS (SGBD) El Sistema de Gestión
Noveno Semestre UNIDEC
I.T.E.S.R.C. Romina Tamez Andrea Martínez Ma. De Lourdes Solís
Base de Datos Distribuidas FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS
PROGRAMACIÓN PARALELA Tema 5: Análisis de algoritmos paralelos
Sistemas Distribuidos y Paralelos
Sistemas Operativos Distribuidos
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Introducción a los Sistemas de Bases de Datos Distribuidos
Servidores de nombres de dominio (DNS)
Universidad Centroamericana
Sistemas Distribuidos.
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Facultad de Ingeniería Manufactura Integrada Por Computador II
Sistemas Distribuidos
UPV/EHU, ATC Sistemas distribuidos. Sincronización de relojes Network Time Protocol (NTP) Modo simétrico: fundamentos m B T2T2 A T3T3 T4T4 T1T1 m’ Consideramos.
Conceptos generales: Concurrencia: Existencia simultánea de varios procesos en ejecución. IMPORTANTE: EXISTENCIA SIMULTÁNEA NO IMPLICA EJECUCIÓN SIMULTÁNEA.
Algoritmos Distribuidos Semana 1. Parte 2 Comunicación por Pase de Mensajes Claudia León Universidad Central de Venezuela Facultad de Ciencias Escuela.
Ing. Fabián Ruano.  Definición  Diferencias con BD Centralizadas.
Instituto Tecnológico de La Paz Ing. Fernando Ortiz Ahumada.
Unidad III Administración de procesos
OMAR SANCHEZ ROBLES HECTOR PEREZ GARCIA. “Sistemas de cómputo compuesto por un gran número de CPU´s conectados mediante una red de alta velocidad”, Tanenbaum.
SINCRONIZACIÓN EN SISTEMAS DISTRIBUIDOS Tema # III Sept-Dic 2008 Yudith Cardinale.
BASE DE DATOS BY: Julián Villar Vázquez.
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
Asignación de Espacio No Contiguo
LENGUAJE DE PROGRAMACIÓN
Introducción al modelo Cliente-Servidor Carlos Rojas Kramer Universidad Cristóbal Colón.
5. Sistemas de archivos avanzados1 Tema 5: Sistemas de Archivos Avanzados Resumen: –Sistema de archivos distribuido –File Replication Service.
Introducción a los Sistemas Operativos
Sincronización de Relojes
Capítulo 7 Gestión de memoria.
UPV/EHU, ATC Sistemas distribuidos. Sincronización de relojes
Servicio horario NTP - Protocolo NTP Luis Villalta Márquez.
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Teoría de Sistemas Operativos Sincronización Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
BASES DE DATOS DISTRIBUIDAS
Sincronizacion de Procesos Distribuidos
Procesos Estocásticos Edgar H Criollo V Mayo 2010
Teoría de Sistemas Operativos Departamento de Electrónica 2º Semestre, 2002 Gabriel Astudillo Muñoz
Funcionamiento del protocolo DHCP. Tipo de mensajes
Diseño lógico secuencial con VHDL
Estructura de los Sistemas Operativos
Teoría de Sistemas Operativos Sistemas distribuidos.
Unidad 2 – Gestión de Procesos
Distance Vector vs Link State.
ARQUITECTURA ALTERNATIVA DE SERVIDORES SISTEMAS OPERTIVOS DE RED En un sistema operativo de red los usuarios saben que están conectados a la red y que.
Son los atributos de un sistema que son visibles para un programador, es decir aquellos atributos que impactan directamente en la ejecución lógica de un.
2.1 DEFINICIONES CARACTERÍSTICAS Y SUPOSICIONES.
¿QUE ES EL DIAGRAMA DE ESTADO ?
Elementos y tipos de sistemas operativos
SISTEMAS OPERTIVOS DE RED Los usuarios están conectados a la red y que pueden compartir recursos. Cada equipo ejecuta con sus propios recursos su propio.
INGENIERIA EN SISTEMAS FUNDAMENTOS DE COMPUTACION B ACHILLERATO EN I NGENIERÍA I NFORMÁTICA L IC. C ARLOS H. G UTIÉRREZ L EÓN.
David A Salamanca Díaz. DEFINICIÓN  Se define como una serie de pasos organizados que describen el proceso que se debe seguir, para dar solución a un.
REDES Angie Paola Gutiérrez C. ♥ Once ♥. REDES DE COMPUTADORAS Es un conjunto de elementos interceptados entre si, para compartir información. Como en.
BASES DE DATOS CONCEPTOS BASICOS Elizabeth Maite Zarate Machaca “El tratamiento eficiente de la información al servicio del usuario”
Sistemas Distribuidos Conceptos Básicos Propiedades MSI. Nancy A. Olivares Ruiz.
Administración de Base de Datos Recuperación Prof Mercy Ospina Torres
BASES DE DATOS DISTRIBUIDAS M.C.C. María Guadalupe Villanueva Carrasco INGENIERIA EN SISTEMAS COMPUTACIONALES.
Gestión de Memoria – Parte 2
Bd NoSQL Técnicas II PROFA. MERCY OSPINA
Bd NoSQL Técnicas II PROFA. MERCY OSPINA
Bd NoSQL Conceptos Básicos PROFA. MERCY twitter.
Consistencia y Replicación
Transcripción de la presentación:

Bd NoSQL Técnicas PROFA. MERCY OSPINA

Agenda Consistencia Ordenación de Eventos Exclusión Mutua Control de concurrencia Disponibilidad Partición Replicación Elección y consenso

Consistencia  Un sistema distribuido es generalmente considerado consistente si después de una operación de actualización de algún escritor todos los lectores ven esa actualización de alguna fuente de datos compartida.  Consistencia secuencial: Las actualizaciones de un cliente se aplican en el orden en que fueron enviadas

Modelo de un sistema distribuido Modelo de sistema: ◦Compuesto por nodos. ◦Procesos secuenciales {P1, P2,...Pn} que ejecutan un algoritmo local (en cada nodo) ◦Canales de comunicación Eventos en Pi ◦Ei = {ei1, ei2,...ein} Tipos de eventos locales ◦Internos (cambios en el estado de un proceso) ◦Comunicación (envío, recepción)

Modelo de un sistema distribuido Un sistema distribuido se puede modelar como un sistema de transición de estados STE (C, →, I) 1.C es un conjunto de estados 2.→ describe las posibles transiciones(→ ⊆ C × C) 3.I describe los estados iniciales(I ⊆ C) El estado de un sistema distribuido, C, se puede describir como ◦La configuración actual de cada proceso/procesador ◦Los mensajes en tránsito por la red

Modelo de un sistema distribuido En un sistema distribuido el estado global se encuentra distribuido entre los nodos ◦Cada nodo posee una visión subjetiva del estado global ◦Dos eventos pueden ser vistos en distintos orden por distintos observadores

Modelo de un sistema distribuido Algoritmo local: ◦Un proceso cambia de un estado a otro (evento interno) ◦Un proceso cambia de un estado a otro y envía un mensaje a otro proceso (evento de envío) ◦Un proceso recibe un mensaje y cambia su estado (evento de recepción) Restricciones ◦Un proceso p solo puede recibir un mensaje después de haber sido enviado por otro ◦Un proceso p solo puede cambiar del estado c al estado d si está actualmente en el estado c

Modelo de un sistema distribuido Algoritmos Distribuidos: Los algoritmos distribuidos deben tener las siguientes propiedades: ◦La información relevante se distribuye entre varias máquinas ◦Los procesos toman las decisiones sólo en base a la información local ◦Debe evitarse un punto único de fallo ◦No existe un reloj común

Estados globales y tiempo Consideramos un sistema distribuido como una coleccion P de N procesos pi, con i = 1; 2; : : : ;N. ◦Cada proceso pi ejecuta en un procesador independiente ◦Como no hay memoria compartida solo se comunican por paso de mensajes: send y recv ◦Cada proceso pi tiene un estado si que cambia durante la ejecución. Evento Ocurrencia de una acción individual send, recv u otra acción que cambie el estado del pi

Historia Los eventos dentro de pi poseen un orden total, definido por la relacion → i Ahora es posible definir la historia del proceso pi Relación ocurre antes e1 → i e2 ↔ e1 ocurre antes que e2 en pi. Historia de pi Serie de eventos que ocurren en pi denidos por la relacion → i history (pi ) = hi =

Relojes Físicos ◦UTC ◦Algoritmo de Christian ◦Algoritmo de Berkeley Orden causal ◦Timestamp ◦Vector Clock

Relojes Físicos Definiciones: normalmente UTC =Time Coordinated Universal Time Tiempo físico de referencia: periodo entre dos actualizaciones del registro del tiempo local, debe ser menor que el intervalo de tiempo mínimo entre dos eventos producidos consecutivamente en el nodo Resolución: diferencia entre el tiempo local y el tiempo físico de referencia en un instante Desviación (offset, skew, q): desviación por unidad de tiempo (lo que adelanta o atrasa el reloj) Deriva (drift, d): Desviación máxima que se puede garantizar en el ajuste de un reloj Precisión (accuracy):

Relojes Físicos Sincronización: procedimiento por el que se ajusta el valor de un reloj a un tiempo físico de referencia con una precisión preestablecida (UTC) Externa: Se busca una fuente externa de referencia fiable Interna: ◦Centralizada: Utiliza un servidor de tiempos que proporciona una referencia fiable (Algoritmo de Christian – 1989) ◦Distribuida: El coordinador solicita los tiempos a los demás nodos para calcular un tiempo medio (Algoritmo de Berkeley )

Relojes Físicos Algoritmo de Christian (1989) ◦el cliente envía una petición al servidor (m req ) ◦el servidor contesta enviando la referencia de tiempo en otro mensaje (mt) ◦retardo de los mensajes: min + d ◦min es el tiempo mínimo de transmisión. Es constante y se puede determinar a partir de las características de la red ◦d es variable y depende de la carga del sistema y de la red

◦t(mt): tiempo devuelto por el servidor en el mensaje mt ◦D: tiempo desde que se envía mreq y se recibe mt ◦min: tiempo mínimo de transmisión de un mensaje ◦Suposición: el servidor asigna la referencia t(mt) en la mitad del intervalo ◦D-2*min (instante t en el cliente). Así se logra la mejor precisión ◦Desviación: q = t - t(mt) = t1 - D/2 - t(mt) ◦Precisión = D/2 – min

Relojes Físicos Algoritmo de Berkeley (1989) ◦Motivación: Las diferentes desviaciones de los tiempos locales tienden a cancelarse entre ellas en torno a un tiempo medio que se puede tomar como referencia fiables para la sincronización interna. ◦El coordinador solicita los tiempos a los demás nodos y calcula un tiempo medio a partir de las medidas obtenidas, excluyendo las respuestas espurias y las que no llegan en plazo ◦ T = Σ(t(mi) - Di/2) / N ◦El coordinador envía a cada nodo su desviación con respecto a la media, para que realice el ajuste ◦θi = t(mi) - Di/2 - T ◦Si el coordinador falla, se elige un nuevo coordinador

Algoritmo de Berkeley a)El demonio de tiempo solicita el valor de reloj de todas las demás máquinas (nodos) b)Las máquinas responden c)El demonio de tiempo le dice a los demás como ajustar su reloj

Relaciones causales Precisión de relojes físicos tiene un límite ◦Sincronización perfecta es imposible en un sistema distribuido ◦Pero dentro de un mismo proceso si hay un orden absoluto ◦Muchas aplicaciones requieren únicamente ordenar los eventos (y no tanto conocer el instante exacto en que ocurrieron) ◦Se puede establecer causalidad para establecer ordenes entre distintos procesos

Relaciones causales Para ordenar los eventos de un mismo proceso bastaría con asociar a cada evento x el tiempo local o una marca de tiempo T(x). Se dice que existe una relación de causalidad entre dos eventos del sistema (x →y, “x ha sucedido antes que y”, “x happened before y”) si: HB1: x e y son eventos del mismo proceso y T(x)<T(y) HB2: x e y son los eventos enviar(m) y recibir(m) del mismo mensaje m HB3: Existe otro evento z tal que x → z y z → y (cierre transitivo de la relación)

Relación ocurre-antes (happens- before) Lamport, 1978 Si entre dos eventos no hay relación de causalidad, se dice que son concurrentes: x || y Establecer la relación de causalidad entre los eventos a, b, c, d, e y f

Relacion ocurre-antes (happens- before) Lamport, 1978 No ofrece una relación de orden total HB1: a → b, c → d, e →f HB2: b → c, d → f, HB3: a →c, c →f pero a → e y e → a, a y e son concurrentes e||a,b,c,d

Reloj Lógico – Timestamp Lamport, 1978 Un reloj lógico es un contador monótono creciente ◦Cada proceso pi mantiene su propio reloj logico Li ◦Sin relación con el reloj físico ◦Usado para establacer Lamport Timestamps ◦Li (e), timestamp del evento e en pi ◦L(e), timestamp del evento e en el proceso en que ocurrió

Reloj Lógico – Timestamp Lamport, 1978

Se establece un orden total

Relojes Vectoriales Mattern (1989), Fidge (1991)

Inicialmente, V i [j] = 0,  i, j 1.Vi se actualiza antes de cada evento en pi : Vi [i ] := Vi [i ] Cuando pi hace send(m), agrega el valor t = Vi 3.Cuando pi recibe el par (m; t), actualiza: 4.Vi [j ] := max(Vi [j ]; t[j ]), para j = 1; 2; : : : ;N y aplica 2 antes de aplicar un timestamp a recv (m)

Relojes Vectoriales Mattern (1989), Fidge (1991) Debilidades y Variantes: ◦Almacenamiento y envo O(N) ◦Charron-Bost (1991) demuestra que para determinar la relación ocurre-antes usando timestamps, es necesario utilizar las N dimensiones ◦Raynal & Singhal (1996) indicando maneras de enviar menos informacion, a cambio de un overhead dentro de cada proceso para reconstruir los vectores. ◦Relojes Matriciales: mantienen estimaciones de relojes vectoriales de los N procesos.

Relojes Vectoriales Mattern (1989), Fidge (1991) Debilidades y Variantes: ◦Almacenamiento y envo O(N) ◦Charron-Bost (1991) demuestra que para determinar la relación ocurre-antes usando timestamps, es necesario utilizar las N dimensiones ◦Raynal & Singhal (1996) indicando maneras de enviar menos informacion, a cambio de un overhead dentro de cada proceso para reconstruir los vectores. ◦Relojes Matriciales: mantienen estimaciones de relojes vectoriales de los N procesos.

Estados globales Investigar para la próxima clase - ¿Qué es un estado global? - Utilidad - Algoritmo de Instantáneas de Chandy y Lamport

Control de concurrencia Exclusión mutua distribuida Bloqueos Control optimista de concurrencia Ordenación por marcas de tiempo (MVCC)

Exclusión Mutua Distribuida Coordinación de procesos para compartir recursos. Los procesos ejecutan el siguiente fragmento de código ◦entrada() ◦SECCIÓN CRÍTICA ◦salida() Solución centralizada ◦Un proceso funciona como coordinador de bloqueos (lock master), y concede bloqueos de acceso a secciones críticas. ◦Factible hasta cierta cantidad de procesos.

Exclusión Mutua Distribuida Solución distribuida ◦No siempre es posible designar un lock master ◦Ejemplo: Redes ethernet o wifi 'ad-hoc': solo un nodo debe transmitir a través del medio ◦Tres algoritmos ◦Ring-based ◦Ricart-Agrawala (1981) ◦Maekawa (1985).

Siguiente clase Algoritmos de exclusión mutua Control de concurrencia Algoritmos de elección y consenso Técnicas de particionamiento