Migrando Dados de Negócios
O CMA pode ser usado para executar uma migração direcionada de entidades principais selecionadas e seus dados transacionais relacionados de um ambiente para outro. Por exemplo, migrar um subconjunto de contas e seus dados relacionados para fins de teste.
Os pontos a seguir destacam as principais diferenças entre dados comerciais e dados de configuração que exigem considerações especiais ao projetar as migrações de dados de negócios:
-
A migração de dados de negócios geralmente envolve um número muito maior de registros em um conjunto de dados em comparação com um conjunto de dados somente de configuração. Embora não haja limite explícito para o tamanho de um conjunto de dados, um limite razoável deve ser considerado.
-
Ter grandes conjuntos de entidades depende de relativamente poucas entidades no mesmo conjunto de dados diminui significativamente o processo de importação. Essa situação ocorre ao combinar dados de configuração, dados mestre e dados de transação de alto volume em uma única migração. Portanto, recomendamos projetar migrações separadas para essas classes de dados. Consulte a seção Reduzir Dependência entre Objetos de Migração abaixo para obter mais informações.
-
Todas as entidades de negócios têm uma chave gerada pelo sistema. Para obter mais informações, consulte Dados com Chaves Primárias Geradas pelo Sistema.
As seções a seguir expandem os tópicos e conceitos relacionados à migração de dados de negócios.
Reduzir a Dependência entre Objetos de Migração
O CMA aproveita a integridade referencial do aplicativo e as regras de negócios para garantir que as entidades permaneçam em conformidade e válidas quando são importadas para outro ambiente. Essas regras estão lá para impedir que uma entidade seja importada quando nenhuma das entidades às quais ela faz referência não existir no ambiente de destino. Quando a entidade de referência e a entidade a que ela faz referência fazem parte do mesmo conjunto de dados, ela estabelece uma dependência que determina a sequência na qual essas entidades devem ser processadas para serem importadas com sucesso. Observe que a ferramenta suporta até mesmo as situações mais complexas e raras em que a dependência entre entidades é cíclica, ou seja, a entidade A (direta ou indiretamente) se refere à entidade B, enquanto a entidade B (direta ou indiretamente) se refere à entidade A, para a qual o processamento sequencial não é suficiente para garantir uma importação bem-sucedida.
A ferramenta usa relacionamentos de chave externa entre entidades no mesmo conjunto de dados para identificar conjuntos de entidades dependentes e agrupá-los em registros de transação de migração separados. Observe que essas chaves externas são definidas no repositório do modelo de dados do aplicativo e não no nível do banco de dados para maior flexibilidade. Quanto maior a transação de migração, mais complexo será o processo importar com sucesso todos os seus objetos. Portanto, embora a ferramenta seja projetada para oferecer suporte a todos os tipos de dependências (sequenciais e cíclicas), o tratamento de conjuntos muito grandes de objetos dependentes pode incorrer em um custo de desempenho significativo.
Embora as entidades de configuração tendam a ser altamente interdependentes, o número total de entidades que compõem todo o conjunto de objetos de configuração é relativamente pequeno. Portanto, o impacto no desempenho que essas dependências têm ao importar um conjunto de dados somente de configuração é insignificante. Por outro lado, as entidades de configuração tendem a ser referenciadas em muitas entidades principais e de transação, pois controlam muitos aspectos das regras de negócios deste último. Dessa forma, é provável que a combinação de dados de configuração e negócios no mesmo conjunto de dados forme conjuntos extremamente grandes de entidades de negócios que dependem de um pequeno número de entidades de configuração. Portanto, é altamente recomendável importar ou configurar dados de configuração no ambiente de destino antes de importar dados de negócios nele.
De forma semelhante, alguns dados transacionais tendem a ser de um volume muito maior em comparação com as entidades de dados mestres referenciadas. Aqui, também é altamente recomendável migrar entidades de dados mestres antes de seus dados transacionais relacionados a alto volume. Por exemplo, muitos registros de medição de intervalo (dados da transação) fazem referência ao mesmo componente de medição (dados mestre). A migração de um grande volume de dados de medição juntamente com seu componente de medição resultaria em uma transação de migração muito grande que pode levar muito tempo para ser importada. A importação dos componentes de medição antes de migrar suas medidas de intervalo eliminará dependências desnecessárias dentro do conjunto de dados somente de medições e melhorará significativamente o desempenho do processo geral.
Volume de Dados Razoável
O volume geral de todas as entidades de negócios a serem migradas em um único conjunto de dados deve ter um tamanho razoável. Por exemplo, importar várias centenas de contas e seus dados principais e transacionais relacionados é considerado um tamanho razoável. A migração de muitos dados pode alcançar limitações físicas e de desempenho da ferramenta.
É possível usar qualquer método de solicitação de migração suportado para descrever as entidades a serem exportadas. Se você optar por uma solicitação de migração de Lista de Entidades, considere usar a zona Coletar Entidade para criar a lista de entidades enquanto você as navega em seus respectivos portais.
Única fonte de dados
O CMA usa a chave primária de uma entidade para determinar se ela é nova no ambiente de destino e, portanto, deve ser adicionada ou se refere a um registro existente e, portanto, precisa ser substituída pela nova versão. Todas as entidades de negócios têm chaves geradas pelo sistema, que são específicas do ambiente. Portanto, é possível ter entidades diferentes em ambientes separados com a mesma chave primária. Ao migrar entidades cujas chaves são geradas pelo sistema, é altamente recomendável migrar dados para um ambiente de destino de um único ambiente de origem e evitar a criação dessas entidades no ambiente de destino usando o aplicativo. Esta prática garante que as chaves primárias de uma entidade importada estejam sempre em sincronia com seu ambiente de origem. Consulte Dados com Chaves Primárias Geradas pelo Sistema para obter mais informações e considerações.
Sem Exclusão
O CMA não trata da exclusão de entidades de qualquer tipo, sejam elas de configuração ou entidades de negócios. Se um teste precisar ser repetido usando um snapshot inicial dos dados, você deverá restaurar o ambiente de destino para um backup feito antes da importação dos dados de teste e importar a versão mais recente dos dados de teste. Se não houver necessidade de excluir entidades importadas anteriormente, você poderá manter o recarregamento de dados de teste de um único ambiente de origem, conforme necessário.
Modo de Importação em Massa
Por padrão, o processo de importação cria um objeto de migração para cada entidade importada. Isso permite geração de relatórios granulares e tratamento de erros no nível da entidade. Ao importar um conjunto de dados de alto volume de entidades de negócios, esse gerenciamento granular tem uma taxa de desempenho. Nessa situação, talvez você queira usar a opção Importação em Massa na solicitação de importação do conjunto de dados de migração. Nesse modo, um único registro de objeto de migração é criado para várias entidades do mesmo objeto de manutenção. Da mesma forma, um único registro de transação de migração é criado para vários grupos de transações lógicas. O uso dessa opção reduz o esforço de gerenciamento de objetos de migração em todo o processo e resulta em melhor desempenho.
Observe que cada entidade ainda é comparada e validada individualmente, como no processamento de importação regular, mas se uma entidade for inválida, todo o objeto de migração não será aplicado, impactando, portanto, todas as entidades agrupadas com ela. O modo de importação em massa é útil ao importar um grande conjunto de dados de uma origem de dados validada, de forma que quase nenhum erro seja antecipado.
Essa opção só é suportada para objetos de manutenção mestre e de transação, ou seja, não é aplicável a migrações de configuração.
Modo Inserir Somente
Por padrão, a etapa de comparação do processo de importação precisa determinar se a entidade importada é nova e, portanto, deve ser adicionada, representa uma alteração em uma entidade existente e deve ser atualizada ou a entidade permanece inalterada. Ao importar um conjunto de dados de alto volume de entidades de negócios que sejam todas novas para o ambiente atual, essa verificação é demorada e pode ser evitada. Nessa situação, é possível usar a opção Inserir Somente na solicitação de importação do conjunto de dados de migração para indicar que todas as entidades importadas são consideradas novas adições ao ambiente atual. Ao fazer isso, o processo de importação evita etapas desnecessárias para determinar se a entidade deve ser adicionada ou atualizada e, portanto, contribui para um processo de importação mais rápido.
Essa opção só é suportada para objetos de manutenção mestre e de transação, ou seja, não é aplicável a migrações de configuração.
Processos em Batch Separados para Gerenciar Objetos de Migração de Negócios
Por padrão, os mesmos processos em batch relacionados à importação gerenciam migrações de dados de negócios e de configuração. Normalmente, as migrações de dados de negócios envolvem um grande volume de registros em comparação com conjuntos de dados de configuração muito mais leves. Processar esses dados juntos em um mesmo processo em batch pode reduzir o desempenho das migrações de configuração, impedindo que sejam concluídas com mais rapidez e maior frequência. O problema afeta principalmente ambientes que são semelhantes a testes, nos quais migrações de classe de dados mistos são mais comuns: os dados de configuração são importados de um ambiente inferior e os dados de teste grandes são importados de um ambiente superior. Você pode ajustar a configuração do produto base nesses ambientes para se beneficiar da separação dos processos de importação para dados de configuração e de negócios.
Observe que a capacidade de separar processos de importação só se aplica a objetos de migração por causa de seu volume. O conjunto de dados de migração e os registros de transação são de volume baixo e, como tal, permanecem gerenciados pelos mesmos processos em batch.
Os processos em batch designados são fornecidos para importar objetos de migração que contêm dados de negócios, mas eles não são usados por padrão:
-
F1-MGOPB - Monitoramento do Objeto de Migração (Negócios)
-
F1-MGOAB - Monitoramento do Objeto de Migração (Negócios) - Aplicar
Siga estas etapas para usar esses processos em batch designados separados para dados de negócios:
-
Atualize o objeto de negócios Dados de Negócios do Objeto de Migração (F1-MigrObjectBus) para fazer referência aos controles de batch relacionados aos dados de negócios nos seguintes status:
-
Pendente, Erro na Aplicação, Precisa de Revisão - Monitoramento do Objeto de Migração (Negócios) - F1-MGOPB
-
Aprovado - Monitoramento do Objeto de Migração (Negócios) - Aplicar - F1-MGOAB
-
-
Se sua organização usar envios de tarefas orientadas por evento para processos em batch do CMA, consulte Executando Tarefas em Batch para obter etapas de configuração adicionais.