INTCK: uma arquitetura para sincronização de dados utilizando Change Data Capture e Kafka
Carregando...
Arquivos
Data
2024-12-16
Autores
Orientador
Ahlert, Edson Moacir
Banca
Schneiders, Luis Antônio
Wolf, Alexandre Sturmer
Título do periódico
ISSN
Título do Volume
Editor
Resumo
A evolução tecnológica traz benefícios, mas também desafios significativos, especialmente na integração de sistemas legados com novas aplicações. Muitas indústrias ainda utilizam métodos manuais, como planilhas, para sincronização de dados, resultando em processos lentos e suscetíveis a erros. Em ambientes corporativos, onde os dados são gerados continuamente, é essencial que estejam disponíveis em tempo real. Operações empresariais específicas, como cadastros de precificação, devem ser acessíveis e integradas, mesmo envolvendo objetos personalizados e regras de negócio complexas. Essa centralização exige sistemas adaptáveis e robustos para garantir a eficiência organizacional, mas enfrenta riscos de indisponibilidade e atraso de dados, impactando as atividades. Este trabalho propõe uma arquitetura robusta para superar esses desafios, utilizando Change Data Capture (CDC) para monitorar alterações em sistemas legados e Apache Kafka para transportar essas mudanças. Serviços desenvolvidos em C# consomem os dados, realizando transformações e integrações com novos sistemas via APIs. A solução assegura integridade, disponibilidade em tempo real e escalabilidade automática, ajustando consumidores e produtores conforme a demanda. Com observabilidade contínua, permite o monitoramento de fluxos e identificação de gargalos. A arquitetura otimiza a transferência de dados, reduz erros, aumenta a velocidade de integração e melhora a produtividade, reduzindo custos operacionais. Aplicada em um ambiente real, demonstrou melhorar a confiabilidade e eficiência dos sistemas. Este estudo confirma a viabilidade técnica e sugere sua aplicação em outras áreas de sistemas legados.
Technological evolution brings numerous benefits but also significant challenges, particularly in integrating legacy systems with new applications. Many industries still rely on manual methods, such as spreadsheets, for data synchronization, leading to slow and error-prone processes. In corporate environments, where data is continuously generated, real-time availability is essential. Specific business operations, such as pricing registrations, must be accessible and integrated, even when involving customized objects and complex business rules. This centralization demands adaptable and robust systems to ensure organizational efficiency but faces risks related to data unavailability and delays, which can impact operations. This study proposes a robust architecture to address these challenges, leveraging Change Data Capture (CDC) to monitor changes in legacy systems and Apache Kafka to transport these changes. Services developed in C# consume the data, performing transformations and integrating it into new systems via APIs. The solution ensures data integrity, real-time availability, and automatic scalability by dynamically adjusting consumers and producers according to demand. With continuous observability, it allows for monitoring data flows and identifying bottlenecks. The architecture optimizes data transfer, reduces errors, increases integration speed, and enhances productivity while lowering operational costs. Applied in a real-world environment, it demonstrated improved reliability and system efficiency. This study confirms the technical feasibility of the solution and suggests its application in other areas of legacy systems.
Technological evolution brings numerous benefits but also significant challenges, particularly in integrating legacy systems with new applications. Many industries still rely on manual methods, such as spreadsheets, for data synchronization, leading to slow and error-prone processes. In corporate environments, where data is continuously generated, real-time availability is essential. Specific business operations, such as pricing registrations, must be accessible and integrated, even when involving customized objects and complex business rules. This centralization demands adaptable and robust systems to ensure organizational efficiency but faces risks related to data unavailability and delays, which can impact operations. This study proposes a robust architecture to address these challenges, leveraging Change Data Capture (CDC) to monitor changes in legacy systems and Apache Kafka to transport these changes. Services developed in C# consume the data, performing transformations and integrating it into new systems via APIs. The solution ensures data integrity, real-time availability, and automatic scalability by dynamically adjusting consumers and producers according to demand. With continuous observability, it allows for monitoring data flows and identifying bottlenecks. The architecture optimizes data transfer, reduces errors, increases integration speed, and enhances productivity while lowering operational costs. Applied in a real-world environment, it demonstrated improved reliability and system efficiency. This study confirms the technical feasibility of the solution and suggests its application in other areas of legacy systems.
Descrição
Palavras-chave
Sincronização de dados; Apache Kafka; Escalabilidade; APIs; Change Data Capture (CDC); Data synchronization; Scalability
Citação
BIASI, Gabriela. INTCK: uma arquitetura para sincronização de dados utilizando Change Data Capture e Kafka. 2024. Monografia (Graduação em Engenharia da Computação) – Universidade do Vale do Taquari - Univates, Lajeado, 09 dez. 2024. Disponível em: http://hdl.handle.net/10737/4678.