Olá eu é integration developer bootcamp estamos na etapa de boas práticas de desenvolvimento nesse vídeo falaremos sobre a importância de utilizar armazenamento temporário na plataforma salvar dados temporários é de extrema importância para integrações complexas com a utilização de bancos de dados é possível compartilhar informações entre pipelines e entre execuções diferentes de o mesmo pipeline seus principais casos de uso são por exemplo paginação de dados controle de status ou Estado de processamentos síncronos armazenamento de payloads para permitir o reprocessamento de um pipeline e agrupamento de registros para retirada de dados sumarizados alguns exemplos de aplicação é
que para armazenamento de pilotos para reprocessamento nós teremos em breve alguns exemplos de pipelines de reprocessamento e nesses pipelines de reprocessamento nós vamos utilizar uma base temporária para salvar a a mensagem um dião de entrada de um pipeline e reenviar para o mesmo Outro exemplo é que no agrupamento de registros para a retirada de dados humanizadores nós vamos utilizar bases temporárias para criar o resumo da execução de um peline que demonstra quantos registros Foram processados quantos deram sucesso e quantos deram falha e esses dados serão armazenados em um banco de dados temporário alguns detalhes são
importantes lembrar os dados salvos no armazenamento temporário são compartilhado entre todos os pipelines Esse é um cuidado que a gente precisa ter visto que uma vez que eles podem ser acessados por todosos pipelines eventualmente a gente não quer que isso aconteça Então precisamos fazer algum tipo de filtro nessa base de dados para buscar somente os registros que achamos necessário para aquela execução outro detalhe é ao armazenar dados temporários os mesmos não serão limpos automaticamente então ao fazer a inserção de dados em uma base de dados nós precisamos criar uma lógica dentro do nosso fluxo ou
uma rotina de limpeza que faça a deleção desses dados automaticamente sem sem que precisa ser feita alguma operação manual dados armazenados em bancos temporários não ocupam memória de execução essa é uma ótima alternativa quando a gente quer salvar dados diretamente na execução quando um dado é muito grande dentro do nosso message dentro do nosso Dion de entrada ele é muito grande para ser salvo na memória de execução nós podemos utilizar esse tipo de base de dados para salvar essa mensagem e depois buscar no mesmo fluxo somente no momento que ela for utilizada isso impede que
a memória de execução seja utilizada de maneira contínua dentro do pipeline eh evitando por exemplo o out of Memory que é um dos erros que pode acontecer se você tenta utilizar mais memória do que o pipeline possui por fim é uma boa prática tem uma rotina de limpeza consolidada para esses dados temporários então por exemplo a criação de um pipeline que todos os dias faz essa limpeza ou faz limpeza a partir de um da da data de inserção do registro entre outros a gente precisa ter o cuidado de excluir esses dados uma vez que eles
não serão excluídos automaticamente a plataforma possui alguns conectores recomendados para o salvamento desses dados como o candra DB o Object Store o mongo DB dbv 2 e outros entre outros então a gente pode utilizar qualquer banco de dados para fazer a o armazenamento temporário desde que eles tenha sido destinado para isso temos bancos relacionados como o DB V2 mas também temos bancos não relacionais como Object Store mon DB e candra DB recomendamos principalmente os não relacionais pela facilidade de inserção de dados agora a gente vai entrar na plataforma e vamos ver na prática como é
que funcionam esses alguns conectores principalmente o Object Store para fazer esse armazenamento temporário de dados