O impacto da performance do seu banco de dados no seu negócio.

Antônio Inocêncio
NAZAR
Published in
6 min readMay 19, 2023

Neste artigo, falo sobre como a performance do seu banco de dados pode impactar diretamente no seu negócio, os principais custos relacionados a performance e porque monitorar a camada do banco de dados é a melhor opção para economizar nesses custos.

80% dos problemas de desempenho são causados por aplicações de banco de dados codificadas incorretamente (bad SQL code). — Craig S Mullins, Database & Procedures

Em primeiro lugar, gostaria de apresentar alguns dados interessantes de uma pesquisa intitulada “O desempenho da sua aplicação começa com a análise do desempenho do banco de dados”, realizada por uma empresa de pesquisa chamada Gleanster:

  • 71% dos entrevistados indicaram que suas ferramentas atuais de gerenciamento de performance de aplicações fornecem “pistas”, mas raramente identificam a raiz dos problemas;
  • 88% apontaram o banco de dados como o problema mais comum e desafiador em termos de performance;
  • 90% das ferramentas de APM (Application Performance Management) no mercado focam exclusivamente na camada de aplicação;
  • Em 76% dos casos, ainda é necessário trabalho manual para identificar a causa raiz do problema.

De acordo com essa pesquisa, existe uma subcategoria de APM chamada ADPM (Application/Database Performance Management), e o Nazar I/O foi desenvolvido com base nessa lógica: bancos de dados são o ingrediente secreto quando se trata do desempenho das aplicações.

Com base nisso, é fácil comprovar que investir em ADPM traz retorno não apenas financeiro, mas também na eficiência da operação do seu negócio, na produtividade da equipe e na otimização da infraestrutura, de acordo com a lista abaixo:

1. Custos de Infraestrutura

Nossos clientes economizam em média 40% nos gastos com infraestrutura de banco de dados. Em alguns casos, essa economia já chegou a 90%.

“Contratamos os serviços da NAZAR visando melhorar o desempenho do nosso banco de dados. Ficamos satisfeitos com o resultado, conseguindo uma redução drástica na carga, o que possibilitou reduzir 40% dos custos de infraestrutura da AWS.” — Reginaldo Stocco, CEO da VHSYS

Isso ocorre porque é uma prática comum das equipes de TI resolver problemas de desempenho contratando mais poder de processamento. Chamamos isso de “jogar máquina no problema”. Essa medida pode mascarar o problema, que, no futuro, voltará à tona. Na maioria dos casos, a causa raiz do problema não foi identificada, muito menos resolvida.

Por causa disso, as empresas usam recursos com capacidade além do que realmente precisam, o que significa mais custos. Com um monitoramento contínuo e otimizações frequentes, você pode reduzir a necessidade de poder de processamento sem comprometer o desempenho do seu aplicativo.

2. Desempenho da Equipe

Existem algumas pesquisas que mostram que os desenvolvedores gastam muito tempo lutando contra problemas (debugging, profiling, tuning) ao invés de estarem construindo soluções. Como, praticamente, toda empresa é, agora, uma espécie de empresa de software, os times de tecnologia estão no centro de qualquer corporação, portanto, facilitar o seu trabalho beneficiará todo o negócio.

“Nazar é um parceiro importante, nosso ambiente é altamente crítico e se tratando de mercado financeiro, com pouca margem para erro e baixo desempenho. Algumas vezes, o time da Nazar nos ajudou a reduzir operações preventivas e/ou corretivas que em Sandbox duravam horas, para minutos. Dominam banco de dados como poucos nesse mercado.” — Matheus Rossato, CTO da Swap Financial

Métricas como uso de CPU, uso de memória, IOPs são consideradas sintomas dos problemas de desempenho. Com base em nossa própria metodologia de monitoramento, você não precisa monitorar essas métricas para identificar a causa raiz dos problemas de desempenho. Ao monitorar apenas os comandos executados no servidor do banco de dados, você poderá identificar o que está realmente causando o problema de desempenho e a equipe de TI saberá exatamente onde agir para corrigir o problema.

Lembre-se de que é quase 10x mais barato corrigir um bug durante a fase de teste do QA do que se for encontrado em produção.

3. Desempenho da Aplicação

Hoje em dia, performance é considerada uma funcionalidade do seu produto/serviço pelos usuários. O baixo desempenho do seu aplicativo pode comprometer toda a operação e causar perdas financeiras significativas.

“Nosso convite à NAZAR aconteceu dentro do contexto de um ecossistema de gestão de infraestrutura para evoluir e monitorar nossa arquitetura em conjunto com outros parceiros. Estamos muito satisfeitos com os resultados alcançados, com nossa plataforma Blitzar escalando de forma inteligente para atender milhões de transações com picos de uso simultâneos, característicos do nosso negócio de eventos e interatividade.” — Danton Vellenich, CTO da Blitzar

