BASE DE DATOS DISTRIBUIDAS
EXPOSICIONES Y PROYECTOS
  
SISTEMAS PARALELOS DE BASES DE DATOS

SISTEMAS PARALELOS DE BASES DE DATOS


Muchas aplicaciones de datos intensivos requieren soporte para bases de datos muy grandes (por ejemplo,cientos de terabytes o petabytes). Ejemplos de tales aplicaciones son el comercio electrónico, almacenamiento de datos y minería de datos. Bases de datos muy grandes se suele acceder a través de un gran número de transacciones simultáneas (por ejemplo, la realización de pedidos on-line en una tienda de electrónica) o consultas complejas (por ejemplo, el apoyo a la toma de consultas). La primer tipo de acceso es representante de procesamiento de transacciones en línea (OLTP) aplicaciones, mientras que el segundo es representante de On-Line Analytical Processing (OLAP) aplicaciones. Apoyo a grandes bases de datos de manera eficiente, ya sea para OLTP o OLAP puede abordarse mediante la combinación de la computación paralela y distribuida base de datos gestión.

14,1 Arquitecturas Paralelas Base de datos del sistema



Motivamos a las necesidades de los sistemas de bases de datos paralelas mediante la revisión de la requisitos de los sistemas de información muy grandes usando la tecnología de hardware actual tendencias. Se presentan los aspectos funcionales y arquitectónicos de los sistemas de bases de datos paralelas.
En particular, se presentan y comparan las principales arquitecturas: memoria compartida, de disco compartido, shared-nada y arquitecturas híbridas.

14.1.1 Objetivos



Proceso paralelo explota con varios ordenadores para ejecutar programas de aplicación mediante el uso de varios procesadores en cooperación, a fin de mejorar el rendimiento. Su muy utilizado desde hace mucho tiempo en la computación científica, mejorando la respuesta tiempo de aplicaciones numéricas [Kowalik, 1985; Sharp, 1987]. La evolución de las dos ordenadores de uso general paralelos utilizando microprocesadores estándar y paralelas técnicas de programación [Osterhaug, 1989] han permitido el procesamiento paralelo para romper en el campo de procesamiento de datos.
Los sistemas paralelos de bases de datos combinar la gestión de bases de datos y el procesamiento paralelo para aumentar el rendimiento y la disponibilidad. Tenga en cuenta que el rendimiento fue también el objetivo de las máquinas de base de datos en los años 70 y 80. El problema que enfrentan los gestión de base de datos convencional ha sido durante mucho tiempo conocida como "cuello de botella I / O", inducida por hora de acceso al disco con respecto a la memoria principal tiempo de acceso (por lo general cientos de miles de veces más rápido).
Un sistema de base de datos en paralelo puede ser vagamente definido como un DBMS implementado en un computador paralelo. Esta definición incluye muchas alternativas que van desde la portar sencillo de un DBMS existente, que puede requerir sólo rescritura las rutinas del sistema operativo de interfaz, a una combinación sofisticada de paralelo
Funciones de procesamiento y base de datos del sistema en un nuevo hardware / software arquitectura.
Los objetivos de los sistemas de bases de datos paralelas están cubiertos por las de distribuido DBMS (rendimiento, disponibilidad, capacidad de ampliación). Idealmente, un sistema de base de datos paralela debe proporcionar las siguientes ventajas.
1.- De alto rendimiento
2.- De alta disponibilidad
3.-Extensibilidad

14.1.2 Arquitectura Funcional



Asumiendo una arquitectura cliente / servidor, las funciones de apoyo de una base de datos paralela sistema puede dividirse en tres subsistemas tanto como en un típico DBMS. La diferencias, sin embargo, tienen que ver con la implementación de estas funciones, que debe ahora lidiar con el paralelismo, el particionamiento y replicación de datos y las transacciones distribuidas.
1.- Session Manager. Que desempeña el papel de un monitor de transacciones, proporcionando apoyo para las interacciones del cliente con el servidor. En particular, realiza las conexiones y desconexiones entre los procesos cliente y los dos otros subsistemas.
2.- Transacción Manager. Recibe las transacciones del cliente relacionados con la compilación de consultas y ejecución. Se puede acceder al directorio de base de datos que contiene toda meta-información sobre los datos y programas. El propio directorio debe ser administrado como una base de datos en el servidor.
3.- Data Manager. Proporciona todas las funciones de bajo nivel necesarios para ejecutar compilado consultas en paralelo, es decir, la ejecución de la base de datos del operador, soporte de transacciones paralelas, gestión de la caché, etc.

