Modelação de dados do Steve: dominar estratégias de controlo de versões
Introdução:
Neste artigo, vamos explorar duas abordagens diferentes para lidar com o versionamento de registos na modelação de dados, com ideias e estratégias para gerir com eficiência várias versões de registos e os seus registos filhos.
Estas estratégias são essenciais para quem desenha modelos de objetos em que o controlo de versões é crucial.
Entender as abordagens de versionamento de registos
Existem duas abordagens principais para lidar com o versionamento de registos:
- Abordagem de registos pares
- Abordagem de versões filhas
Vamos aprofundar cada abordagem para entender a sua implementação, vantagens e desvantagens.
Abordagem de registos pares
Na abordagem de registos pares, cada versão de um registo é criada como um registo separado e do mesmo nível sob um objeto de nível superior. É um método simples, e a forma como o Salesforce implementa as cotações sob as oportunidades é um exemplo.

Implementação:
Cada versão é um registo separado sob um objeto de nível superior.
Pode marcar um dos registos como principal, mas todas as versões ficam visíveis em vistas de lista, listas relacionadas e relatórios.
Vantagens:
- Simples e fácil de implementar.
Desvantagens:
- Todas as versões ficam visíveis, o que dificulta distingui-las.
- Não há uma ligação clara nem um registo de auditoria entre as versões.
Sem um controlo adequado, pode haver vários registos principais ou em curso.
Abordagem de versões filhas
A abordagem de versões filhas cria dois níveis de objetos: um objeto pai de nível superior e um objeto filho para cada versão. Esta abordagem permite um sistema limpo de versionamento e de histórico de alterações.

Implementação:
- Um objeto de nível superior representa a configuração, com objetos filhos a representar cada versão.
- Cada versão filha é numerada automaticamente e tem um estado (por exemplo, arquivada, ativa, pendente).
- A versão ativa fica bloqueada e é usada em produção, enquanto uma versão em rascunho pode ser editada.
- Quando um rascunho é ativado, torna-se ativo, e a versão ativa anterior é arquivada.
Vantagens:
- Oferece um registo de auditoria claro e documentação histórica.
- Garante que só há uma versão ativa de cada vez.
- Os registos arquivados servem de histórico inalterado.
Desvantagens:
- Pode parecer complexo para alguns utilizadores, mas é necessário para processos importantes, como os flows.
Exemplo de implementação no Salesforce

O Salesforce implementa uma abordagem parecida com os flows. Há um objeto de flow de nível superior com versões filhas. Cada versão é numerada automaticamente, oferecendo um histórico detalhado de cada flow, com as datas de criação e ativação.
Esta implementação garante que só um flow está ativo de cada vez, oferecendo um mecanismo de controlo de versões fiável e eficiente.
Secção 5: conclusão
Entender e escolher a abordagem certa de versionamento de registos é crucial na modelação de dados. A abordagem de registos pares é simples, mas a de versões filhas oferece mais controlo e um registo de auditoria eficiente. Estudando a implementação do Salesforce e considerando os seus próprios desafios de modelação, pode escolher a abordagem que melhor responde às suas necessidades.
Fique atento!
Para mais ideias e dicas, acompanhe aqui em www.SteveTechArc.com e no canal do YouTube @SteveTechArc (opens in a new tab). Subscreva e faça a sua modelação de dados brilhar connosco!
A ajudar a mudar o mundo, partilhando boas ideias com outros arquitetos e com quem está na jornada para se tornar um!
Transcrição feita com a ajuda de IA
STA 2.1