LinkedIn desenvolve a ferramenta MySQL Query Analyzer

LinkedIn desenvolve a ferramenta MySQL Query Analyzer

22 de outubro de 2017 0 Por Ramos de Souza Janones
Powered by Rock Convert

Para otimizar o desempenho de suas instâncias MySQL, o LinkedIn criou a ferramenta MySQL Query Analyzer com o intuito de analisar e ajustar queries custosas. A ferramenta é executada na camada de rede, armazenando tudo em um servidor centralizado e fornecendo uma interface de usuário (UI) para análise de métricas.

O LinkedIn administra uma arquitetura MySQL multi-inquilinos (do inglês multi-tenancy). Isto ocorre principalmente pelo fato de haver mais de 500 aplicativos que dependem dessa arquitetura, de modo que um único inquilino (tenancy) causaria custos de recursos extremamente elevados. Como consequência desta abordagem, as queries de um aplicativo podem afetar o desempenho de outro aplicativo. Por esse motivo, é importante que os aplicativos sejam capazes de compreendê tais consultas e otimizá-las o máximo possível.

O analisador de queries é dividido em três componentes:

  1. Agente: é executado nos nós do MySQL e coleta métricas sobre a execução e desempenho de queries.
  2. Servidor centralizado: local onde todos os dados sobre consultas são armazenados para a geração de relatórios.
  3. Interface de Usuário (UI): fica no topo do servidor e fornece uma interface amigável para analisar os dados.

Karthik Apigatla, engenheiro sênior de banco de dados no LinkedIn, destaca os benefícios da ferramenta da seguinte maneira:

Curso completo de Games, inclusive Realidade Aumentada.Powered by Rock Convert

… permite que nossos engenheiros de banco de dados identifiquem queries problemáticas de uma só vez, para comparar as informações de uma query semana a semana e para solucionar problemas de desaceleração da base de dados de forma rápida e eficiente.

Originalmente, soluções como o MySQL Performance Schema e o Slow Query Log foram consideradas, mas elas vieram com muitas penalidades de desempenho quando foram introduzidas. Ao contrário dessas ferramentas, o Query Analyzer é executado na camada de rede, minimizando qualquer tipo de impacto de desempenho nas instâncias.

O agente captura pacotes brutos de queries e reconstrói a query usando os protocolos MySQL e, em seguida, calcula os tempos de resposta com base em uma diferença entre o tempo em que os pacotes entram pela primeira vez na porta e quando são produzidos pela resposta do banco de dados.

Leia também: Os cursos online de programação e tecnologia mais recomendados para 2019

A UI fornece uma visão tabular de queries distintas para hosts, permitindo que o usuário filtre por períodos de tempo. As consultas individuais também podem ser selecionadas, fornecendo gráficos e outras métricas úteis, como carga e tempo médio.

A ferramenta também fornece uma métrica de carga de query que é calculada como “tempo de execução * número de execuções”. Ao obter essa métrica e convertê-la em uma proporção, ela pode ser comparada com outras queries para ver quais obtiveram a maior porcentagem de carga. Por exemplo, mesmo se uma consulta demorar alguns milissegundos, a métrica ainda seria correta se a query estivesse sendo executada muitas vezes, levando assim a maior parte da carga.

O LinkedIn não definiu uma linha de tempo específica, mas pretende abrir a ferramenta em um futuro próximo.

Curso de Inglês para Programadores.Powered by Rock Convert

Ramos de Souza Janones

Janones, é um empreendedor brasileiro apaixonado por empreendedorismo e tecnologia. Ao longo dos anos trabalhando com o desenvolvimento de softwares desktop desde a linguagem Clipper, passando pelo Delphi e atualmente com Java.

Optou pela formação de Publicidade e Marketing por sua segunda empresa de tecnologia ter participado do "boom" da internet nos anos 90 e na procura de melhorar seus conhecimentos em negócios.

Em razão da principal formação e profundos conhecimentos em programação e banco de dados, é capaz de realizar o desenvolvimento de aplicativos web, desktop e mobile com maior criatividade e inovação que profissionais de desenvolvimento com uma formação única e mais especifica, dedicada somente ao desenvolvimento de softwares.

Com toda sua experiência com empresas de software, sua formação e paixão por negócios escreveu o livro "Marketing para Empresas e Profissionais de Software", publicado pela editora carioca Ciência Moderna em 2012. Além de outros livros sobre programação.
Sumário
LinkedIn desenvolve a ferramenta MySQL Query Analyzer
Nome do artigo
LinkedIn desenvolve a ferramenta MySQL Query Analyzer
Descrição
Para otimizar o desempenho de suas instâncias MySQL, o LinkedIn criou a ferramenta MySQL Query Analyzer com o intuito de analisar e ajustar queries custosas. A ferramenta é executada na camada de rede, armazenando tudo em um servidor centralizado e fornecendo uma interface de usuário (UI) para análise de métricas.
Autor
Nome
Ramos da Informática
Logo
LEIA TAMBÉM:  Por que não devemos usar funções do tipo mysql_*