• Marlene R.

O que é MPP Database?




Para entender data warehouse populares como o Amazon Redshift, primeiro você precisa entender sua arquitetura subjacente e os princípios básicos sobre os quais eles são construídos. O processamento paralelo maciço (ou MPP, para abreviar) é essa arquitetura subjacente. Neste guia, vamos mergulhar no que é um banco de dados MPP, como ele funciona e nos pontos fortes e fracos do processamento paralelo maciço. Se você tiver alguma dúvida, deixe-nos saber nos comentários!


Embora o armazenamento e a capacidade de computação tenham evoluído muito nas últimas décadas, a triste realidade é que eles não acompanharam as necessidades modernas de armazenamento e análise de dados. Os bancos de dados MPP resolvem esse problema alocando o poder de processamento necessário em vários nós diferentes para analisar grandes conjuntos de dados de maneira mais eficiente.


Big Data Analysis: A Human Example

Dimensione horizontalmente, não verticalmente

Para ver como uma arquitetura MPP torna o processamento de grandes conjuntos de dados mais eficaz, vamos nos afastar do mundo dos computadores por um minuto e ver como podemos resolver um problema semelhante com pessoas em vez de servidores. Suponhamos que você seja um pesquisador e que seu sonho de toda a vida seja contar o número total de palavras na Biblioteca do Congresso. Depois de se registrar pessoalmente em Washington, D.C. (tudo o que é necessário, surpreendentemente), você tem acesso e pega o primeiro livro que vê das prateleiras e começa a contar.


Neste exemplo, você representa um servidor que analisa os dados (a biblioteca do congresso) e processa a consulta (SOMA de palavras) e é fácil ver o problema com isso: de acordo com a Wikipedia, a Biblioteca do Congresso contém mais de 167 milhões itens exclusivos. Em uma velocidade de leitura normal, você levaria dezenas de milhares de anos para ler cada texto.


Reconhecendo isso, você tenta aumentar sua velocidade de leitura (escalando verticalmente). Você investe em aulas de leitura dinâmica e compra algumas ferramentas caras para ajudá-lo a abrir livros e folhear as páginas com mais rapidez. Isso permite que você dobre o número de palavras que pode contar em um minuto, mas mesmo com essa taxa aumentada, é evidente que você não completará sua tarefa até milhares de anos no futuro.


E se, em vez de investir no aumento de seu poder de processamento, você pedisse ajuda às 3.000 pessoas que a Biblioteca do Congresso emprega? Embora você só consiga ficar muito mais rápido na contagem de palavras, sua capacidade de escalar horizontalmente obtendo mais pessoas é quase ilimitada. O bibliotecário-chefe decide que este projeto seria uma ótima utilização do dinheiro do contribuinte e dedica cada funcionário a essa tarefa e coloca você no comando de todos.


Pense sobre esta situação por um minuto: O que faz mais sentido fazer? Como você organizaria todos para garantir resultados com rapidez, eficiência e precisão?


A coisa mais fácil a fazer provavelmente seria designar a cada pessoa o que parece ser uma parte quase igual da biblioteca para lidar, digamos ... todos ganham uma estante. Não será exatamente igual, mas será próximo o suficiente. Enquanto todos estão lendo os textos em suas prateleiras designadas e contando as palavras, você, como líder, está organizando tudo: você se certifica de que todos tenham uma prateleira designada, que eles recebam lanches e água e vão ao banheiro conforme necessário, e você encontre alguns trabalhadores temporários para preencher quando algumas pessoas ligarem dizendo que estão doentes.


Quando um funcionário termina de contar todas as palavras em sua estante, ele escreve o número em um post-it, vai até sua mesa e o entrega a você. Você então pega o número no post-it e adiciona-o à sua contagem contínua de palavras totais. Quando todos tiverem acabado com suas prateleiras, você terá sua contagem final!


Este é o processamento paralelo maciço em ação, apenas com humanos em vez de computadores. Dividir tarefas simples, mas grandes em vários baldes e processar esses baldes ao mesmo tempo será muito mais rápido do que uma pessoa trabalhando sozinha, não importa o quão habilidosa essa pessoa seja.


O que é um banco de dados MPP?

Simplificando, um banco de dados MPP é um tipo de banco de dados ou data warehouse onde os dados e o poder de processamento são divididos entre vários nós diferentes (servidores), com um nó líder e um ou mais nós de computação. No MPP, o líder (você) seria chamado de nó líder - você é quem diz a todas as outras pessoas o que fazer e classifica a contagem final. Os funcionários da biblioteca, seus ajudantes, seriam chamados de nós de computação - eles lidam com todos os dados, executando as consultas e contando as palavras. Os bancos de dados MPP podem ser dimensionados horizontalmente adicionando mais recursos de computação (nós), em vez de ter que se preocupar com a atualização para servidores individuais cada vez mais caros (dimensionamento vertical). Adicionar mais nós a um cluster permite que os dados e o processamento sejam espalhados por mais máquinas, o que significa que a consulta será concluída mais cedo.


Sem essa estrutura, executar até mesmo a mais simples das consultas em um grande conjunto de dados levaria um tempo proibitivamente longo.


Fonte by Flydata


#Datus #Database #DataWarehouse #BigData