Equipe de operações de banco de dados da OVHcloud construiu uma infraestrutura de banco de dados escalável e confiável

Equipe de operações de banco de dados da OVHcloud construiu uma infraestrutura de banco de dados escalável e confiável

A equipe de operações de banco de dados da OVHcloud transformou a maneira como gerencia e otimiza sua infraestrutura. Desde melhorar a observabilidade até dimensionar hardware e reduzir consultas lentas em 50%, ela construiu com sucesso um serviço de banco de dados escalável e confiável que atende às necessidades de suas equipes internas de produtos.

O Desafio: Uma demanda crescente por Bancos de Dados Escaláveis

A OVHcloud oferece uma vasta gama de serviços de nuvem, e as equipes internas de produtos que desenvolvem esses serviços dependem muito da infraestrutura fornecida pela equipe de operações de banco de dados. Com mais de 100 clusters de banco de dados em produção, a infraestrutura da OVHcloud é construída no Kubernetes, mas pode acomodar máquinas virtuais e servidores bare metal. O desafio, no entanto, está em manter o desempenho ideal em escala, especialmente à medida que o número de serviços e clientes cresce.

A infraestrutura: clusters de banco de dados resilientes e flexíveis

Os clusters de banco de dados que a OVHcloud executa hoje normalmente consistem em três nós. Um nó primário gerencia o tráfego de gravação, enquanto os outros lidam com solicitações somente leitura e backups. A arquitetura é compartilhada entre os bancos de dados PostgreSQL e MySQL, com cada nó projetado para descarregar cargas de trabalho especializadas. Essa configuração permite que as equipes de produtos operem sem ter que pensar em gerenciamento de banco de dados, pois a infraestrutura é dimensionada conforme necessário, suporta backups e equilibra a carga automaticamente.

Melhor observabilidade necessária

Conforme a demanda aumentou, a equipe de banco de dados começou a ter gargalos. As equipes de produtos frequentemente relatavam problemas de desempenho, mas diagnosticar esses problemas provou ser difícil devido à falta de observabilidade. Para resolver isso, a equipe de banco de dados implementou uma pilha de observabilidade, extraindo logs do PostgreSQL e MySQL para um cluster OpenSearch e centralizando as principais métricas em painéis do Grafana. Isso permitiu que a equipe rastreasse o desempenho em tempo real e respondesse mais rapidamente aos problemas.

Atualizando o hardware para aumentar o desempenho

A observabilidade aprimorada revelou que muitos dos problemas de desempenho eram decorrentes de hardware inadequado. A equipe do banco de dados escalou verticalmente, atualizando para CPUs mais rápidas, adicionando mais RAM, melhorando as velocidades de disco e aprimorando a taxa de transferência de rede em todos os seus nós. Essas atualizações foram essenciais para abordar a causa raiz de muitos dos gargalos de desempenho.

A otimização de consultas SQL reduz consultas lentas em 50%

Além das melhorias de hardware, a equipe de banco de dados adotou uma abordagem mais abrangente para a otimização da carga de trabalho. Inicialmente, a equipe observou mais de 2 milhões de consultas lentas por semana em um único banco de dados. Para lidar com isso, a equipe lançou uma iniciativa de otimização contínua de consultas, analisando logs semanalmente e identificando os bancos de dados responsáveis ​​pelo maior número de consultas lentas. Ao fornecer visibilidade sobre o desempenho de bancos de dados específicos e oferecer feedback automatizado aos desenvolvedores, a equipe conseguiu reduzir o número de consultas lentas de mais de dois milhões para menos de 1 milhão em mais de 1.000 bancos de dados.

SLOs: Estabelecendo expectativas claras

A jornada dos membros da equipe em direção à otimização não parou com melhor observabilidade e desempenho de consulta. Eles implementaram SLOs para seus serviços de banco de dados, definindo metas claras de desempenho e garantindo que os bancos de dados atendessem às necessidades das equipes de produtos que atendem. Essa abordagem orientada por SLO ajudou a equipe a manter um desempenho consistente, mesmo enquanto escala.

Melhoria Contínua: Olhando para o Futuro

Embora a equipe de banco de dados da OVHcloud tenha feito avanços significativos, ela continua buscando maneiras de melhorar. Uma iniciativa atualmente em andamento é o desenvolvimento de um modelo de serviço em camadas, oferecendo diferentes níveis de desempenho de banco de dados com base em quão críticas são as cargas de trabalho. À medida que a OVHcloud continua se expandindo, a equipe de banco de dados também está explorando maneiras de estender sua abordagem a outros tipos de bancos de dados, incluindo armazenamentos de chave-valor e colunares, para garantir que todos os serviços da equipe se beneficiem do mesmo nível de otimização.

Conteúdo Relacionado

O Rails 8 sempre foi um divisor de águas...
Na era do declínio do império dos Estados Unidos...
Os aplicativos da Web são uma pedra fundamental da...
O mundo da tecnologia tem estado agitado com discussões...
Os desenvolvedores Java enfrentam uma variedade de erros relacionados...
Com várias décadas de experiência, adoro criar aplicativos corporativos...
A escalabilidade é um fator crítico quando se trata...
Ao trabalhar em um projeto de código aberto no...
A Inteligência Artificial (IA) tem se tornado cada vez...
A maioria das organizações enfrenta desafios ao se adaptar...
Quando nós, desenvolvedores, encontramos alguns bugs em nossos logs,...
A cibersegurança é um tópico cada vez mais importante...
A experiência do desenvolvedor (DX) é um tópico cada...
Ao relatar estatísticas resumidas para resultados de testes de...
Explorando as Engrenagens do Kernel Semântico Falei um pouco...
Zurück zum Blog

Hinterlasse einen Kommentar

Bitte beachte, dass Kommentare vor der Veröffentlichung freigegeben werden müssen.