O que é um indicador de exclusão reversível?
Esta é uma coluna no conjunto de dados que indica que o item foi excluído na interface e não aparecerá mais na interface do usuário do Brightspace. No contexto de diferenciais, é uma maneira de indicar que a linha não está mais em uso e potencialmente pode ser removida do armazenamento de dados. Para obter mais informações, consulte o Introdução às exclusões reversíveis para os conjuntos de dados do Brightspace artigo.
O dilema: você só pode usar arquivos diferenciais quando não há sinalizador de exclusão reversível?
Muitos conjuntos de dados do Brightspace têm um sinalizador de exclusão reversível, no entanto, alguns não. Idealmente, para minimizar o volume e o tempo de processamento, seria mais eficiente usar apenas arquivos diferenciais (e não usar os arquivos completos). No entanto, os arquivos diferenciais incluem apenas inserções e atualizações e, portanto, não incluem as linhas que foram excluídas de forma irreversível desde a execução anterior. Essas exclusões podem ser confirmadas usando arquivos completos, no entanto, existem algumas estratégias que você pode adotar para permitir capturar as linhas excluídas ou linhas desnecessárias usando apenas arquivos diferenciais, mesmo quando não há nenhum indicador de exclusão reversível no próprio conjunto de dados.
Para os estudos de caso a seguir que mostram as estratégias disponíveis, usaremos o Progresso do Usuário de Conteúdo como nosso conjunto de dados de destino. O Progresso do Usuário de Conteúdo geralmente é um conjunto de dados muito grande, pois tem todo o progresso de todos os usuários em relação a todo o conteúdo e não inclui um campo de exclusão reversível. Muitas vezes, é difícil trabalhar com ele como um arquivo completo e pode ser uma tabela enorme quando armazenada.
Estratégia 1: Herdar a exclusão reversível de um conjunto de dados dependente (objeto base)
Muitas vezes, quando um conjunto de dados não tem um sinalizador de exclusão reversível, há um conjunto de dados relacionado que você pode usar para identificar quais linhas no conjunto de dados de destino são realmente excluídas. É importante lembrar aqui que a relação entre os dois conjuntos de dados, o conjunto de dados com exclusões reversíveis deve ser um pré-requisito para quaisquer atualizações no outro conjunto de dados. Por exemplo, no exemplo de Objetos de conteúdo e Progresso do usuário de conteúdo abaixo, você não pode mais ter nenhum progresso relacionado ao conteúdo depois que o objeto de conteúdo for excluído.
Ao usar o Progresso do usuário de conteúdo em um relatório, muitas vezes o conjunto de dados de objetos de conteúdo também é usado para obter o título do conteúdo, agrupar por módulo ou vincular a unidades organizacionais para obter as informações do curso. O conjunto de dados de Objetos de Conteúdo contém um indicador de exclusão reversível (IsDeleted) e, provavelmente, se o conteúdo tiver sido excluído, o progresso histórico não será mais relevante para nenhuma análise ou relatório e deverá ser excluído. Esse processo também pode ser automatizado como um procedimento armazenado para ser executado periodicamente e remover todas as linhas do Progresso do Usuário de Conteúdo em que a linha Objetos de Conteúdo é indicada para ser excluída.
Estratégia 2: Tratar as linhas como excluídas quando as matrículas ou funções tornam os dados desnecessários
Ao olhar para o nível do curso, pode ser prudente remover linhas que não são o tipo de dados que você deseja analisar. Por exemplo, o Brightspace trata todos os usuários da mesma forma nos dados, mas você pode querer relatar apenas as ações dos alunos ou especificamente os alunos que estão atualmente em um curso e não precisam armazenar as ações de outros usuários. Nesse caso, pode ser útil remover regularmente as linhas correspondentes a ações para indivíduos que não são seu alvo. Uma nota de cautela aqui - se suas políticas permitem que os indivíduos mudem de função dentro da mesma estrutura do curso ou se inscrevam novamente após serem retirados, essa pode não ser a estratégia correta a ser usada, pois você pode estar removendo linhas que você pode realmente querer no futuro.
Ao usar o Progresso do Usuário de Conteúdo, talvez você queira ingressar em Inscrições e Retiradas ou Inscrições de Usuário para obter o status atual de inscrição de um usuário e sua função para que você tenha informações suficientes para determinar se vale a pena manter a linha.
Estratégia 3: Manter os dados independentemente do status
Em alguns casos, pode não valer a pena usar as estratégias anteriores para limpar os dados ou continuar usando os conjuntos de dados completos. Por exemplo, o conjunto de dados Detalhes da Função não contém um campo de exclusão reversível. No entanto, é provável que você mude de função raramente e as exclua ainda mais raramente, portanto, haverá poucas linhas e poucas atualizações. Além disso, deixar uma linha que foi excluída na interface não afeta negativamente nenhuma lógica de relatório, pois essa função não será mais usada nos registros e, portanto, será filtrada de qualquer relatório de estado atual resultante. Definitivamente, vale a pena se concentrar na otimização dos conjuntos de dados maiores para minimizar o armazenamento e o uso de arquivos completos, mas em algum momento a análise de custo-benefício favorecerá deixar os conjuntos de dados menores sem exclusões ou continuar a extrair os conjuntos de dados completos periodicamente para verificar as exclusões. É importante saber onde essa linha existe em sua organização e tomar decisões de acordo.
Conclusão
Com a expectativa de que seu objetivo final seja se afastar totalmente do uso de conjuntos de dados completos e confiar apenas nos diferenciais, os indicadores de exclusão reversível levam você parcialmente até lá, e as estratégias acima podem aproximá-lo ainda mais. Em última análise, minimizar os dados que você está baixando, processando e armazenando não apenas economiza dinheiro, mas provavelmente coloca os relatórios de que seus usuários precisam em suas mãos mais rapidamente. Também é importante ter em mente que alguns conjuntos de dados nunca terão um campo de exclusão reversível porque são logs e, portanto, suas linhas não serão excluídas. Com uma reflexão cuidadosa sobre quais dados precisam ser retidos e por quê, você pode otimizar o processamento de dados e minimizar o espaço de armazenamento necessário para os dados do Brightspace sem sacrificar nenhum dos recursos de geração de relatórios.