Processador Massivamente Paralelo e Multiprocessador Simétrico são formas concorrentes de bancos de dados. Servidores chamados nós armazenam os dados em bancos de dados MPP e SMP. Os bancos de dados MPP são escaláveis, enquanto os sistemas SMP são mais simples de manter.
Bancos de dados MPP
As pesquisas de banco de dados MPP são realizadas por cada processador nos computadores onde os segmentos do banco de dados são armazenados. Os bancos de dados MPP podem ser expandidos adicionando novas CPUs. Os bancos de dados MPP são uma forma de banco de dados linear escalável ou banco de dados paralelo. A distribuição de dados por mais sistemas em fatias mais finas resulta em pesquisas de banco de dados mais rápidas. O desempenho de um sistema MPP é linear, aumentando aproximadamente proporcionalmente ao número de nós. Os nós MPP são gerenciados como um único computador. SQL originou-se como um meio de processamento de dados em bancos de dados MPP. Os softwares Cognos Business Intelligence e Teradata são executados em bancos de dados MPP.
Bancos de dados SMP
Os bancos de dados SMP compartilham software, recursos de entrada/saída e discos de memória. Bancos de dados multiprocessadores simétricos geralmente usam uma CPU para realizar pesquisas de banco de dados. Embora os Multiprocessadores Simétricos possam ter centenas de CPUs, eles são mais comumente configurados com 2, 4, 8 ou 16. A memória é a principal restrição nos bancos de dados SMP. Os bancos de dados SMP podem ser executados em mais de um servidor, embora compartilhem outros recursos; isso é conhecido como configuração em cluster. Os bancos de dados SMP atribuem tarefas a uma única CPU, independentemente de quantas estejam no banco de dados. Os bancos de dados SMP têm menor tolerância a falhas e eficiência devido à dependência de recursos compartilhados. Os bancos de dados SMP têm custos administrativos mais baixos do que o MPP. Oracle e Sybase são executados em bancos de dados SMP.
Bancos de dados MPP vs SMP
Um banco de dados MPP envia a mesma consulta para cada CPU no MPP onde pesquisa os dados. Quando dois bancos de dados MPP estiverem conectados, o tempo de pesquisa será quase metade do tempo de um banco de dados SMP de tamanho semelhante. O tempo de busca não é exatamente a metade, pois há atrasos à medida que os dados trafegam entre os nós MPP. Processadores de alta velocidade usados em um banco de dados SMP podem ser competitivos em termos de custo com os sistemas MPP.
Usos
Quando uma empresa executa sua folha de pagamento, registra entradas de cartão de horas de trabalho ou salva dados de produtos em um banco de dados de desenho em um único servidor, está usando um banco de dados SMP. Os bancos de dados SMP são usados para hospedar pequenos sites e servidores de e-mail. Os bancos de dados MPP são comumente usados para armazenamento de dados. Os bancos de dados MPP também são usados para processamento de dados em larga escala e mineração de dados.