14.1.3 Arquitecturas Paralelas DBMS



Como cualquier sistema, un sistema de base de datos paralela representa un compromiso en las opciones de diseño con el fin de proporcionar las ventajas mencionadas anteriormente con una buena relación coste / rendimiento. Uno orientar la toma de diseño es la forma en que los elementos de hardware principales, es decir, los procesadores, los principales memoria y discos, están conectados a través de alguna red de interconexión rápida. Hay son tres arquitecturas básicas de computación en paralelo en función de la memoria principal o disco se comparte: comparte la memoria, de disco compartido y compartido nada. arquitecturas híbridas tales como NUMA o clúster intenta combinar las ventajas de las arquitecturas básicas. En el resto de esta sección, al describir arquitecturas paralelas, nos centramos en los cuatro principales elementos de hardware: interconexión, procesadores (P), la memoria principal (M) y los discos. Por simplicidad, se ignora otros elementos como el caché del procesador y el bus de E / S.

14.1.3.1 Shared-Memory



En el enfoque de memoria compartida (véase la figura14,3), cualquier procesador tiene acceso a cualquier módulo de memoria o la unidad de disco a través de una interconexión rápida (por ejemplo, un bus de alta velocidad o un conmutador de barra cruzada). Todos los procesadores están bajo el control de un único y operativo sistema.
De memoria compartida tiene dos grandes ventajas: simplicidad y equilibrio de carga.
De memoria compartida tiene tres problemas: el alto costo, la extensibilidad limitada y bajo disponibilidad.

14.1.3.2 discos compartidos



Compartida disco tiene una serie de ventajas: menor costo, alta extensibilidad, balanceo de carga, disponibilidad y fácil migración desde sistemas centralizados. El coste de la interconexión es significativamente menor que con memoria compartida desde la tecnología de bus estándar puede ser utilizado. Teniendo en cuenta que cada procesador tiene suficiente memoria principal interferencia, en el disco compartido puede ser minimizado. Por lo tanto, la extensibilidad puede ser mejor, típicamente hasta un centenar de procesadores. Puesto que los fallos de memoria puede ser aislado de otros nodos, disponibilidad puede ser superior. Por último, la migración de un sistema centralizado de disco compartido es relativamente sencillo ya que los datos en el disco no tiene que ser reorganizada.

14.1.3.3 compartida Nada



En el enfoque compartido nada (véase la Figura 14.5), cada procesador tiene exclusivo el acceso a la memoria principal y la unidad de disco (s). Similar al disco compartido, cada procesador de memoria en el disco nodo está bajo el control de su propia copia del sistema operativo.

14.1.3.4 Arquitecturas híbridas



Varias combinaciones posibles de las tres arquitecturas básicas son posibles de obtener diferentes soluciones de compromiso entre costo, rendimiento, capacidad de ampliación, disponibilidad, etc Hybrid arquitecturas de tratar de obtener las ventajas de las arquitecturas diferentes: por lo general la eficacia y la simplicidad de memoria compartida y la extensibilidad y el costo de cualquiera de los discos compartidos o no compartidos. En esta sección, se discuten dos híbridos populares arquitecturas: NUMA y por conglomerados.
NUMA.
Con memoria compartida, cada procesador tiene acceso uniforme a la memoria (UMA), con tiempo de acceso constante, puesto que tanto la memoria virtual y la memoria física se compartida. Una gran ventaja es que el modelo de programación basado en virtual compartido memoria es simple. Con cualquier disco compartido o no compartidas, tanto virtuales y compartidas memoria se distribuyen, lo que produce una escalabilidad a un gran número de procesadores. La objetivo de NUMA es proporcionar un modelo de programación de memoria compartida y todos sus beneficios, de una arquitectura escalable con memoria distribuida. El término NUMA refleja el hecho de que un acceso a la memoria (virtualmente) compartida puede tener un diferente costar dependiendo de si la memoria física es local o remoto al procesador.
Cluster.
Un cluster es un conjunto de nodos de servidor independientes entre sí para compartir recursos y formar un solo sistema. Los recursos compartidos, llamados recursos agrupados, pueden ser hardware tal como un disco o software tales como los servicios de gestión de datos. el servidor nodos están hechas de componentes off-the-shelf que van desde simples componentes de PC a más potente SMP. Usando muchos off-the-shelf componentes es esencial para obtenerla mejor relación costo / rendimiento, mientras que la explotación de progreso continuo en hardware componentes. En su forma más barata, la interconexión puede ser una red local. Sin embargo, ahora hay interconexiones estándar rápido para los grupos (por ejemplo, Myrinet y Infiniband) que proporcionan gran ancho de banda (Gigabits / seg) con baja latencia para el tráfico de mensajes.

