Vistas de página en total

lunes, 5 de septiembre de 2011

Bases de Datos Paralelas

Bases de Datos Paralelas

¿Por qué tener bases de datos paralelas?
·         Tipos de arquitecturas:
·         Memoria Compartida
·         Disco Compartido
·         Sin Compartimento
·         Jerárquica

Paralelismo de I/O
División de las relaciones en varios discos (particiones)
Aumento de la velocidad en el acceso a los datos
Técnicas de división
Asegura distribución homogénea
División por Asociación: Definir una función
División por Rangos: Dado un atributo partirlo en rangos y cada rango se almacena en un disco.


Sesgo
La división entre los discos no es equitativa

Clasificación:
-          Sesgo de valores de los atributos: Un determinado valor para un atributo es más frecuente que otro.
-          Sesgo de la división: Desequilibrio en la carga de la distribución aunque no haya sesgo en los atributos. La operación más larga en paralelo es la que determina el tiempo total de la operación


Paralelismo entre Consultas
Varias transacciones al tiempo
El tiempo de una transacción es el mismo pero se incrementa la productividad (throughput)

Consideraciones de implementación:
Coherencia del cache y evitar que dos procesadores modifiquen al tiempo un mismo dato (Protocolos de Bloqueo).

Paralelismo en Consultas
Los conjuntos son parte constitutiva de las bases de datos y por tanto son susceptibles a ser paralelizables. Se pueden hacer en paralelo cada uno de los nodos del árbol de operaciones y Puede presentare paralelismo en o entre operaciones


Paralelismo en Operaciones

Ordenamiento: Realizar una partición de los datos para cada procesador (depende del esquema de particionamiento utilizado). Hacer merge de cada una de las partes ordenadas

Reunión:
Por división: Solo para equireuniones y los atributos de reunión deben ser los mismos del particionamiento. Las dos relaciones deben particionarse con la misma función o rango. Cada procesador se encarga de seleccionar las tuplas que concuerdan

Reunión con fragmentos y replicas: Para reuniones con condiciones de desigualdad Se parte una de las relaciones y se replica la otra en cada procesador. La relación pequeña suele replicarse. En general, se pueden dividir ambas relaciones y construir una “matriz de procesadores”

Paralelismo en otras Operaciones
Selección: Si la condición es una condición de particionamiento, cada procesador puede seleccionar algunas tuplas y luego reunirlas.

-          Eliminación de duplicados: Utilizar un ordenamiento paralelo y luego realizar la eliminación

-          Agregación: Calcular resultados parciales y luego calcular el resultado total

Paralelismo entre operaciones
Paralelismo de encauzamiento: Una operación consume el resultado de otra
No siempre es útil pues una operación puede requerir la totalidad de las tuplas y no bastarle resultados parciales. No siempre las operaciones son tan largas para esperar

Paralelismo Independiente:
Cada operación se realiza por separado y luego otra operación las reúne

-          Tiempo de ejecución en Paralelo
-          Problemas del Paralelismo
-          Sesgo
-          Cuello de botella en los recursos
-          Costo de reunión y de inicio
-          Tiempo de ejecución

Ventajas
-       Mejoramiento del Throughput y la velocidad de procesamiento “Visualización” del cluster como si fuera una ´única maquina
-       Escalabilidad: Adición de nuevos nodos para mejorar el desempeño
-       Alta disponibilidad: Rápida recuperación ante fallos y redistribución de la carga para seguir funcionando
-       Transparencia: Las aplicaciones “ve” el OPS como una ´única instancia de base de datos
-       Manejo del Buffer de Cache: Control del cache de cada uno de los nodos sin perder las ventajas de los mismos
-       Escrituras diferidas: Solo escribe cuando:
Los bloques en memoria ppal no se han utilizado frecuentemente o se termina el espacio
Durante los puntos de chequeo
Cuando otra instancia necesita dichos bloques
Control multiversión de los datos por registro

Arquitecturas de Hardware Paralelas
-       Nodo: Equipo de cómputo con CPU, memoria, almacenamiento e intercomunicación.
-       Uniform Menor Access: Todos los procesadores acceden a la memoria a la misma velocidad. (Symmetric Multi-Processing System)
-       Non-Uniform Memory Access: El acceso a memoria tiene un costo dependiendo del nodo


Acceso a Disco en Clusters
-       Uniform Disk Access: o Acceso a disco compartido, el costo de acceso es igual para todos los nodos (granjas de discos)
Los datos son compartidos y están disponibles así un nodo falle
Pueden crecer fácilmente
Non-Uniform Disk Access: El costo de los accesos varía entre los nodos
Los requerimientos de lectura pasan por una capa de software que se encarga del control
Conocidos como sin-compartimento y una ventaja es el número de nodos no está limitado

Tendencia
La tendencia es disminuir el número de nodos del cluster, cada nodo con un potente sistema SMP y el acceso a disco compartido

Cluster Manager
-          Control de los miembros del cluster
-          Visión global del cluster
-          Provisto por otros proveedores
-          Detecta fallas en los nodos y termina todos los procesos asociados al mismo (lo marca como inactivo)

Node Monitor
-          Informa el estado de los recursos de un nodo
-          Informa al Oracle Server cuando se inician y apagan instancias de Oracle
-          Detecta cambios en el estado de los nodos


Escalabilidad del OPS
Aumento de la velocidad distribuyendo los procesos en los diferentes nodos
Más procesos por unidad de tiempo (throughput) y aumentar y disminuir el número de instancias de acuerdo al número de usuarios concurrentes sobre el sistema

Medidas de la Eficiencia
Scale-Up: Cuanto trabajo puede ser hecho en el mismo tiempo por un sistema más potente Scale − Up = Vol Paralelo/Vol Original

Speed-up: El sistema puede realizar la tarea en menos tiempo

Aplicaciones apropiadas para el OPS
-          Data Warehousing: Muchas consultas concurrentes y los bloques pueden residir en los buffers
-          Departmentalized Application: Cada nodo puede tomar a cargo un departamento de la compañía (importante que las tablas a actualizar no sean comunes)

Niveles de Escalabilidad
-          Escalabilidad de HW y RED: La interconexión entre los nodos es de vital importancia (latencia en el B.W. Y en el I/O)
-          Escalabilidad del S.O: Manejo de la memoria compartida, sincronización y acceso a los recursos
-          Escalabilidad del DBMS: El motor paraleliza las consultas o un agente externo

No hay comentarios:

Publicar un comentario