SQLStreamify: middleware baseado em microsserviços fornecendo transações de leitura de fluxo de dados em SGBDs - Silva, Aurélio Carlos Prado (2021)
O uso de informações como postagens em redes sociais, cotações de ativos financeiros, consumo de combustível do automóvel, informações de sensores de casas inteligentes, equipamentos de UTI, entre tantas outras geradas continuamente, leva a mudanças no armazenamento e processamento de dados. Técnicas de programação reativas, nas quais algoritmos reagem a eventos para disparar ações, têm sido cada vez mais utilizadas e aprimoradas por diversas linguagens e frameworks de desenvolvimento. Essa abordagem altera a maneira como os dados devem ser consultados; deve se monitorar constantemente alterações em bases de dados para disparar eventos e executar ações. Na busca por trabalhos relacionados ao tema, é possível verificar as demandas na área, buscando validar a utilidade do trabalho proposto, com trabalhos que resolvem o problema do consumo de fluxo de dados apenas para suas aplicações. São demonstrados também trabalhos que apresentam técnicas de buscas em fluxo de dados e formas de publicação dos mesmos. Apesar da existência de vários trabalhos foi constatada a demanda por uma solução completa para integração de funções de leitura de fluxo de dados em Tempo Real em sistemas com bancos existentes e em produção. O objetivo do trabalho é projetar e implementar um middleware, com arquitetura baseada em microsserviços, capaz de disponibilizar fluxos de dados em tempo real obtidos pela conversão de consultas em consultas ativas, sem a complexidade de um SGDF (Sistema Gerenciador de Dados em Fluxos) e com a possibilidade de execução sem mudanças em bancos de dados já em uso. A escolha por uma arquitetura baseada em microsserviços possibilitou que o trabalho fosse dividido e resolvido em partes que se comunicam para entregar a solução final. O método criado por contêineres atuando como servidores de replicação para detecção de mudanças nos dados se provou eficiente nos testes comparado com as soluções existentes, uma vez que não prejudica as operações no SGBD (Sistema Gerenciador de Banco de Dados) e apresentou tempos de inserções paralelas a execução de em média 2.10 vezes mais rápido do que técnicas existentes para a solução do problema. Além do que, o uso do MQTT (Message Queue Telemetry Transport - Transporte de Telemetria de Fila de Mensagens) se adequou perfeitamente como protocolo de entrega dos fluxos de dados.