Neste episódio Edu Matos recebe o João Cosme, um engenheiro de confiabilidade de banco de dados (DBRE) que já atuou em grandes empresas como iFood e Adyen, para discutir o papel e os desafios de manter a confiabilidade dos bancos de dados, o conceito de DBRE como um framework, problemas em produção envolvendo bancos de dados, incidentes entre outros assuntos relacionados.
Sem um SLO, você não tem clareza sobre o que precisa provar. Um SRE sem SLO é como um tigre sem dentes.
Uma das confusões que as pessoas fazem é sobre a diferença entre as funções de DBA (Database Administrator) e DBRE (Database Reliability Engineer). Enquanto o DBA foca na administração de bancos de dados e em tarefas técnicas como backups e otimização de desempenho, o DBRE tem uma abordagem mais ampla e voltada para serviços.
O DBRE combina conhecimentos em bancos de dados com princípios de engenharia de confiabilidade, garantindo que os serviços operem com segurança e eficiência. Essas funções são complementares e, frequentemente, trabalham juntas dentro de equipes multidisciplinares alinhadas à cultura DevOps.
Nem todas as organizações precisam de um DBRE desde o início. O papel se torna essencial à medida que a empresa escala e precisa garantir a confiabilidade de serviços complexos. Por exemplo, em startups menores, o DBA pode suprir as necessidades iniciais. No entanto, em cenários com centenas de desenvolvedores, como em grandes plataformas tecnológicas, o DBRE é fundamental para criar ferramentas e soluções que agilizem o trabalho dos times de desenvolvimento.
O DBRE segue princípios claros, baseados em frameworks como o descrito no livro “Database Reliability Engineering”. Esse framework inclui práticas e conceitos para projeto, operação e manutenção de sistemas de armazenamento de dados, sempre com foco em confiabilidade.
Uma analogia interessante é a hierarquia de Maslow aplicada ao DBRE. Em sua base está a sobrevivência, garantindo backups e recuperação de desastres. No topo, está a “auto-realização”, onde a infraestrutura do banco de dados é uma plataforma que permite experimentações seguras e avanços rápidos sem comprometer a estabilidade.
Mudanças no schema do banco de dados são uma das principais causas de incidentes. Casos de migrações mal planejadas podem levar a downtime significativo ou até perda de dados. Outras situações frequentes incluem excesso de conexões simultâneas, falta de mecanismos de failover e problemas na infraestrutura de nuvem.
Para mitigar esses problemas, é importante seguir algumas boas práticas, como:
A escolha entre bancos de dados relacionais e não relacionais depende dos requisitos do sistema e das expectativas dos usuários. Bancos relacionais, como o PostgreSQL, oferecem maior durabilidade e são mais indicados para sistemas que exigem consistência e transações complexas.
Por outro lado, bancos não-relacionais, como o MongoDB, podem ser mais adequados para aplicações que priorizam alta disponibilidade e escalabilidade horizontal. No entanto, o DBRE precisa estar preparado para lidar com ambos e garantir que estejam alinhados aos objetivos de negócio.
Tornar-se um DBRE exige uma combinação de habilidades em bancos de dados, programação e engenharias de sistemas. Além disso, criatividade e a capacidade de resolver problemas de forma proativa são essenciais. Para aqueles interessados na área, livros como “Database Reliability Engineering” e “Release It!” são excelentes pontos de partida.
Se você busca aprofundar seus conhecimentos ou explorar uma transição para essa carreira, o DBRE é uma área em crescimento que oferece desafios e oportunidades únicas.
Aprofunde seu conhecimento em SRE no treinamento de Liderança Técnica Estratégica com o Alexander Jardim na Escola Forja.