Este é um post disponível para assinantes MVPProcessamento Paralelo de instruções SQL - Revista SQL Magazine 91
O artigo aborda como utilizar técnicas de programação paralela para executar instruções SQL como INSERT, SELECT, UPDATE e DELETE mais rapidamente no SQL Server. São apresentadas técnicas, testes e comentários sobre o uso de paralelismo em banco
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da SQL Magazine 91
O principal componente de um computador moderno é o microprocessador. Este componente vem recebendo cada vez mais tecnologias inovadoras para atender as demandas de processamento da maioria das aplicações independente de área de especialização, dispositivos ou ambientes. Uma das principais tecnologias que vem sendo aprimorada, junto com o aumento do clock do microprocessador, envolve o emprego de múltiplos núcleos. De fato, a maioria dos fabricantes de microprocessadores atualmente investe mais na capacidade de multiprocessamento através de diversos núcleos (cores) do que no aumento da quantidade de instruções que podem ser executadas a cada ciclo do microprocessador. Este investimento é observado nos microprocessadores equipados tanto em computadores desktop e servidores como em dispositivos móveis (smartphones e tablets) que já estão recebendo microprocessadores com múltiplos núcleos.
Contudo, infelizmente o desenvolvimento atual de software não consegue acompanhar o crescimento tecnológico proporcionado pelas arquiteturas de múltiplos núcleos. Isso implica que em quase todas as aplicações o uso do microprocessador é subutilizado, pois os desenvolvedores não utilizam as técnicas corretas para obter o máximo desempenho do microprocessador. Uma das maneiras de se explorar a maior utilização dos microprocessadores de múltiplos núcleos é o emprego de técnicas de programação paralela. Com base neste contexto, este artigo apresentará como é possível aplicar algumas das técnicas de processamento paralelo junto com banco de dados, uma área que, infelizmente, possui poucos recursos para a exploração de tais técnicas.
Neste contexto, este artigo apresentará como obter ganhos de desempenho significativos quando se utiliza técnicas de paralelismo em instruções SQL como SELECT, INSERT, UPDATE e DELETE através de diversos testes e análises dos tempos de execução. O artigo abordará aspectos da programação de instruções paralelas no SQL Server e pode ser utilizado como base para implementar as ideias aqui apresentadas em outros contextos, instruções, bancos de dados e conjunto de operações.
Processamento paralelo
O processamento paralelo geralmente é visto como uma área à parte da programação e que, infelizmente, não é ensinada e disseminada entre a maioria dos desenvolvedores. Apesar da sua extrema importância não apenas para aplicações científicas de alto desempenho, identificadas pela sigla HPC (High Performance Computing) – veja a Nota DevMan 1, são raros os exemplos de aplicações comerciais onde é possível encontrar soluções que exploram técnicas de processamento paralelo para otimização e ganho de desempenho.
No contexto de banco de dados é raro encontrar o uso adequado de algumas das principais técnicas de processamento paralelo. Um dos motivos para esta ausência está ligado às origens da área: o armazenamento e o gerenciamento de dados e não a execução de grandes quantidades de operações que se beneficiariam de um processamento otimizado. Contudo, cada vez mais os bancos de dados são responsáveis por realizar muitas operações nos dados, principalmente devido à execução simultânea de múltiplas instruções SQL realizadas por diversos usuários diferentes. A propósito, um dos principais testes de desempenho de bancos de dados, popularmente conhecido como TPC (Transaction Processing Performance Council – Nota DevMan 2), foca na capacidade dos bancos de dados em executar transações de forma concorrente e não em métricas específicas para a medição de capacidade de processamento, como Flops (veja a Nota DevMan 3).
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVP
Space do autor


0
0
