Quando comecei nesse setor, havia uma prática ruim, mas comum. Cada novo projeto começou com um esquema de banco de dados. Os DBAs ou quem estava encarregado da Oracle teria uma longa discussão e muitas reuniões, e então você, o desenvolvedor, seria “abençoado” com um esquema. O esquema geralmente estava um pouco errado e ineficiente, e não correspondia ao que você estava fazendo, então você escreveu consultas ineficientes para contorná -lo até que você foi gritado e todos concordaram em consertar as coisas. Isso mudou com ferramentas de mapeamento de objeto-relacional, como o Hibernate in Java e a Framework de entidade no .NET. Isso mudou mais seriamente quando nos mudamos para “Schema On Read”, primeiro com o Hadoop e depois com arquivos Amazon S3 e Parquet e o que for.
O sistema antigo era lento e doloroso, mas protegiu contra mudanças inesperadas. O sistema moderno capacita os produtores de dados a mudar, mas desmota as pessoas cujo trabalho é fornecer estabilidade. A maioria das organizações possui alguma equipe de plataforma de dados cujo trabalho é fornecer onisciência, apesar de ter superado lamentavelmente em número. Isso pode parecer um bom negócio para os desenvolvedores – todo o poder e nenhuma responsabilidade e uma equipe de pessoas que estão lá para levar o chicote. No entanto, não funciona dessa maneira. Como desenvolvedor, você está quebrando os sistemas de dados a jusante, incluindo o novo sistema de IA sofisticados, ou tem medo de quebrar as coisas e se mover muito lentamente.
Quando a propriedade dos dados se move a montante
Considere esta história. Jez, um engenheiro sênior da equipe da plataforma de suporte, vê essa carga:
