Un sistema de base de datos paralela busca mejorar el rendimiento mediante la paralelización de varias operaciones, como la carga de datos, la creación de índices y la evaluación de consultas. [1] Aunque los datos se pueden almacenar de forma distribuida, la distribución se rige únicamente por consideraciones de rendimiento. Las bases de datos paralelas mejoran la velocidad de procesamiento y de entrada/salida mediante el uso de múltiples CPU y discos en paralelo. Los sistemas de bases de datos centralizados y cliente-servidor no son lo suficientemente potentes para manejar tales aplicaciones. En el procesamiento paralelo, muchas operaciones se realizan simultáneamente, a diferencia del procesamiento en serie, en el que los pasos computacionales se realizan secuencialmente. Las bases de datos paralelas se pueden dividir a grandes rasgos en dos grupos, el primer grupo de arquitectura es la arquitectura multiprocesador, cuyas alternativas son las siguientes:
- Arquitectura de memoria compartida
- Donde varios procesadores comparten el espacio de memoria principal (RAM) pero cada procesador tiene su propio disco (HDD). Si se ejecutan muchos procesos simultáneamente, la velocidad se reduce, lo mismo que ocurre con una computadora cuando se ejecutan muchas tareas en paralelo y la computadora se vuelve más lenta.
- Arquitectura de disco compartido
- Donde cada nodo tiene su propia memoria principal, pero todos los nodos comparten un almacenamiento masivo, normalmente una red de área de almacenamiento . En la práctica, cada nodo suele tener también varios procesadores.
- Arquitectura sin nada compartido
- Donde cada nodo tiene su propio almacenamiento masivo así como memoria principal.
El otro grupo de arquitectura se denomina arquitectura híbrida, que incluye:
- Arquitectura de memoria no uniforme (NUMA), que implica el acceso a la memoria no uniforme .
- Clúster (nada compartido + disco compartido: SAN/NAS), que está formado por un grupo de ordenadores conectados.
En este caso, se utilizan conmutadores o concentradores para conectar diferentes computadoras; su forma más barata y sencilla es utilizar solo topologías simples para conectar diferentes computadoras. Es mucho más inteligente si se implementan conmutadores .
Tipos de paralelismo
- Paralelismo intraconsulta
- Una única consulta que se ejecuta en paralelo utilizando múltiples procesadores o discos. [2]
- Paralelismo independiente
- Ejecución de cada operación individualmente en diferentes procesadores solo si se pueden ejecutar independientemente una de otra. Por ejemplo, si necesitamos unir cuatro tablas, entonces dos se pueden unir en un procesador y las otras dos en otro procesador. La unión final se puede realizar más tarde.
- Paralelismo en línea de tuberías
- Ejecución de diferentes operaciones de forma segmentada. Por ejemplo, si necesitamos unir tres tablas, un procesador puede unir dos tablas y enviar los registros del conjunto de resultados a medida que se producen al otro procesador. En el otro procesador, se puede unir la tercera tabla con los registros entrantes y se puede producir el resultado final.
- Paralelismo intraoperativo
- Ejecución de operaciones complejas o grandes en paralelo en varios procesadores. Por ejemplo, la cláusula ORDER BY de una consulta que intenta ejecutarse en millones de registros se puede paralelizar en varios procesadores.
Referencias
- ^ Dewitt, David ; Gray, Jim (1992). "Sistemas de bases de datos paralelas: El futuro de los sistemas de bases de datos de alto rendimiento" (PDF) . Comunicaciones de la ACM . 35 (6): 85. CiteSeerX 10.1.1.119.8427 . doi :10.1145/129888.129894.
- ^ Kandasamy, Saravanakumar. "Base de datos paralela - Paralelismo intraconsulta - Sistema avanzado de gestión de bases de datos". Blogger . Consultado el 10 de septiembre de 2017 .