UMA FERRAMENTA PARA ARMAZENAMENTO DE TEMPORALIDADE DE UM BANCO DE DADOS COM FUNÇÕES DE RESTAURAÇÃO

EDUARDO KROTH, RAFAEL SILVA CARVALHO

Resumo


A manutenção de um banco de dados através de processamentos diários leva ao fato de que seu estado sempre estará no presente, havendo dificuldades ao administrador em retornar o estado para um ponto do tempo no passado. Entre as várias formas de armazenamento auxiliar para futuras recuperações, tem-se a realização de backups. Mesmo assim, o retorno a um estado anterior através de um backup não se tem a precisa garantia de retornar ao ponto desejado. Fazer com que um SGBD mantenha esse histórico na sua própria base de dados se torna inviável, pois o arquivo dessa base cresceria de forma muito rápida, fazendo com que rapidamente se necessite de maior espaço de armazenamento e de uma maior capacidade de processamento para que se realize consultas complexas em seus dados. Para atender essa necessidade, esse trabalho propõe uma solução direcionada ao armazenamento de logs de transações em um arquivo externo ao banco para que, quando for necessário acesso a esses dados, se possa realizar uma restauração das informações que estavam presentes no banco de dados em um determinado tempo no passado. Esta solução é uma alternativa à forma tradicional de se armazenar os dados propriamente ditos na base de dados. Para isso é proposto o desenvolvimento de uma ferramenta que realize um processo de preparação do banco de dados, incluindo na sua estrutura triggers que serão responsáveis pela captura das transações realizadas e que armazene essas informações em um arquivo externo ao banco, de localização definida pelo DBA usuário da ferramenta. O armazenamento das informações fica a cargo de um outro banco de dados de estrutura NoSQL, devido ao fato de os dados que serão armazenados serem dados semiestruturados e sem necessidade de relacionamento entre eles. A parte de restauração das informações do banco de dados é de responsabilidade da ferramenta desenvolvida, que deverá receber como entrada uma data e hora (timestamp) aos quais se quer acessar as informações e criar um novo arquivo de banco de dados com as informações da forma como estavam no momento recebido como entrada, ou até mesmo alterar o banco de dados original para que fique exatamente do mesmo estado que estava no momento desejado. Com a utilização da ferramenta desenvolvida, é possível que se tenha disponível o histórico das informações sem armazenar todo esse histórico na mesma base de dados onde ocorrem as transações, evitando um crescimento exagerado da base de dados, o que afetaria performance das consultas pois um alto número de informações na base de dados exige um alto poder de processamento para realização de consultas complexas sobre os dados. Este trabalho está sendo validado em um banco de dados onde se tem operações de manipulação de dados e as devidas triggers. As operações são realizadas com os devidos registros de tempo. A prova da validação deste trabalho é a recuperação do estado de um banco de dados para um ponto do passado, através de rotinas automatizadas e sem oferecer riscos de perda de informação aos usuários finais.


Apontamentos

  • Não há apontamentos.