Temos vários clientes no setor de comércio eletrônico, e você pode imaginar o quão crítico é para eles a experiência de seus usuários finais ao navegar em sua plataforma. Qualquer lentidão pode fazer com que o usuário pare de navegar no site (perda de transações) e, pior ainda, vá para o site de um concorrente que trata a performance como prioridade e converta aquele cliente.

4. Indisponibilidade

A indisponibilidade pode custar muito ao seu negócio. Novamente, em um site de comércio eletrônico, por exemplo, qualquer lentidão no site pode levar ao abandono do mesmo pelo usuário, o que é muito comum em datas comemorativas como a “Black Friday”. E se o seu aplicativo ficar indisponível?

“As empresas Fortune 1000 gastam entre $1.25 bilhões e $2.5 bilhões todos os anos em custos anuais de tempo de inatividade não planejado de aplicações.” — DevOps.com

O monitoramento proativo ajuda você a identificar problemas antes que eles se intensifiquem e se tornem mais críticos para sua operação. As equipes de TI precisam ter a capacidade e as ferramentas para identificar, rapidamente, problemas e tomar medidas corretivas antes que seja tarde demais.

Um de nossos clientes, que realiza mais de R$1 bilhão anualmente em vendas de passagens de ônibus por meio de sua plataforma, enfrentou, no passado, problemas de desempenho que tiraram sua aplicação do ar durante os horários de pico de acessos à plataforma. Depois de começar a monitorar seu banco de dados, pudemos identificar, rapidamente, o que estava causando o problema e corrigi-lo. Portanto, o custo do tempo de inatividade pode ser o custo mais crítico que você deve considerar, pois pode comprometer toda a operação do seu negócio.

“Conhecemos a Nazar através da indicação da AWS para apoiar um cliente que enfrentava oscilação em seu ambiente de banco de dados. Após a rápida solução e identificação da causa raiz, desde então, iniciamos uma parceria para nossos ambientes de banco, onde contamos com o suporte contínuo. Sempre que são acionados, a Nazar resolve o problema.” — Alexandre Jacob, Sócio da RJ Consultores

5. Prevenção de Problemas de Performance

Este não é exatamente um custo, mas uma dica sobre como evitar custos relacionados ao desempenho. A velocidade na identificação e correção de um problema de desempenho tem um impacto significativo no tempo e no dinheiro. Como mencionado anteriormente, estima-se que um problema identificado na fase de testes custa 10x menos do que se for identificado na fase de produção.

Por isso, é importante ter uma solução ADPM que ofereça um monitoramento contínuo sem comprometer o próprio desempenho. A familiaridade que a equipe tem com o ambiente, como resultado do monitoramento contínuo, permite uma identificação mais rápida dos problemas e soluções mais eficientes.

“Por 2 meses, enfrentamos um problema de picos de uso de CPU. Três mil cupons estavam sendo emitidos por segundo. Ao usar o Nazar, em poucas horas conseguimos identificar a consulta problemática e finalmente corrigir o problema. A ferramenta simplesmente nos ajuda a identificar as consultas críticas que precisam ser otimizadas.” — Lionardo Nogueira, CTO na Cuponeria

Investir na prevenção de problemas de desempenho é importante porque você está pagando pela tranquilidade para você e seus clientes no futuro.

“Falar sobre a Nazar é pensar em assertividade e rapidez nos diagnósticos de problemas complexos que envolvem a camada de banco de dados Oracle. Equipe extremamente capacitada e engajada com o propósito da disponibilidade e performance da nossa aplicação. Eles utilizam um framework de monitoramento assertivo e completo, englobando na plenitude o ciclo de funcionamento do banco de dados Oracle. O formato de trabalho está funcionando bem para a nossa especificidade de negócio, que demanda mais atenção e energia em períodos de feriados e datas comemorativas, onde a quantidade de viajantes aumenta consideravelmente.” — César Augusto da S. Chiachio, Gerente de Infra e Serviços de TI Grupo Águia Branca

Conclusão

É comum dizer que todo negócio é/ou depende de software hoje em dia (“O software está devorando o mundo”, já dizia Marc Andreessen) e é por isso que confiabilidade e performance das aplicações se tornaram fatores críticos para todas as empresas.

Como a maioria das ferramentas de APM (Application Performance Management) disponíveis no mercado se concentra na camada de aplicação, nós da Nazar decidimos, desde o nosso início em 2014, tornar a nossa solução acessível para empresas de qualquer porte (de startups a grandes empresas), oferecendo uma solução que permita que desenvolvedores, DBAs e Sysadmins identifiquem as causas dos problemas de desempenho, se antecipem e mantenham suas aplicações performando.

Fazendo isso, você estará economizando em todos os custos listados neste artigo com certeza. O retorno sobre o investimento está garantido.

--

--