14,2 datos de colocación en paralelo



La colocación de datos debe realizarse de manera que se maximice el rendimiento del sistema, que puede medirse mediante la combinación de la cantidad total de trabajo realizado por el sistema y el tiempo de respuesta de las consultas individuales. En el capítulo 8, hemos visto que la maximización Tiempo de respuesta (a través de intra-query paralelismo) se traduce en aumento de trabajo total a pagar a los gastos generales de comunicación. Por la misma razón, inter-consulta paralelismo resultados en total de trabajo creciente. Por otra parte, la agrupación de todos los datos necesarios para un programa de comunicación y por lo tanto minimiza el trabajo total realizado por el sistema en ejecución de ese programa. En cuanto a la ubicación de los datos, tenemos la siguiente disyuntiva: maximizar el tiempo de respuesta o el paralelismo entre la consulta conduce a la partición, mientras que reducir al mínimo la cantidad total de trabajo conduce a la agrupación. Como hemos visto en el capítulo 3, esta problema se aborda en bases de datos distribuidas de una manera más bien estática.

1.- Round-robin partición es la estrategia más simple, se asegura que los datos uniformes distribución.
2.- Particiones hash se aplica una función hash a algún atributo que produce el número de partición.
3.- Particionamiento rango distribuye tuplas sobre la base de los intervalos de valores (intervalos) de algún atributo. Además de apoyar las consultas de concordancia exacta (como en el hashing), que es muy adecuado para las consultas de rangos.

14,3 procesamiento de consultas en paralelo



El objetivo del procesamiento de consultas en paralelo es el de transformar las consultas en los planes de ejecución que pueden ser eficientemente ejecutan en paralelo. Esto se consigue mediante la explotación de la colocación de datos en paralelo y las diversas formas de paralelismo ofrecidos por las consultas de alto nivel.

14.3.1 Consulta de Paralelismo



Ejecución de consultas en paralelo puede explotar dos formas de paralelismo: inter e intra-consulta. Inter-consulta paralelismo permite la ejecución paralela de varias consultas generadas por transacciones simultáneas, con el fin de aumentar el rendimiento transaccional. Dentro una consulta (intra-query paralelismo), entre el operador y el paralelismo intra-operador son utiliza para disminuir el tiempo de respuesta. Inter-operador de paralelismo se obtiene mediante la ejecución de en paralelo varios operadores del árbol de la consulta en varios procesadores, mientras que con intraoperator paralelismo, el operador se ejecuta la misma por muchos procesadores, cada uno trabajando en un subconjunto de los datos. Tenga en cuenta que estas dos formas de paralelismo también existen en el procesamiento de consultas distribuidas.

14.3.1.1 intra-operador Paralelismo



Dentro del mismo operador paralelismo se basa en la descomposición de un operador en un conjunto de sub-operadores independientes, llamados casos de operador. Esta descomposición se realiza utilizando el particionado estático y / o dinámico de las relaciones. Cada instancia operario se proceso de una partición relación, también llamado un cubo. La descomposición operador frecuentemente beneficios de la partición inicial de los datos (por ejemplo, los datos se repartió en el atributo de unión).

14.3.1.2 Inter-operador Paralelismo



Dos formas de paralelismo entre operadores puede ser explotado. Con paralelismo tubería, varios operadores con un enlace entre productores y consumidores se ejecutan en paralelo. Por ejemplo, el operador de selección en la figura 14,12 se puede ejecutar en paralelo con el operador de combinación.
La ventaja de esta ejecución es que el resultado intermedio no se materializa, el consiguiente ahorro de accesos a memoria y disco.

14.3.2 Algoritmos paralelos para el procesamiento de datos



Colocación repartió datos es la base para la ejecución paralela de consultas de bases de datos. Dada la ubicación de datos particionada, un tema importante es el diseño de paralelo algoritmos para un procesamiento eficaz de los operadores de base de datos (es decir, el álgebra relacional operadores) y las consultas de base de datos que combinan varios operadores. Este problema es difícil porque un buen compromiso entre paralelismo y coste de la comunicación debe ser alcanzado desde paralelismo creciente implica una mayor comunicación entre los nodos.
Los algoritmos paralelos para los operadores de álgebra relacional son los bloques de construcción necesarios para el procesamiento de consultas en paralelo.
Procesamiento de datos en paralelo deben explotar dentro del mismo operador paralelismo. Nos concentramos nuestra presentación de algoritmos paralelos para los operadores de base de datos en la selección y operadores de combinación, ya que todos los demás operadores binarios (como los sindicatos) se puede manejar muy al igual que unirse [Bratbergsengen, 1984]. El procesamiento del operador seleccione en un contexto repartió la ubicación de datos es idéntica a la de un fragmentada distribuida base de datos. Dependiendo del predicado de selección, el operador puede ejecutar en una sola nodo (en el caso de un predicado coincidencia exacta) o, en el caso de arbitrariamente complejo predicados, en todos los nodos sobre los que se divide la relación. Si el índice global está organizada como una estructura de árbol-B-like (ver figura 14.8), un operador con una amplia selección de predicado puede ser ejecutado por los nodos que almacenan datos relevantes.

14.3.3 Optimización de consultas en paralelo



Optimización de consultas en paralelo presenta similitudes con el procesamiento de consultas distribuidas. Sin embargo, se centra mucho más en el aprovechamiento de ambos dentro del mismo operador paralelismo (utilizando los algoritmos descritos anteriormente) y el paralelismo entre operadores. Como cualquier consulta optimizador, un optimizador de consulta en paralelo puede ser visto como tres componentes: un espacio de búsqueda, un modelo de costos, y una estrategia de búsqueda. En esta sección, se describe la técnicas para estos componentes.

14.3.3.1 Buscar Espacio



Los planes de ejecución se abstraen mediante árboles de operador, que definen el orden en el que los operadores se ejecutan. Operador árboles están enriquecidos con anotaciones, que indican aspectos adicionales de ejecución, tales como el algoritmo de cada operador.

14.3.3.2 Modelo de Costes



Recordemos que el modelo del costo optimizador es responsable de estimar el coste de un dado ejecución del plan. Se compone de dos partes: dependiente de la arquitectura y architecture independent [Lanzelotte et al., 1994]. La parte independientes de la arquitectura se constituye de las funciones de coste para los algoritmos de operador, por ejemplo, bucle anidado para unirse y secuencial el acceso de selección.

14.3.3.3 Estrategia de búsqueda



La estrategia de búsqueda no tiene que ser diferente de forma centralizada o distribuida optimización de consultas. Sin embargo, el espacio de búsqueda tiende a ser mucho más grande porque hay son más parámetros que afectan a los planes de ejecución en paralelo, en particular, las tuberías y anotaciones tienda. Por lo tanto, las estrategias de búsqueda aleatorios (ver Sección 8.1.2) en general superar las estrategias deterministas en la optimización de consultas en paralelo.

14,4 equilibrio de carga



Equilibrio de carga buena es crucial para el rendimiento de un sistema paralelo. El tiempo de respuesta de un conjunto de operadores paralela es la de la más larga.
Por lo tanto, minimizar el tiempo de la más larga es importante para minimizar la respuesta tiempo. Equilibrio de la carga de las diferentes transacciones y consultas entre los diferentes nodos También es esencial para maximizar el rendimiento.

14.4.1 Problemas de ejecución en paralelo



Los principales problemas introducidos por la ejecución de consultas en paralelo son la inicialización, injerencia y de inclinación.
Inicialización. Antes de la ejecución se lleva a cabo, una etapa de inicialización es necesario. Este primer paso es generalmente secuencial. Incluye proceso (o hilo) la creación e inicialización, inicialización de la comunicación, etc La duración de esta etapa es proporcional a la grado de paralelismo, y realmente puede dominar el tiempo de ejecución de consultas simples.

Interferencias.
Una ejecución muy paralelo puede ser frenado por la interferencia. La interferencia ocurre cuando varios procesadores al mismo tiempo acceder a los mismos recursos de hardware, o software.
Software interferencia se produce cuando varios procesadores desea acceder a los datos compartidos. Para evitar incoherencia, las variables exclusión mutua se utilizan para proteger los datos compartidos, bloqueando así todos menos uno procesador que accede a los datos compartidos. Esto es similar a los algoritmos basados en la concurrencia de bloqueo de control.

Inclinación.
Problemas de equilibrio de carga puede aparecer con paralelismo intra-operador (variación en paralelismo tamaño de la partición), a saber, datos de inclinación, y entre operador-(variación en la complejidad de los operadores).

14.4.2 Intra-Operador de equilibrio de carga



Bueno dentro del mismo operador equilibrio de carga depende del grado de paralelismo y la asignación de procesadores para el operador. Para algunos algoritmos, por ejemplo, el hash paralelo unirse algoritmo, estos parámetros no están limitados por la colocación de los datos.

Técnicas adaptativas.
La idea principal es decidir estáticamente en una asignación inicial de los procesadores al operador (usando un modelo de coste) y, en tiempo de ejecución, adaptarse a la inclinación utilizando reasignación de carga.
Un enfoque simple para cargar reasignación es detectar las particiones de gran tamaño y partición de nuevo en varios procesadores (entre los procesadores ya asignados a la operación) para aumentar el paralelismo. Este enfoque se generaliza para permitir un ajuste más dinámico de la grado de paralelismo.

Las técnicas especializadas.
Paralelo algoritmos de combinación puede ser especializado para tratar con inclinación. Un enfoque es utilizar múltiples algoritmos de combinación, cada uno especializado en un diferente grado de inclinación, y para determinar, en tiempo de ejecución, que es el mejor algoritmo [DeWitt et al., 1992]. Lo se basa en dos técnicas principales: Partición de rango y de muestreo. Rango reparto se utiliza en lugar de la partición de hash (en el paralelo algoritmo hash) para evitar redistribución de inclinación de la relación edificio. El muestreo es también útil para determinar qué algoritmo utilizar y qué relación va a utilizar para construir o sondeo. Utilizando estas técnicas, la algoritmo paralelo combinación hash puede ser adaptado para tratar con inclinación de la siguiente manera:

1. Muestrear la relación edificio para determinar los rangos de partición.
2. Redistribuir la relación edificio a los procesadores que utilizan las gamas. cada
procesador genera una tabla hash que contiene las tuplas de entrada.
3. Redistribuir la relación sondeo utilizando los mismos rangos a los elaboradores.

14.4.3 Inter-operador de equilibrio de carga



Con el fin de obtener un buen equilibrio de carga en el nivel de inter-operador, es necesario elegir, para cada operador, cuántos y qué procesadores asignar para su ejecución.
Esto debe hacerse teniendo en cuenta el paralelismo gasoducto, que requiere entre operadores comunicación. Esto es difícil de lograr en no compartidas por la siguiente

14.4.4 Intra-Query Load Balancing



