Apache Kafka: implementação da técnica de replicação de banco de dados baseada em Middleware para o contexto de raspagem de dados

Detalhes bibliográficos
Autor(a) principal: Benedito Neto, Manoel
Data de Publicação: 2022
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da UFRN
Texto Completo: https://repositorio.ufrn.br/handle/123456789/48850
Resumo: A demanda pela estabilidade e disponibilidade de bancos de dados na era da informação e computação distribuída é cada vez mais urgente. O recente caso de 'Apagão de Dados' de Covid-19, ocorrido em Dezembro de 2021 nos sistemas do DataSUS, pode ser mencionado como uma alarmante ocasião que poderia ter sido amenizada com a implementação de técnicas para replicação de banco de dados. As técnicas de replicação de banco de dados buscam incrementar características de consistência, desempenho e disponibilidade por meio de uma arquitetura de solução capaz de copiar integralmente os dados presentes em um banco. Este trabalho de conclusão de curso tem como objetivo geral implementar a técnica de replicação de banco de dados baseada em middleware com a utilização da ferramenta Apache Kafka para intermediar as trocas de informações entre um banco e sua réplica que, por sua vez, são alimentados por uma aplicação para raspagem de dados. Os dados são armazenados em um banco de dados PostgreSQL através de uma aplicação Python, a qual realiza a raspagem de dados meteorológicos referentes a focos de queimadas, cedidos publicamente pelo Instituto Nacional de Pesquisas Espaciais (INPE) por meio de uma Application Programming Interface (API). Foram utilizados os conceitos de virtualização de serviços para instanciar a aplicação de raspagem de dados, o serviço de banco de dados e um Sistema de Gerenciamento de Banco de Dados (SGBD), a arquitetura de serviços Apache Kafka e um painel de controle para visualização de seu desempenho. Com isso, constatou-se que a metodologia utilizada teve como resultado uma réplica de banco de dados consistente para o sistema de raspagem de dados desenvolvido.
id UFRN_3e0fefa4c4539b794b3d38263c9a42d4
oai_identifier_str oai:https://repositorio.ufrn.br:123456789/48850
network_acronym_str UFRN
network_name_str Repositório Institucional da UFRN
repository_id_str
spelling Benedito Neto, ManoelOliveira, Luiz Affonso Henderson Guedes deSilva, Ivanovitch Medeiros Dantas daViegas, Carlos Manuel Dias2022-07-29T12:53:52Z2022-07-29T12:53:52Z2022-07-26BENEDITO NETO, Manoel. Apache Kafka: implementação da técnica de replicação de banco de dados baseada em Middleware para o contexto de raspagem de dados. 2022. 55f. Trabalho de Conclusão de Curso (Graduação em Engenharia de Computação) - Centro de Tecnologia, Universidade Federal do Rio Grande do Norte, Natal, 2022.https://repositorio.ufrn.br/handle/123456789/48850A demanda pela estabilidade e disponibilidade de bancos de dados na era da informação e computação distribuída é cada vez mais urgente. O recente caso de 'Apagão de Dados' de Covid-19, ocorrido em Dezembro de 2021 nos sistemas do DataSUS, pode ser mencionado como uma alarmante ocasião que poderia ter sido amenizada com a implementação de técnicas para replicação de banco de dados. As técnicas de replicação de banco de dados buscam incrementar características de consistência, desempenho e disponibilidade por meio de uma arquitetura de solução capaz de copiar integralmente os dados presentes em um banco. Este trabalho de conclusão de curso tem como objetivo geral implementar a técnica de replicação de banco de dados baseada em middleware com a utilização da ferramenta Apache Kafka para intermediar as trocas de informações entre um banco e sua réplica que, por sua vez, são alimentados por uma aplicação para raspagem de dados. Os dados são armazenados em um banco de dados PostgreSQL através de uma aplicação Python, a qual realiza a raspagem de dados meteorológicos referentes a focos de queimadas, cedidos publicamente pelo Instituto Nacional de Pesquisas Espaciais (INPE) por meio de uma Application Programming Interface (API). Foram utilizados os conceitos de virtualização de serviços para instanciar a aplicação de raspagem de dados, o serviço de banco de dados e um Sistema de Gerenciamento de Banco de Dados (SGBD), a arquitetura de serviços Apache Kafka e um painel de controle para visualização de seu desempenho. Com isso, constatou-se que a metodologia utilizada teve como resultado uma réplica de banco de dados consistente para o sistema de raspagem de dados desenvolvido.The demand for stability and availability of databases in the age of information and distributed computing is increasingly urgent. The recent Covid-19 'Data Blackout' case, which occurred in December 2021 in DataSUS systems, can be mentioned as an alarming occasion that could have been mitigated with the implementation of database replication techniques. Database replication techniques seek to increase consistency, performance and availability characteristics through a service architecture capable of fully copying the data present in a database. This paper has the general objective of implement the Middleware-based database replication technique using Apache Kafka tool to mediate the exchange of information between a database and its replica in a data scraping application context. The data are stored in a PostgreSQL database, stored by a Python application that, in turn, perform the data scraping of meteorological data referring to fire outbreaks, publicly provided by the National Institute for Space Research (INPE) through an Application Programming Interface (API). The concepts of service virtualization were used to instantiate the data scraping application, the database service and a Database Management System (DBMS), the Apache Kafka service architecture and a control panel for visualization of its performance. Thus, concluded that the methodology applied had resulted in a consistent database replica for the data scraping system developed.Universidade Federal do Rio Grande do NorteEngenharia de ComputaçãoUFRNBrasilEngenharia de Computação e AutomaçãoAttribution-NonCommercial 3.0 Brazilhttp://creativecommons.org/licenses/by-nc/3.0/br/info:eu-repo/semantics/openAccessApache KafkaSistemas distribuídosReplicação de banco de dadosRaspagem de dadosVirtualização de serviçosDistributed systemsDatabase replicationData scrappingService virtualizationApache Kafka: implementação da técnica de replicação de banco de dados baseada em Middleware para o contexto de raspagem de dadosApache Kafka: Implementation of Middleware-Based Database Replication Technique for Data Scraping Contextinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisporreponame:Repositório Institucional da UFRNinstname:Universidade Federal do Rio Grande do Norte (UFRN)instacron:UFRNCC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8920https://repositorio.ufrn.br/bitstream/123456789/48850/2/license_rdf728dfda2fa81b274c619d08d1dfc1a03MD52LICENSElicense.txtlicense.txttext/plain; charset=utf-81484https://repositorio.ufrn.br/bitstream/123456789/48850/3/license.txte9597aa2854d128fd968be5edc8a28d9MD53ORIGINALTCC_Manoel_Benedito_Neto_Final.pdfTCC_Manoel_Benedito_Neto_Final.pdfapplication/pdf1670393https://repositorio.ufrn.br/bitstream/123456789/48850/1/TCC_Manoel_Benedito_Neto_Final.pdfeee1f00db005e6f7230021ffc7d68cc7MD51123456789/488502022-07-29 09:53:53.102oai:https://repositorio.ufrn.br:123456789/48850Tk9OLUVYQ0xVU0lWRSBESVNUUklCVVRJT04gTElDRU5TRQoKCkJ5IHNpZ25pbmcgYW5kIGRlbGl2ZXJpbmcgdGhpcyBsaWNlbnNlLCBNci4gKGF1dGhvciBvciBjb3B5cmlnaHQgaG9sZGVyKToKCgphKSBHcmFudHMgdGhlIFVuaXZlcnNpZGFkZSBGZWRlcmFsIFJpbyBHcmFuZGUgZG8gTm9ydGUgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgb2YKcmVwcm9kdWNlLCBjb252ZXJ0IChhcyBkZWZpbmVkIGJlbG93KSwgY29tbXVuaWNhdGUgYW5kIC8gb3IKZGlzdHJpYnV0ZSB0aGUgZGVsaXZlcmVkIGRvY3VtZW50IChpbmNsdWRpbmcgYWJzdHJhY3QgLyBhYnN0cmFjdCkgaW4KZGlnaXRhbCBvciBwcmludGVkIGZvcm1hdCBhbmQgaW4gYW55IG1lZGl1bS4KCmIpIERlY2xhcmVzIHRoYXQgdGhlIGRvY3VtZW50IHN1Ym1pdHRlZCBpcyBpdHMgb3JpZ2luYWwgd29yaywgYW5kIHRoYXQKeW91IGhhdmUgdGhlIHJpZ2h0IHRvIGdyYW50IHRoZSByaWdodHMgY29udGFpbmVkIGluIHRoaXMgbGljZW5zZS4gRGVjbGFyZXMKdGhhdCB0aGUgZGVsaXZlcnkgb2YgdGhlIGRvY3VtZW50IGRvZXMgbm90IGluZnJpbmdlLCBhcyBmYXIgYXMgaXQgaXMKdGhlIHJpZ2h0cyBvZiBhbnkgb3RoZXIgcGVyc29uIG9yIGVudGl0eS4KCmMpIElmIHRoZSBkb2N1bWVudCBkZWxpdmVyZWQgY29udGFpbnMgbWF0ZXJpYWwgd2hpY2ggZG9lcyBub3QKcmlnaHRzLCBkZWNsYXJlcyB0aGF0IGl0IGhhcyBvYnRhaW5lZCBhdXRob3JpemF0aW9uIGZyb20gdGhlIGhvbGRlciBvZiB0aGUKY29weXJpZ2h0IHRvIGdyYW50IHRoZSBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkbyBSaW8gR3JhbmRlIGRvIE5vcnRlIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdCB0aGlzIG1hdGVyaWFsIHdob3NlIHJpZ2h0cyBhcmUgb2YKdGhpcmQgcGFydGllcyBpcyBjbGVhcmx5IGlkZW50aWZpZWQgYW5kIHJlY29nbml6ZWQgaW4gdGhlIHRleHQgb3IKY29udGVudCBvZiB0aGUgZG9jdW1lbnQgZGVsaXZlcmVkLgoKSWYgdGhlIGRvY3VtZW50IHN1Ym1pdHRlZCBpcyBiYXNlZCBvbiBmdW5kZWQgb3Igc3VwcG9ydGVkIHdvcmsKYnkgYW5vdGhlciBpbnN0aXR1dGlvbiBvdGhlciB0aGFuIHRoZSBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkbyBSaW8gR3JhbmRlIGRvIE5vcnRlLCBkZWNsYXJlcyB0aGF0IGl0IGhhcyBmdWxmaWxsZWQgYW55IG9ibGlnYXRpb25zIHJlcXVpcmVkIGJ5IHRoZSByZXNwZWN0aXZlIGFncmVlbWVudCBvciBhZ3JlZW1lbnQuCgpUaGUgVW5pdmVyc2lkYWRlIEZlZGVyYWwgZG8gUmlvIEdyYW5kZSBkbyBOb3J0ZSB3aWxsIGNsZWFybHkgaWRlbnRpZnkgaXRzIG5hbWUgKHMpIGFzIHRoZSBhdXRob3IgKHMpIG9yIGhvbGRlciAocykgb2YgdGhlIGRvY3VtZW50J3MgcmlnaHRzCmRlbGl2ZXJlZCwgYW5kIHdpbGwgbm90IG1ha2UgYW55IGNoYW5nZXMsIG90aGVyIHRoYW4gdGhvc2UgcGVybWl0dGVkIGJ5CnRoaXMgbGljZW5zZQo=Repositório de PublicaçõesPUBhttp://repositorio.ufrn.br/oai/opendoar:2022-07-29T12:53:53Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)false
dc.title.pt_BR.fl_str_mv Apache Kafka: implementação da técnica de replicação de banco de dados baseada em Middleware para o contexto de raspagem de dados
dc.title.alternative.pt_BR.fl_str_mv Apache Kafka: Implementation of Middleware-Based Database Replication Technique for Data Scraping Context
title Apache Kafka: implementação da técnica de replicação de banco de dados baseada em Middleware para o contexto de raspagem de dados
spellingShingle Apache Kafka: implementação da técnica de replicação de banco de dados baseada em Middleware para o contexto de raspagem de dados
Benedito Neto, Manoel
Apache Kafka
Sistemas distribuídos
Replicação de banco de dados
Raspagem de dados
Virtualização de serviços
Distributed systems
Database replication
Data scrapping
Service virtualization
title_short Apache Kafka: implementação da técnica de replicação de banco de dados baseada em Middleware para o contexto de raspagem de dados
title_full Apache Kafka: implementação da técnica de replicação de banco de dados baseada em Middleware para o contexto de raspagem de dados
title_fullStr Apache Kafka: implementação da técnica de replicação de banco de dados baseada em Middleware para o contexto de raspagem de dados
title_full_unstemmed Apache Kafka: implementação da técnica de replicação de banco de dados baseada em Middleware para o contexto de raspagem de dados
title_sort Apache Kafka: implementação da técnica de replicação de banco de dados baseada em Middleware para o contexto de raspagem de dados
author Benedito Neto, Manoel
author_facet Benedito Neto, Manoel
author_role author
dc.contributor.referees1.none.fl_str_mv Oliveira, Luiz Affonso Henderson Guedes de
dc.contributor.referees2.none.fl_str_mv Silva, Ivanovitch Medeiros Dantas da
dc.contributor.author.fl_str_mv Benedito Neto, Manoel
dc.contributor.advisor1.fl_str_mv Viegas, Carlos Manuel Dias
contributor_str_mv Viegas, Carlos Manuel Dias
dc.subject.por.fl_str_mv Apache Kafka
Sistemas distribuídos
Replicação de banco de dados
Raspagem de dados
Virtualização de serviços
Distributed systems
Database replication
Data scrapping
Service virtualization
topic Apache Kafka
Sistemas distribuídos
Replicação de banco de dados
Raspagem de dados
Virtualização de serviços
Distributed systems
Database replication
Data scrapping
Service virtualization
description A demanda pela estabilidade e disponibilidade de bancos de dados na era da informação e computação distribuída é cada vez mais urgente. O recente caso de 'Apagão de Dados' de Covid-19, ocorrido em Dezembro de 2021 nos sistemas do DataSUS, pode ser mencionado como uma alarmante ocasião que poderia ter sido amenizada com a implementação de técnicas para replicação de banco de dados. As técnicas de replicação de banco de dados buscam incrementar características de consistência, desempenho e disponibilidade por meio de uma arquitetura de solução capaz de copiar integralmente os dados presentes em um banco. Este trabalho de conclusão de curso tem como objetivo geral implementar a técnica de replicação de banco de dados baseada em middleware com a utilização da ferramenta Apache Kafka para intermediar as trocas de informações entre um banco e sua réplica que, por sua vez, são alimentados por uma aplicação para raspagem de dados. Os dados são armazenados em um banco de dados PostgreSQL através de uma aplicação Python, a qual realiza a raspagem de dados meteorológicos referentes a focos de queimadas, cedidos publicamente pelo Instituto Nacional de Pesquisas Espaciais (INPE) por meio de uma Application Programming Interface (API). Foram utilizados os conceitos de virtualização de serviços para instanciar a aplicação de raspagem de dados, o serviço de banco de dados e um Sistema de Gerenciamento de Banco de Dados (SGBD), a arquitetura de serviços Apache Kafka e um painel de controle para visualização de seu desempenho. Com isso, constatou-se que a metodologia utilizada teve como resultado uma réplica de banco de dados consistente para o sistema de raspagem de dados desenvolvido.
publishDate 2022
dc.date.accessioned.fl_str_mv 2022-07-29T12:53:52Z
dc.date.available.fl_str_mv 2022-07-29T12:53:52Z
dc.date.issued.fl_str_mv 2022-07-26
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv BENEDITO NETO, Manoel. Apache Kafka: implementação da técnica de replicação de banco de dados baseada em Middleware para o contexto de raspagem de dados. 2022. 55f. Trabalho de Conclusão de Curso (Graduação em Engenharia de Computação) - Centro de Tecnologia, Universidade Federal do Rio Grande do Norte, Natal, 2022.
dc.identifier.uri.fl_str_mv https://repositorio.ufrn.br/handle/123456789/48850
identifier_str_mv BENEDITO NETO, Manoel. Apache Kafka: implementação da técnica de replicação de banco de dados baseada em Middleware para o contexto de raspagem de dados. 2022. 55f. Trabalho de Conclusão de Curso (Graduação em Engenharia de Computação) - Centro de Tecnologia, Universidade Federal do Rio Grande do Norte, Natal, 2022.
url https://repositorio.ufrn.br/handle/123456789/48850
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv Attribution-NonCommercial 3.0 Brazil
http://creativecommons.org/licenses/by-nc/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution-NonCommercial 3.0 Brazil
http://creativecommons.org/licenses/by-nc/3.0/br/
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal do Rio Grande do Norte
dc.publisher.program.fl_str_mv Engenharia de Computação
dc.publisher.initials.fl_str_mv UFRN
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Engenharia de Computação e Automação
publisher.none.fl_str_mv Universidade Federal do Rio Grande do Norte
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRN
instname:Universidade Federal do Rio Grande do Norte (UFRN)
instacron:UFRN
instname_str Universidade Federal do Rio Grande do Norte (UFRN)
instacron_str UFRN
institution UFRN
reponame_str Repositório Institucional da UFRN
collection Repositório Institucional da UFRN
bitstream.url.fl_str_mv https://repositorio.ufrn.br/bitstream/123456789/48850/2/license_rdf
https://repositorio.ufrn.br/bitstream/123456789/48850/3/license.txt
https://repositorio.ufrn.br/bitstream/123456789/48850/1/TCC_Manoel_Benedito_Neto_Final.pdf
bitstream.checksum.fl_str_mv 728dfda2fa81b274c619d08d1dfc1a03
e9597aa2854d128fd968be5edc8a28d9
eee1f00db005e6f7230021ffc7d68cc7
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)
repository.mail.fl_str_mv
_version_ 1802117495330439168