Banco de dados paralelo - Parallel database

Um sistema de banco de dados paralelo busca melhorar o desempenho por meio da paralelização de várias operações, como carregamento de dados, construção de índices e avaliação de consultas. Embora os dados possam ser armazenados de forma distribuída, a distribuição é governada exclusivamente por considerações de desempenho. Os bancos de dados paralelos melhoram as velocidades de processamento e entrada / saída usando várias CPUs e discos em paralelo. Os sistemas de banco de dados centralizados e cliente-servidor não são poderosos o suficiente para lidar com tais aplicativos. No processamento paralelo, muitas operações são realizadas simultaneamente, ao contrário do processamento serial, no qual as etapas computacionais são realizadas sequencialmente. Bancos de dados paralelos podem ser divididos em dois grupos, o primeiro grupo de arquitetura é a arquitetura de multiprocessador, cujas alternativas são as seguintes:

Arquitetura de memória compartilhada
Onde vários processadores compartilham o espaço da memória principal (RAM) , mas cada processador tem seu próprio disco (HDD). Se muitos processos forem executados simultaneamente, a velocidade será reduzida, da mesma forma que um computador quando muitas tarefas paralelas são executadas e o computador fica mais lento.
Arquitetura de disco compartilhado
Onde cada nó tem sua própria memória principal, mas todos os nós compartilham armazenamento em massa, geralmente uma rede de área de armazenamento . Na prática, cada nó geralmente também possui vários processadores.
Arquitetura de nada compartilhado
Onde cada nó tem seu próprio armazenamento em massa, bem como memória principal.

O outro grupo de arquitetura é chamado de arquitetura híbrida, que inclui:

  • NUMA (Non-Uniform Memory Architecture), que envolve o acesso não uniforme à memória .
  • Cluster (nada compartilhado + disco compartilhado: SAN / NAS), que é formado por um grupo de computadores conectados.

neste, switches ou hubs são usados ​​para conectar diferentes computadores da maneira mais barata e mais simples, apenas topologias simples são usadas para conectar computadores diferentes. muito mais inteligente se as opções forem implementadas.

Tipos de paralelismo

Paralelismo intraquery
Uma única consulta executada em paralelo usando vários processadores ou discos.
Paralelismo independente
Execução de cada operação individualmente em diferentes processadores apenas se eles puderem ser executados independentemente um do outro. Por exemplo, se precisarmos juntar quatro tabelas, então duas podem ser unidas em um processador e as outras duas podem ser unidas em outro processador. A junção final pode ser feita mais tarde.
Paralelismo Pipe-Lined
Execução de diferentes operações em forma de tubo. Por exemplo, se precisarmos juntar três tabelas, um processador pode juntar duas tabelas e enviar os registros do conjunto de resultados à medida que são produzidos para o outro processador. No outro processador, a terceira tabela pode ser associada aos registros de entrada e o resultado final pode ser produzido.
Paralelismo intraoperação
Execução de operações únicas complexas ou grandes em paralelo em vários processadores. Por exemplo, a cláusula ORDER BY de uma consulta que tenta executar em milhões de registros pode ser paralelizada em vários processadores.

Referências