Após uma falha ou interrupção na replicação, uma reinicialização bem-sucedida prova apenas uma coisa: a replicação está funcionando novamente. Não prova que todas as alterações foram recebidas. Não prova que as exclusões foram processadas. Não prova que os valores estão atualizados. E não prova que as equipes subsequentes devem confiar nos dados.
É por isso que a validação pós-recuperação é importante.
As diretrizes de integridade de dados do NIST abordam a recuperação como algo que vai além da simples restauração da disponibilidade. Elas enfatizam a detecção e a resposta oportunas à perda de integridade, bem como o papel da preparação, do registro de logs e das ferramentas apropriadas para minimizar o tempo de inatividade e as perdas quando os dados podem ter sido corrompidos ou alterados.
Antes de declarar a recuperação completa, as equipes precisam de evidências suficientes para responder a uma pergunta simples: em que nos baseamos quando dizemos às pessoas que os dados podem ser usados com segurança novamente?
A validação precisa responder a duas perguntas diferentes, mas igualmente importantes.
Um processo bem-sucedido ajuda a comprovar que a recuperação ocorreu. A validação ajuda a comprovar que a recuperação produziu dados confiáveis. Um processo prático de validação pós-recuperação possui cinco partes:
Não confie em apenas um sinal.
Um processo em execução indica que a replicação está funcionando. A contagem de linhas fornece informações sobre o conjunto de dados resultante. Uma comparação entre a origem e o destino identifica diferenças dentro do escopo suportado. Os logs e diagnósticos da plataforma informam o que aconteceu operacionalmente. As verificações em nível de negócios indicam se o resultado final faz sentido.
Em conjunto, esses sinais podem sustentar uma conclusão defensável. Vamos analisá-los.
As seções a seguir detalham essas cinco áreas. Algumas etapas exigem múltiplas verificações. Por exemplo, a comparação entre dados de origem e de destino pode envolver a validação de contagens, a identificação de alterações ausentes, a verificação de duplicatas, a confirmação de exclusões e a investigação de valores obsoletos.
O objetivo não é concluir treze tarefas desconexas. É reunir evidências suficientes para responder a uma única pergunta: podemos confiar nos dados recuperados?
Antes de comparar qualquer coisa, estabeleça qual período você está tentando comprovar. Comece com o último ponto antes do incidente em que a replicação estava funcionando conforme o esperado. Em seguida, identifique quando a recuperação e o acompanhamento atingiram o ponto que você está avaliando.
Isso lhe dá uma janela de recuperação: do último estado confiável conhecido → passando pela interrupção → passando pela recuperação → até o estado em que você agora deseja confiar. Dependendo da fonte e da plataforma, referências úteis podem incluir:
Para ambientes Db2 para z/OS, as equipes também podem trabalhar com conceitos específicos da fonte, como RBA ou LRSN, quando apropriado. A terminologia exata varia. O importante é que todos que avaliam a recuperação estejam falando sobre o mesmo período e o mesmo limite lógico.
As posições do log de origem podem ajudar as equipes a identificar o período de processamento que estão tentando avaliar. Em ambientes Db2 para z/OS, o RBA ou o LRSN podem ser relevantes para entender a posição do log de origem, dependendo da configuração e do ambiente.
Essas coordenadas podem ajudar a direcionar a investigação. Elas não devem ser consideradas como prova definitiva de que o alvo foi concluído. A equipe ainda precisa conectar o estado de origem relevante, as evidências da plataforma de replicação e o estado de destino resultante.
Perguntar:
Quando o problema começou, de fato?
Qual foi o último estado em que confiamos?
Quando começou a recuperação?
Quando o alvo retornou ao estado que estamos avaliando agora?
Que transações, conjuntos de dados, tabelas, arquivos ou processos subsequentes se enquadram nesse intervalo?
Se a janela de validação for vaga, a conclusão também será vaga, portanto, você não poderá responder com segurança à pergunta: "Perdemos alguma coisa?" até que haja consenso sobre: "Entre quais dois pontos?"
Não valide tudo automaticamente com o mesmo nível de esforço. Primeiro, entenda o que mudou durante o período de recuperação e quais sistemas subsequentes dependiam desses dados.
Perguntar:
Isso ajuda a determinar a profundidade da validação necessária. Uma breve interrupção que afete dados de baixo risco pode justificar uma abordagem de validação diferente de uma longa interrupção envolvendo liquidação, reclamações, relatórios regulatórios ou outro processo crítico.
A questão prática: “O que realmente importa nessa lacuna?”
Esse é um ponto de partida mais útil do que aplicar a mesma lista de verificação cegamente a todas as tabelas.
A validação pós-recuperação deve basear-se em três fontes:
A. A fonte
O que a fonte confiável informa sobre o período afetado? As evidências relevantes podem incluir:
B. A plataforma de replicação
O que a plataforma pode mostrar sobre o ocorrido? Dependendo do produto e da configuração, isso pode incluir:
C. O alvo
O que o alvo contém exatamente agora? Dependendo dos dados e do caso de uso, talvez seja necessário inspecionar:
A validação mais robusta geralmente vem da conexão de evidências entre essas camadas, e não de se tomar o status de "sucesso" de um sistema como a resposta final.
A contagem de linhas é útil. No entanto, é também um dos primeiros indicadores que profissionais experientes alertam para não a considerarem suficiente. Dois conjuntos de dados podem ter o mesmo número de linhas e ainda assim estarem incorretos.
Você poderia ter:
Portanto, use verificações amplas para identificar onde investigar mais a fundo. Verificações amplas úteis podem incluir:
Uma discrepância indica imediatamente que algo precisa ser investigado. Uma correspondência indica que essa verificação específica foi aprovada. Isso não significa que tudo esteja comprovado como correto.
A contagem de linhas é um sinal, não uma garantia de que tudo está funcionando perfeitamente.
Após definir a janela de recuperação e o escopo afetado, compare a origem e o destino em um ponto logicamente apropriado. Dependendo do seu ambiente, a validação pode usar:
O objetivo não é necessariamente comparar cada byte de cada conjunto de dados. É identificar se os dados que deveriam ser representados no destino estão representados corretamente o suficiente para sustentar a conclusão necessária.
Tenha cuidado com o momento certo.
A origem e o destino precisam ser comparados em estados significativos e logicamente compatíveis. Se a origem continuar mudando enquanto o destino ainda está se ajustando, uma diferença não significa automaticamente que a recuperação falhou. Pode simplesmente significar que os dois lados estão sendo medidos em momentos diferentes.
É por isso que a janela de recuperação e o limite de comparação são importantes.
Como validar a integridade da replicação CDC do mainframe para a nuvem após a recuperação: checksums, posições de log e reconciliação
Não existe uma fórmula universal para validação. No entanto, as equipes geralmente combinam diversas formas de evidência ao validar dados após a recuperação de um CDC em um mainframe.
Contagens e totais de controle: Úteis para identificar diferenças óbvias nos volumes esperados ou nos agregados de negócios.
Chaves e comparações em nível de registro: Úteis para identificar registros ausentes, inesperados ou incompatíveis dentro de um escopo definido.
Hashes ou somas de verificação: Quando apropriado, hashes ou somas de verificação podem ajudar a comparar conjuntos de valores de forma eficiente.
Carimbos de data/hora, estado de reinicialização e posições do log de origem: esses dados podem ajudar a estabelecer o período ou o estado de processamento que está sendo avaliado. Para fontes de mainframe, a terminologia específica da posição depende da plataforma subjacente.
Recursos de diagnóstico e comparação da plataforma: Sua plataforma de replicação pode fornecer evidências operacionais ou funcionalidades de comparação entre origem e destino.
Validação em nível de negócios: Para fluxos de trabalho críticos, verifique se registros comerciais importantes, totais, eventos ou resultados fazem sentido após a recuperação.
A abordagem mais defensável costuma ser a validação em camadas: várias verificações respondendo a diferentes perguntas, em vez de uma única verificação que pretenda responder a tudo.
Como detectar transações ou alterações ausentes após a recuperação do CDC
A pergunta que os usuários fazem é simples: "Como sabemos que nada passou despercebido?"
Comece pela janela de recuperação. Em seguida, compare o que deveria ter atingido o alvo com o que de fato atingiu. Dependendo do ambiente, isso pode significar examinar:
Observe com atenção especialmente os dados que foram alterados enquanto a replicação estava interrompida ou em fase de atualização.
Sinais de alerta
Transações específicas de alto valor não podem ser contabilizadas.
Não extrapole as conclusões além das evidências. Se você validou um subconjunto definido de tabelas ou uma janela de recuperação específica, mencione isso. Uma declaração defensável seria: “Validamos os conjuntos de dados afetados e a janela de recuperação usando essas verificações e não encontramos discrepâncias inexplicáveis.”
Isso é mais forte do que fazer uma afirmação absoluta que as evidências não podem sustentar.
Como identificar alterações duplicadas ou reprocessadas após a reinicialização do pipeline
Uma reinicialização ou recuperação pode gerar preocupações sobre se o trabalho foi processado mais de uma vez. O comportamento exato de repetição e duplicação depende da plataforma de replicação, da origem, do destino e da configuração.
Não assuma uma garantia de entrega universal. Em vez disso, identifique onde a aplicação duplicada ou repetida seria visível em seu ambiente. Os indicadores potenciais incluem:
Em conjuntos de dados sem restrições naturais de unicidade, a detecção de duplicatas pode ser mais difícil.
Por isso, as equipes devem entender quais chaves ou regras de negócio tornam a duplicação visível antes que o incidente ocorra.
Como detectar exclusões ausentes após a recuperação do CDC
As exclusões merecem uma verificação própria, pois são fáceis de passar despercebidas. Um destino pode conter todos os registros esperados e ainda assim estar incorreto, pois inclui registros que não deveriam mais existir. A linguagem utilizada na prática para descrever esse problema é bastante direta: "Registros que foram excluídos da origem ainda estão presentes no destino."
Quando ocorrerem exclusões durante a janela de recuperação, verifique se o estado de destino relevante as reflete adequadamente. Dependendo do modelo de dados, isso pode envolver:
Não assuma que uma comparação de contagens bem-sucedida sempre revelará exclusões ausentes.
Como identificar valores desatualizados ou incorretos
Às vezes, o registro está presente em ambos os lados. O problema é que o destino possui a versão incorreta. Procure por:
Isso é importante porque uma simples verificação de existência pode ser bem-sucedida mesmo que o alvo ainda esteja desatualizado.
A questão não é apenas: "O recorde está lá?", mas sim: "O recorde está no estado em que esperamos que esteja?".
A ordem é mais importante em algumas cargas de trabalho do que em outras. Se o resultado do negócio depende da sequência, a comparação do estado final pode não responder a todas as perguntas. Nesses cenários, as equipes podem precisar de evidências adicionais apropriadas para:
Não assuma que um checksum ou a correspondência do estado da última linha comprovem a ordem histórica. Da mesma forma, não assuma que toda carga de trabalho exija validação sequencial transação por transação.
O padrão correto é: Validar o comportamento de ordenação que realmente importa para o processo de negócio e a arquitetura afetados.
Investigue as discrepâncias — não as elimine pela média.
Se uma verificação de validação encontrar uma diferença, considere-a como evidência para investigação.
Perguntar:
Em seguida, determine a remediação apropriada. Dependendo do ambiente, isso pode envolver:
Não deixe que um grande número de verificações bem-sucedidas oculte uma discrepância inexplicável em dados críticos para o negócio.
Criar um registro de evidências pós-recuperação
A equipe que lidou com o incidente pode saber exatamente o que aconteceu hoje. Três meses depois, alguém pode perguntar: "Como sabíamos que os dados eram seguros para serem usados novamente?"
Não os obrigue a reconstruir a resposta de memória. Crie um Registro de Evidências Pós-Recuperação conciso que inclua:
Período de Incidente: Quando a replicação foi afetada?
Ponto de recuperação: Em que ponto o processamento foi retomado, utilizando a terminologia apropriada à origem e à plataforma?
Escopo afetado: Quais fontes, destinos, conjuntos de dados, tabelas, arquivos ou processos subsequentes foram envolvidos?
Método de recuperação: Qual caminho de recuperação foi utilizado? Por exemplo:
Validação realizada: Quais verificações foram concluídas? Para cada verificação importante, registre:
Resultados: O que a equipe observou? Foram encontradas discrepâncias?
Remediação: O que foi corrigido, reprocessado ou resincronizado?
Exceções: O que permanece sem solução ou fora do escopo validado?
Conclusão: Que evidências sustentam a decisão de que os dados subsequentes relevantes estão prontos para uso?
Esse registro pode comprovar:
Quem dá o sinal verde?
Essa é uma questão operacional que as equipes frequentemente deixam indefinida até que a pressão seja máxima. Alguém precisa decidir se os dados estão prontos para serem usados novamente. Essa decisão pode envolver mais do que apenas a pessoa que reiniciou o pipeline. Dependendo do incidente, pode ser necessário o envolvimento de:
O processo de aprovação exato deve refletir a importância dos dados afetados.
Princípio fundamental: A equipe técnica deve ser capaz de explicar:
Assim, os responsáveis pelo uso posterior poderão tomar uma decisão informada.
Como informar às equipes subsequentes que os dados estão prontos novamente?
Evite os extremos. Não diga que está tudo bem se as suas evidências não sustentarem essa afirmação.
Mas também não despeje um relatório de incidentes técnicos sobre um stakeholder do negócio. Comunique quatro coisas com clareza:
A mensagem mais útil seria algo como:
“A replicação foi concluída. Validamos os dados afetados durante o período do incidente usando as verificações descritas aqui. Não encontramos [diferenças inexplicáveis / estas diferenças identificadas, que foram corrigidas]. Esses conjuntos de dados subsequentes estão liberados para uso. Quaisquer exceções permanecem em aberto.”
A linguagem exata deve corresponder às evidências. É assim que se reconstrói a confiança sem fingir que a incerteza não existe.
O erro recorrente após uma recuperação é parar no status operacional: o processo está em execução, o atraso voltou ao normal e o painel está verde.
Todos querem encerrar a chamada da ponte. Mas nenhum desses sinais, por si só, comprova que os dados de destino afetados estejam corretos.
A questão crucial a ser respondida é: "Em que evidências nos baseamos quando dizemos às pessoas que elas podem confiar nesses dados novamente?"
Se a resposta não for clara, o incidente não está encerrado.
Nem todas as plataformas do CDC fornecem o mesmo nível de evidência após uma interrupção. Algumas funcionalidades são básicas. Outras podem reduzir significativamente o esforço, a incerteza e o risco envolvidos na comprovação do sucesso da recuperação.
Requisitos básicos
Todas as plataformas de CDC empresariais devem fornecer:
Essas funcionalidades ajudam as equipes a responder: A replicação foi recuperada e o processamento retomou?
A questão mais difícil é: podemos provar que os dados recuperados são confiáveis?
Funcionalidades importantes que nem sempre estão incluídas.
Essas funcionalidades determinam o quanto de investigação manual é necessário antes que as equipes possam declarar com segurança a conclusão da recuperação. Nenhum recurso isolado deve ser considerado prova universal de que a recuperação foi bem-sucedida. A questão crucial é: “Que evidências esta plataforma fornecerá à nossa equipe após um evento de recuperação e de que validação adicional ainda precisaremos?”
Peça ao fornecedor para demonstrar:
O padrão deve ser o mesmo para todas as plataformas do CDC: Não aceite "o processo reiniciado" como prova. Pergunte o que os operadores podem inspecionar, comparar, testar e defender posteriormente.
O Rocket Data Replicate & Sync (RDRS) inclui funcionalidades que podem contribuir para a investigação e validação pós-recuperação de configurações suportadas.
As funcionalidades documentadas do RDRS incluem:
Essas funcionalidades podem fornecer evidências operacionais e de validação durante uma investigação de recuperação. Como em qualquer plataforma de CDC (Centro de Controle e Prevenção de Doenças), as organizações devem avaliar o RDRS (Sistema de Resposta a Incidentes de Recuperação) em relação às suas fontes, alvos, configurações, requisitos de recuperação e procedimentos operacionais específicos. A questão mais importante é: "Que evidências o RDRS pode fornecer nos cenários de recuperação que nosso ambiente provavelmente enfrentará?"
Lista de verificação de validação pós-recuperação
Antes de informar aos usuários subsequentes que os dados estão prontos novamente, confirme:
Reativar o oleoduto é apenas metade da recuperação. A questão mais difícil é: "Como provar que os dados estão corretos?"
Comece definindo a janela de recuperação. Compreenda o que foi afetado. Utilize evidências da origem, da plataforma de replicação, do destino e do ambiente downstream. Procure atentamente por alterações ausentes, duplicatas, exclusões ausentes, valores obsoletos e problemas de ordenação onde forem relevantes. Investigue as discrepâncias em vez de presumir que são inofensivas. E deixe evidências suficientes para que alguém que não participou da chamada de incidente possa entender por que o destino foi liberado para uso.
Porque:
Voltar a funcionar não é o mesmo que estar recuperado.
E um oleoduto verde não significa que os dados sejam confiáveis.
A recuperação está completa quando o processo se estabiliza e a organização possui evidências suficientes para confiar novamente nos dados.
*NIST SP 1800-26: Integridade de Dados, Detecção e Resposta a Eventos Destrutivos
Se a recuperação depende repetidamente de validação manual, conhecimento tácito, investigação entre equipes ou incerteza sobre o que aconteceu durante o período de inatividade, a próxima questão pode ser maior do que o próprio incidente.
Como avaliar as capacidades de recuperação de dados de uma empresa quando a perda de dados é inaceitável
Utilize a estrutura de avaliação para definir o que sua plataforma deve tornar visível, testável e comprovável antes que a próxima falha ocorra.
Seu sistema de distribuição de medicamentos do CDC não está inoperante. Você tem certeza de que está funcionando corretamente?
Antes de reiniciar, você sabe o que foi afetado pela falha?
O erro mais perigoso do CDC na recuperação ocorre após o fracasso.
Quando um problema de recuperação do CDC se torna um problema de plataforma?
Como saber se as alegações de recuperação de um fornecedor do CDC serão verdadeiras?
Como elaborar um plano de negócios para o investimento de recuperação do CDC
