Executando verificação de segurança...
3

Vamos entender esse artigo de forma bem simples, passo a passo. Vou usar comparações fáceis para te ajudar a visualizar como foi a atualização que o Uber fez no sistema de banco de dados deles.

O que é um banco de dados?

Um banco de dados é como um grande armário onde você guarda informações organizadas. Pense no Uber: ele precisa guardar dados como nomes de usuários, corridas realizadas, pagamentos, avaliações, e muito mais.

Agora, imagine que o armário que eles usavam (o MySQL 5.7) estava ficando velho e com algumas limitações. Era hora de trocar por um armário mais novo, mais rápido e com mais espaço (o MySQL 8.0).

Por que o Uber atualizou o banco de dados?

  1. Fim do suporte: O "armário antigo" (MySQL 5.7) não ia mais receber atualizações nem consertos, então seria arriscado continuar usando.
  2. Melhorias no novo armário (MySQL 8.0):
    • Mais rápido: Ele consegue atender mais usuários ao mesmo tempo.
    • Funcionalidades novas: Por exemplo, consegue organizar melhor dados em "gavetas" novas (funções como "funções de janela" e tratamento de dados JSON, que é como guardar arquivos organizados em envelopes).
    • Alterações rápidas: Conseguem mudar as prateleiras sem precisar desmontar todo o armário.

Como era a infraestrutura do Uber?

  • Tamanho gigante: O Uber tinha 2.100 armários (clusters de bancos de dados) espalhados por várias cidades (19 zonas).
  • Muitas gavetas: Mais de 16.000 prateleiras (nós).
  • Movimentação constante: Eles atendem 3 milhões de pedidos por segundo. Ou seja, precisa ser um sistema muito ágil e estável.

Agora, atualizar um sistema assim grande não é como trocar um armário em casa. Eles precisavam de um plano para trocar o velho pelo novo sem causar "bagunça".

Como foi a atualização?

Eles fizeram a transição devagar, sem parar o serviço. Aqui está o plano:

  1. Instalar o armário novo ao lado do velho:

    • Eles colocaram os bancos de dados MySQL 8.0 ao lado dos MySQL 5.7 e deixaram os dois funcionando juntos por um tempo.
  2. Testar o armário novo:

    • Antes de "transferir as gavetas", eles testaram o MySQL 8.0 para ver se ele aguentava o trabalho.
    • Se algo desse errado, eles poderiam voltar a usar o MySQL 5.7.
  3. Transferir as gavetas:

    • Depois de garantir que o novo sistema estava funcionando bem, transferiram os dados do MySQL 5.7 para o 8.0.
  4. Remover o armário velho:

    • Por fim, eles desligaram o MySQL 5.7.

Quais problemas apareceram?

Mesmo com planejamento, alguns desafios surgiram:

  1. Mudança na organização das gavetas:

    • Algumas gavetas (consultas) ficaram mais lentas porque o novo armário organiza as coisas de forma diferente. Eles resolveram ajustando o software.
  2. Palavras diferentes:

    • O MySQL 8.0 "fala" de forma um pouco diferente. Algumas instruções que funcionavam no MySQL 5.7 não funcionavam no 8.0.
  3. Formato de letras:

    • O MySQL 8.0 usa um "alfabeto" diferente (collation padrão). Isso causou erros com dados que tinham caracteres especiais.
  4. Ferramentas antigas:

    • Alguns "acessórios" que eles usavam para interagir com o banco de dados eram incompatíveis e precisaram ser atualizados.

Valeu a pena?

Sim! Mesmo com os desafios, os resultados foram ótimos:

  1. Mais rápido:

    • Inserir dados ficou 29% mais rápido.
    • Ler dados ficou 33% mais rápido.
    • Atualizar dados ficou 47% mais rápido.
  2. Menos filas e atrasos:

    • As "travas" que seguravam o banco de dados foram reduzidas em 94%.
  3. Economia:

    • Com um banco de dados mais eficiente, o Uber pode usar menos computadores e ainda assim atender o mesmo número de pessoas.

Por que não usar a versão mais nova (8.4)?

O Uber não usou o MySQL 8.4 porque:

  • Foi lançado apenas em 2024, e a atualização começou em 2023.
  • Eles preferiram algo já testado e confiável (8.0), em vez de arriscar usar algo tão novo.
Carregando publicação patrocinada...
1

Cara, muito obrigado por teres feito escrito essa explicaçao, não só é útil para o cara que disse não entender mas para outros como também.

E ainda estou com uma dúvida, as pessoas tendem a não confiar muito MySql(não sei o motivo) mas a Uber que é uma empresa gigante usa sem nenhum problema e tem atendido um grande número de requisões(3 milhoes/s) qual MySql eles usam? o MySql pago ou o MariaDB que é gratuito?