Intra-query balanceo de carga debe combinar paralelismo intra-e inter-operador. a
En cierta medida, dada una arquitectura en paralelo, las técnicas para ya sea intra o entre operadores equilibrio de carga que se acaba de presentar se pueden combinar. Sin embargo, en el importante contexto de los sistemas híbridos como NUMA o clúster, los problemas de equilibrio de carga se agravan debido a que deben abordarse en dos niveles, a nivel local entre los procesadores de cada nodo de memoria compartida (SM-nodo) y en el mundo entre todos los nodos.
Una solución general para el equilibrio de carga en los sistemas híbridos es el modelo de ejecución llamado Proceso Dinámico (DP) [Bouganim et al., 1996c].

Activaciones.
Una activación secuencial representa una unidad de trabajo. Puesto que cualquier activación puede ser ejecutado por cualquier hilo (por cualquier procesador), activaciones debe ser autónomo y referencia a toda la información necesaria para su ejecución: el código a ejecutar y los datos para procesar. Hay dos tipos de activaciones se pueden distinguir: activaciones de disparo y los datos de activaciones. Una activación del activador se utiliza para iniciar la ejecución de una hoja operador, es decir, escaneo. Está representada por un (Operador, Bucket) par que hace referencia a el operador de exploración y el cubo relación base para explorar. Una activación de datos describe un tupla producido en modo de canalización.

Colas de activación.
Mover activaciones de datos a lo largo de las cadenas de tuberías se realiza con colas de activación, también denominadas colas de mesa [Pirahesh et al., 1990], asociado con los operadores. Si el productor y consumidor de una activación están en el mismo SM-nodo, entonces el movimiento se realiza a través de memoria compartida. De lo contrario, se requiere de paso de mensajes. Para unificar la ejecución modelo, las colas se utilizan para activaciones de activación (entradas para los operadores de exploración), así como activaciones tupla (insumos para construcción o los operadores de la sonda).

Threads.
Una estrategia simple para obtener un buen equilibrio de la carga dentro de un SM-nodo es asignar un número de hilos que es mucho mayor que el número de procesadores y dejar que el sistema operativo hacer la programación de subprocesos. Sin embargo, esta estrategia incurre en altos números sistema de llamadas debido a la programación de subprocesos, interferencia, y los problemas de convoy. En lugar de confiar en el sistema operativo para la carga equilibrio, es posible asignar un solo hilo por procesador por consulta. Es hecha posible por el hecho de que cualquier subproceso puede ejecutar cualquier operador asignado a su SM-nodo. La ventaja de esta estrategia de asignación de un hilo-por-procesador es reducir significativamente la sobrecarga de la interferencia y de sincronización, siempre que un hilo nunca está bloqueado.

14.5 Las agrupaciones de bases de datos



Las agrupaciones de servidores de PC son otra forma de ordenador paralelo que proporciona una rentable alternativa a los superordenadores o multiprocesadores fuertemente acoplados. Por ejem-plo, se han utilizado con éxito en la computación científica, información web recuperación (por ejemplo, Google motor de búsqueda) y almacenamiento de datos. Sin embargo, estas aplicaciones son típicamente de lectura intensiva, que hace que sea más fácil de explotar el paralelismo.
Con el fin de apoyar actualización de aplicaciones intensivas que son típicos de los datos empresariales capacidades de procesamiento, llenos bases de datos paralelas, incluyendo soporte de transacciones, deben ser proporcionado. Esto se puede lograr usando un paralelo DBMS a cabo en un clúster. En este caso, todos los nodos son homogéneas, bajo el control total de la paralela DBMS.

14.5.1 Arquitectura Base de Datos Cluster



Como se discutió en la sección 14.1.3.4, un grupo puede tener un disco compartido o compartido nada arquitectura. Compartido de disco requiere una interconexión especial que proporciona un disco compartido espacio a todos los nodos, con posibilidad de coherencia de caché. Compartido nada mejor puede favorecer la autonomía de bases de datos sin el costo adicional de una interconexión especial y se puede ampliar hasta configuraciones muy grandes.

14.5.2 replicación



Como en los DBMS distribuidos, replicación se puede utilizar para mejorar el rendimiento y disponibilidad. En un clúster de base de datos, la interconexión del sistema de comunicación y rápido puede ser explotado para apoyar una copia seriabilidad mientras que proporciona escalabilidad (a lograr un rendimiento con un gran número de nodos) y la autonomía (para explotar blackbox DBMS). A diferencia de un sistema distribuido, un clúster proporciona un ambiente estable con poca evolución de la topología.
Protocolo de replicación Preventiva.
Replicación preventiva es un protocolo para la replicación lazy lazy distribuidos en una base de datos. También se conservaDBMS autonomía. En lugar de utilizar multicast total ordenada, como en los protocolos de ansiosos tales como NODO, utiliza multidifusión FIFO fiable que es más simple y más eficiente.

14.5.3 Equilibrio de carga



En un clúster de base de datos, replicación ofrece buenas oportunidades de balanceo de carga. Con ganas o replicación preventiva, el equilibrio de carga de la consulta es fácil de conseguir. Equilibrio de transacción de carga también es fácil en el caso de la replicación perezoso distribuido puesto que todos los nodos maestros necesitan para llevar a cabo finalmente la transacción.

14.5.4 Query Processing



En un clúster de base de datos, el procesamiento de consulta en paralelo puede ser utilizado con éxito para producir de alto rendimiento. Inter-consulta (o inter-transacción) paralelismo se obtiene naturalmente como resultado de equilibrio de carga y replicación como se discutió en la sección anterior. Este paralelismo es principalmente útil para aumentar la thoughput de transacción orientada aplicaciones y, en cierta medida, para reducir el tiempo de respuesta de las transacciones y consultas. Para aplicaciones OLAP que normalmente utilizan consultas ad-hoc, que acceden a gran cantidades de datos, dentro de la consulta paralelismo es esencial para reducir aún más el tiempo de respuesta. Intra-query paralelismo consiste en procesar la misma consulta en diferentes particiones de las relaciones involucradas en la consulta.

14.5.5 La tolerancia a fallos



En las secciones anteriores, la atención se ha centrado en cómo lograr la consistencia, rendimiento y escalabilidad cuando el sistema no falla. En esta sección, se discute lo que sucede en la aparición de fallas. Hay varias cuestiones planteadas por los fracasos. El primero es cómo para mantener la coherencia a pesar de los fracasos. En segundo lugar, para las transacciones pendientes, hay es la cuestión de cómo realizar la conmutación por error. En tercer lugar, cuando una réplica no se reintroduce (después de la recuperación), o una réplica fresco se introduce en el sistema, el estado actual de la base de datos necesita ser recuperado. La principal preocupación es cómo hacer frente a los fracasos.
Sin foto
zxxzx
25-11-2022 22:46

dsfsdfsd

Nestor Munguia Hernandez
Nestor Munguia Hernandez
10-01-2013 10:58

Según dicho estudio, las corporaciones utilizan cada vez más los sistemas paralelos, con los que se consigue la rápida gestión de aplicaciones multimedia y la creación de bases de datos centrales para aplicaciones de análisis de datos y transaccionales. El procesamiento paralelo dispone de los elementos necesarios para revolucionar las aplicaciones multimedia y los sistemas de operaciones y de soporte de decisiones, ya que, con él, las peticiones que normalmente requieren horas para ser procesadas, pueden ser satisfechas en minutos...


Conéctate o Regístrate
Email:
Contraseña:
Mantener conexión
Registrarse
Últimos comentarios
Jaru
Jaru
"Esto me parece una buena idea ya que es una manera.."
15-01-2013 11:00
Jaru
Jaru
"En DB2 existen tres niveles de jerarquía: máquina,.."
15-01-2013 10:52
Jaru
Jaru
"Cuando hablamos de bases de datos nos imaginamos u.."
15-01-2013 10:33
ADRIANA
ADRIANA
"considero que en general esta materia nos fue de m.."
15-01-2013 10:31
ADRIANA
ADRIANA
"DB2 es una herramienta de base de datos muy buena .."
15-01-2013 10:30
Usuarios más activos
Nestor Munguia Hernandez
Nestor
 
10 Comentarios
ADRIANA
ADRIANA
 
10 Comentarios
alicia
alicia
 
4 Comentarios
Bere Mañon
Bere
 
4 Comentarios
diego
diego
 
3 Comentarios
2025 Topforo.com | Aviso legal | Uso de cookies | Hacer foros | Foros Ciencia y tecnología