← Últimos artigos
💻 ciência da computação

A Comparative Performance Evaluation of SQL and NoSQL Databases Under Different Indexing and Cache Conditions

Este estudo compara o desempenho do MySQL 8.0.46 e do MongoDB 8.0.32 através de diversos tamanhos de conjuntos de dados, estratégias de indexação e condições de cache, revelando que o MongoDB se destaca em gravações em massa enquanto ambos os sistemas beneficiam significativamente da indexação para buscas, demonstrando, em última análise, que o desempenho do banco de dados é altamente dependente do contexto, em vez de ser universalmente superior para qualquer um dos modelos.

Autores originais: Amir Khan, Sawaira Gull, Arooj Shahzadi

Publicado 2026-11-13✓ Author reviewed ⓘ
📖 6 min de leitura🧠 Leitura aprofundada

Autores originais: Amir Khan, Sawaira Gull, Arooj Shahzadi

Artigo original sob licença CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). ✨ Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

No mundo digital, quase toda ação deixa um rastro. Uma compra, um login, uma mensagem enviada — cada evento é armazenado em um banco de dados, um vasto arquivo eletrônico que guarda a memória da vida moderna. Para manter esses sistemas funcionando perfeitamente, os engenheiros devem escolher entre dois tipos principais de sistemas de arquivamento. Um tipo, conhecido como relacional, organiza os dados em tabelas rígidas com linhas e colunas estritas, muito parecido com uma planilha tradicional. O outro, chamado NoSQL, armazena informações como documentos flexíveis e autossuficientes que podem variar em forma e tamanho. Durante anos, um debate fermentou sobre qual sistema é mais rápido ou melhor. A resposta, no entanto, raramente é simples, porque a velocidade depende inteiramente do que você está pedindo ao sistema para fazer e de quanto dado ele deve pesquisar.

Um estudo recente propôs-se a resolver esta questão não com teoria, mas com um experimento controlado. Os pesquisadores Amir Khan, Sawaira Gull e Arooj Shahzadi construíram um campo de testes em um único computador para ver como dois sistemas populares, MySQL e MongoDB, se comportavam sob condições idênticas. Eles não apenas perguntaram qual era mais rápido; eles perguntaram como a velocidade mudava quando a quantidade de dados crescia de uma pequena pilha para uma montanha massiva, e como o uso de índices — atalhos especializados que ajudam o sistema a encontrar informações rapidamente — alterava os resultados. Eles testaram três tarefas específicas: despejar uma grande quantidade de novos dados no sistema, encontrar um único registro baseado em um nome específico e agrupar muitos registros para calcular um total.

Os pesquisadores começaram gerando registros de transações sintéticas, criando três conjuntos de dados separados contendo dez mil, cem mil e um milhão de entradas. Eles carregaram esses registros em ambos os sistemas de banco de dados e mediram quanto tempo levava para completar cada tarefa. No primeiro teste, que envolvia escrever todos os dados no sistema de uma só vez, o sistema baseado em documentos, o MongoDB, provou ser consistentemente mais rápido. Ao lidar com um milhão de registros, ele concluiu a tarefa em aproximadamente doze e meia segundos, enquanto o sistema relacional, o MySQL, levou quase trinta segundos. Essa diferença manteve-se verdadeira independentemente de o conjunto de dados ser pequeno ou grande, sugerindo que, para a ingestão pura de dados, a abordagem baseada em documentos tinha uma vantagem clara nesta configuração específica.

O segundo teste focou em encontrar um único registro, semelhante a procurar um cliente específico pelo seu número de ID. Aqui, os pesquisadores mediram o tempo necessário para encontrar um registro tanto sem ajuda quanto com o auxílio de um índice. Sem um índice, o sistema tinha que percorrer cada um dos registros para encontrar a correspondência. À medida que os dados cresciam para um milhão de entradas, essa busca tornava-se dolorosamente lenta, levando mais de meio segundo em ambos os sistemas. No entanto, assim que os pesquisadores adicionaram um índice de campo único — uma lista simples que aponta diretamente para a localização de cada ID — os resultados mudaram dramaticamente. O tempo para encontrar o registro despencou para pouco mais de um milissegundo para ambos os sistemas. Essa redução, que excedeu noventa e nove por cento, mostrou que, para buscas simples, o tipo de banco de dados importava muito menos do que a presença de um bom mapa para guiar a busca.

O terceiro teste era mais complexo, envolvendo uma agregação filtrada. Os pesquisadores pediram ao sistema para encontrar todas as transações em uma categoria específica, agrupá-las por seu status e somar os valores totais. Esta tarefa é mais difícil porque exige não apenas encontrar dados, mas também ordená-los e calculá-los. Neste cenário, os resultados foram menos uniformes. Para os conjuntos de dados menores, o sistema relacional era por vezes mais rápido, mas à medida que os dados cresciam para um milhão de registros, o sistema baseado em documentos assumia a liderança significativamente. O sistema de documentos concluiu a tarefa em cerca de trezentos milissegundos, enquanto o sistema relacional levou mais de um segundo.

Talvez a descoberta mais surpreendente tenha surgido durante este terceiro teste com o maior conjunto de dados. Quando os pesquisadores usaram um índice no campo de categoria para acelerar o sistema relacional, a tarefa tornou-se, na verdade, mais lenta do que quando não havia índice algum. O sistema levou mais de um segundo com o índice, comparado a aproximadamente setecentos milissegundos sem ele. Este resultado contraintuitivo não foi um erro; os pesquisadores repetiram o teste de forma independente e confirmaram que o índice estava, de fato, causando um atraso nesta configuração específica. Parece que, para este tipo particular de cálculo complexo, o custo operacional (overhead) de usar o índice superou seus benefícios, uma nuance que uma conclusão simples de "um é mais rápido que o outro" deixaria passar.

O estudo também examinou como os sistemas se comportavam quando já estavam "quentes" (warm), o que significa que haviam processado solicitações semelhantes recentemente e tinham dados prontos em sua memória. Nestas condições, ambos os sistemas tornaram-se mais rápidos, mas o grau de melhoria variou. O sistema de documentos teve um aumento significativo em sua velocidade de agregação quando quente, enquanto o sistema relacional mostrou um ganho mais modesto. Estas descobertas reforçam que o desempenho não é uma propriedade fixa do próprio software, mas um resultado fluido da interação entre o tamanho dos dados, o tipo de consulta, a presença de índices e o estado atual da memória do sistema.

Em última análise, a pesquisa conclui que não há um vencedor universal. A escolha entre estes dois modelos de banco de dados não pode ser feita com base num único teste de velocidade. Se o objetivo é ingerir rapidamente quantidades massivas de novos dados, o sistema baseado em documentos mostrou uma vantagem distinta. Se o objetivo é recuperar um único registro, ambos os sistemas desempenham igualmente bem, desde que haja um índice adequado em vigor. No entanto, para cálculos complexos envolvendo grandes volumes de dados, o desempenho pode oscilar dependendo de como os dados são estruturados e indexados. O estudo serve como um lembrete de que, no mundo dos dados, a ferramenta certa depende inteiramente do trabalho específico a ser realizado, e que o caminho mais eficiente é frequentemente encontrado não ao escolher uma marca, mas ao compreender a forma única do trabalho a ser feito.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →