Versionamento de documentos e esquemas
Nesta página
Conforme o tempo passa, seu esquema pode precisar ser alterado para atender às mudanças nos requisitos técnicos. Quando o esquema é alterado, você pode usar padrões de design de esquema para manter a estrutura original do documento. Ao reter versões históricas de documentos e esquemas, você evita migrações de esquema que exigem muito desempenho e tempo de inatividade.
Casos de uso
Use os padrões de controle de versão quando seus requisitos de dados mudarem e você quiser manter os dados históricos em sua forma original. Os padrões de controle de versão são mais úteis quando seu aplicação atende a qualquer uma destas condições:
O tempo de inatividade do aplicativo não é uma opção para migração.
A atualização de documentos para o novo esquema pode levar horas, dias ou semanas para ser concluída.
Atualizar documentos para o novo esquema não é um requisito.
Os padrões de controle de versão ajudam a decidir como as migrações de dados ocorrem e fornecem mais flexibilidade em relação aos bancos de dados tabulares.
Considere estes casos de uso de aplicação específicos para padrões de controle de versão:
Uma seguradora permite que os clientes modifiquem sua apólice para garantir itens adicionais. Quando um cliente altera sua apólice, a seguradora mantém um registro das alterações da apólice. A empresa usa o padrão Document Versioning para controlar revisões na apólice, armazenando cada atualização em um documento separado. Os dados históricos são armazenados em uma coleção separada e não afetam as queries aos dados atuais.
Uma empresa armazena informações de contato do cliente. No esquema original, vários métodos de contato como
homePhone
,cellPhone
eemail
são armazenados em campos individuais. Com o tempo, menos clientes têm númeroshomePhone
, então a empresa modifica o esquema para mover as informações de contato para um documentocontacts
genérico, que tem subcampos variáveis. Após a alteração do esquema, a empresa implementa o padrão de versionamento de esquema e adiciona um camposchemaVersion
para informar ao aplicativo como ele deve consultar cada documento.
Tarefas
Para saber como manter um histórico das alterações de documentos e esquemas, consulte estas páginas: