Estudo do Artigo: Gartner - Make Data Migration Boring: 10 Steps to Ensure OnTime, High-Quality Delivery
Contexto
Premissas
- A diversidade de Plataformas, Aplicações (como SGBDs) e tipos de dados, impactam no custo e no risco da migração;
- Migrações rotineiramente excedem os custos planejados. Um dos fatores é a qualidade dos dados migrados;
- Equipes de migração são rotineiramente sobrecarregadas. Isso ocasiona uma menor atenção com atividades como teste e garantia da qualidade. -> impacto no processo de adaptação dos usuários ao novo ambiente.
- Mais de 50% das migrações
Recomendações
Ações do gerente de dados:
- Planejar e formalizar um fluxo de atividades, mitigando situações de risco no processo;
- Estabelecer um plano de governança que permita a análise, definição, mensuração e acompanhamento de métricas de qualidade de dados.
- Estabelecer um plano de ações de migração com um conjunto definido de ferramentas, técnicas e métodos;
Planejamento Estratégico
O planejamento de migração deve ser realizado levando-se em conta as três grandes áreas:
Análise
Planeje Completamente
- Maior erro : subestimar a complexidade do processo. -> impacto direto no tempo e esforço despendidos
1. Dados como Fluxo Primário
É importante considerar o fluxo de migração dos dados da mesma maneira que a implantação de melhorias em aplicações desenvolvidas, devendo considerar o planejamento e aplicação das melhores práticas.
Recomendações:
- Equiparar os dados com o plano de negócio, projeto e implantação;
- Designar um Data Tech-Leader;
- Desenvolver um documento contendo métricas e etapas do processo;
2. Diminua o Escopo da Migração
Alguns dados não precisam ser migrados, podendo ser apenas arquivados.
Recomendações:
- Migre apenas o necessário; -> que se adequa ao modelo de negócio e ao modelo legal;
- Identificar conjuntos de dados que atendam a pelo menos um dos seguintes cenários:
- É redundante;
- Não é mais necessário;
- Não possuí valor para a organização;
- Não pode ser perdida, mas pode ser arquivada;
3. Avalie uma Migração em Etapas
Dependendo da complexidade e do escopo, alguns processos de migração podem ser "quebrados" em fases. Isso aumenta a complexidade do processo, porém diminuí a incerteza da entrega.
Recomendações:
- Avaliar o custo de dividir o processo em etapas, em comparação com as incertezas da migração em etapa única;
- Segmentar os dados em partições discretas, evitando assim a necessidade de sincronização bidirecional durante o processo;
4. Monte uma Equipe com Diferentes Competências
Equipes focadas em migração precisam desenvolver não só competências técnicas(hard skills), como também interdisciplinares (soft skills).
Recomendações:
- Criar uma equipe multidisciplinar;
- Incluir membros tecnicamente capazes de lidar com as diversas fases do processo.
Sustentabilidade
Estabeleça uma base sustentável, que permita Governança Analítica
Questões relacionadas com a governança de dados são os maiores desafios para os lideres técnicos. O sucesso da migração pode depender do estabelecimento dos fundamentos da garantia da qualidade de dados e práticas da governança analítica.
5. Foque Desde o Início em Qualidade dos Dados
Custos da implantação podem ser acrescidos em 25 até 100%
Recomendações:
- NÃO PRESUMA! -> analise, identifique e mitigue a real condição da base;
- Defina quais problemas precisam ser tratados, e como.
6. Formalize os papéis, políticas e processos
Processos de migração podem auxiliar na maturidade da governança de dados e analítica. Os resultados obtidos permitem o desenvolvimento de uma base do conhecimento que apoiam decisões e diminuem incerteza.
Recomendações:
- Formalize os papéis de governança de dados e analítica. Concentre as políticas para o conjunto de dados eleito para a migração;
- Estabeleça políticas de qualidade, segurança, privacidade, retenção e descarte e padrões para dados dentro do escopo; --> Garantia da Qualidade de Dados
7. Defina Métricas
É fundamental que os gestores possam monitorar e rastrear o progresso do processo de migração.
Recomendações:
- Estabeleça métricas que possam cobrir diversas dimensões da qualidade dos dados;
- Defina métricas relacionadas ao progresso da migração -> exemplo: número de componentes migrados, número de iterações
Execução
Ferramentas Adequadas e Teste
O processo de execução se inicia com a aplicação das mecânicas de migração.
8. Reuna e utilize Metadados Disponíveis
A coleta de metadados das fontes fornecedoras de dados torna-se interessante pois neles se encontram informações relevantes como tipo e organização dos dados, além de descritores dos dados, sendo válida a utilização dos mesmos na tomada de decisão de quais dados migrarem e de qual fonte.
Recomendações:
- Identificar e reunir metadados relevantes; -> modelos anteriores, schemas e outras informações podem ser um ponto de partida para a modelagem;
- Crie um catálogo de dados, organizando esses metadados de maneira que possam ser utilizados para migração e teste tornando-se disponível para a organização;
9. Use as Ferramentas Adequadas
A escrita manual de rotinas de migração pode ser um pouco custosa e demorada de acordo com a complexidade do projeto. Diversas ferramentas apoiam a criação automatizada de scripts que auxiliam nesse processo.
Recomendações:
- Identificar as ferramentas de integração de dados, de qualidade de dados e de análise de metadados existentes no mercado;
- Combine ferramentas com a demanda:
- Ferramentas de transação massiva(bulk)/em lote(batch) são ideais para migrações em etapas únicas;
- Ferramentas granulares e de baixa-latência são ideais para migrações baseadas em detecção de mudanças, migrações por etapas e bidirecionais;
Questionamentos
10. Teste como atividade Critica
O sucesso de uma migração com relação aos destes depende não só da verificação dos dados no novo contexto, como também da validação da aplicabilidade na solução, no novo ambiente.
Recomendações:
- Realizar testes e validação dos dados em diferentes níveis. Adicionar os resultados ao processo, para que possam ser aplicadas soluções de governança.
- Incluir no escopo da migração a verificação de todos os pontos críticos de consumo entre aplicações e de interfaces providas para outras aplicações.