Apache Kafka: implementação da técnica de replicação de banco de dados baseada em Middleware para o contexto de raspagem de dados
Autor(a) principal: | |
---|---|
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 |