Você deveria cuidar mais dos seus dados
É meio chocante começar um texto com um título desse, eu sei. Mas, acho que no mundo de dados e que hoje estamos colocando mais uma revolução industrial nos livros, com os dados sendo o novo petróleo, cuidar dos dados que estamos utilizando, utilizamos ou utilizaremos é de suma importância no nosso dia-a-dia.
Vamos começar pelo começo, não existe um banco de dados hoje que esteja totalmente protegido dos perigos do roubo dos dados, assim como, infelizmente, não vemos como uma prática recorrente termos um dicionário de dados, mesmo parcialmente escrito, acabamos confiando muito no conhecimento da equipe quanto ao dataset que temos nos bancos de dados de produção, mas nenhuma boa prática vai começar do dia para a noite.
Então, a primeira coisa que nos devemos fazer é construir um dicionário de dados, passando por todos os aspectos, quais tipos de dados, quais chaves estrangeiras conectam com quais chaves primárias, como é feito os joins (ou o de-para para os menos íntimos).
Uma coisa que devemos evitar sempre é fazer queries ou chamadas do banco de dados a partir da aplicação que possam fazer uma injeção de dados e passar pelas camadas de segurança que temos no banco de dados. Existem várias e várias formas de se evitar, desde usar variáveis até ORMs, e esta conversa pode ir até o infinito e além.
Recomendados pelo LinkedIn
Outra cultura que se deve enraizar é o mínimo processamento de dados possível, principalmente quando nos tratamos de ambiente de produção (e evite ao máximo utilizar o banco de dados de produção. Use o banco de desenvolvimento ou homologação), acabamos fazendo aquela query famosa `SELECT * FROM nome_da_tabela`; mas, quando nos fazemos uma query dessa, nos acabamos gerando uma sobrecarga do banco de dados sem a menor necessidade, e para o banco de dados de produção ficar com baixa disponibilidade, é muito fácil. Meus centavos aqui é que você, caro leitor, é que sempre, SEMPRE, utilize um limite de linhas exibidas (limit xxx na maioria dos bancos de dados relacionais, top xxx no Microsoft SQL Server), ou, crie queries menores, coletando apenas as colunas que você quer saber se tem uma grande variação de dados.
E por fim, mas não menos importante, utilizar métodos que garantem uma alta disponibilidade dos dados. A não ser que você queira trabalhar o triplo das horas normais de trabalho e ter as mesmas dores de cabeça porque o servidor caiu por algum motivo (incluindo um dos citados aqui), ter uma solução de alta disponibilidade é crucial para a manutencionabilidade dos dados, além de ser capaz de ter uma relisiência muito boa, pois querendo ou não, nossos dados eventualmente vão ter erros no processamento, e é trabalho do engenheiro de dados manter estes dados funcionando.
Clusterizar os dados, virtualizar os servidores para maquinas virtuais, e ter boas práticas dentro do banco de dados é apenas ponta do iceberg, nos vamos ainda ver muita coisa na nossa carreira, desde "apenas" uma falta de um dicionário de dados, até bancos inteiros expostos para a internet, nossa missão é guarda-los e principalmente mantê-los de uma forma que não devermos recorrer ao terraform pois aconteceu alguma catastrofe (e tenha seu backup).