Impacto da evolução de esquema de banco de dados na disponibilidade de software
Autor(a) principal: | |
---|---|
Data de Publicação: | 2023 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Repositório Institucional da UFRN |
Texto Completo: | https://repositorio.ufrn.br/handle/123456789/55032 |
Resumo: | Ao longo da vida de um software que utiliza um banco de dados relacional para armazenarinformações, observamos que a evolução natural da aplicação leva à alterações no esquemado banco de dados, que é a estrutura que define como as informações são armazenadas.Durante a execução das operações que são responsáveis por alterar o esquema do banco dedados podem ocorrer interrupções no acesso aos dados armazenados no banco de dados,fazendo com que uma aplicação em execução que depende desses dados fique inoperante atéque a operação de atualização do esquema seja finalizada. Nós chamamos essas operaçõesde atualização do esquema que causam interrupção no acesso aos dados de “operaçõesbloqueantes”. As operações bloqueantes são um problema particularmente em sistemasque não podem ser interrompidos, como é o caso de sistemas de monitoramento, sistemasde venda com alto volume de tráfego, aplicações governamentais etc. Nesse trabalho nósestudamos a evolução do esquema do banco de dados de uma aplicação do mundo real paraentender a natureza das operações de alteração de esquema e prever o impacto delas nadisponibilidade do software. Além disso, realizamos uma série de experimentos controladoscom o objetivo de analisar o impacto das operações bloqueantes na disponibilidade de umaaplicação em uso no momento da evolução do esquema. Por fim, nosso trabalho implementaalgumas soluções, sugeridas pelos praticantes da indústria, para resolver o problema dedisponibilidade dos dados durante a evolução do esquema. Assim, os mesmos conjuntos deexperimentos realizados foram repetidos num novo cenário onde as sugestões da indústriaforam implementadas. Nossos resultados mostram que as sugestões dos praticantes daindústria são eficientes até um determinado limite, de tal maneira que bancos de dadoscom um número muito grande de registros podem sentir uma diminuição considerável notempo de indisponibilidade do banco de dados, porém não o suficiente para o usuário finalde uma aplicação. |
id |
UFRN_6640a1e52dee2de9018dff0f60b7cbca |
---|---|
oai_identifier_str |
oai:https://repositorio.ufrn.br:123456789/55032 |
network_acronym_str |
UFRN |
network_name_str |
Repositório Institucional da UFRN |
repository_id_str |
|
spelling |
Silva, Willie Lawrence da Paz01663370486http://lattes.cnpq.br/4952238446892909https://orcid.org/0000-0002-8286-0017http://lattes.cnpq.br/8833409749475821Kulesza, Uirahttps://orcid.org/0000-0002-5467-6458http://lattes.cnpq.br/0189095897739979Almeida, Rodrigo Bonifacio dehttps://orcid.org/0000-0002-2380-2829http://lattes.cnpq.br/0368311142108150Barbosa, Eiji Adachi Medeiros2023-10-19T20:05:21Z2023-10-19T20:05:21Z2023-04-28SILVA, Willie Lawrence da Paz. Impacto da evolução de esquema de banco de dados na disponibilidade de software. 2023. 70 f. Dissertação (Mestrado Profissional em Tecnologia da Informação) - Universidade Federal do Rio Grande do Norte, Natal, 2023.https://repositorio.ufrn.br/handle/123456789/55032Ao longo da vida de um software que utiliza um banco de dados relacional para armazenarinformações, observamos que a evolução natural da aplicação leva à alterações no esquemado banco de dados, que é a estrutura que define como as informações são armazenadas.Durante a execução das operações que são responsáveis por alterar o esquema do banco dedados podem ocorrer interrupções no acesso aos dados armazenados no banco de dados,fazendo com que uma aplicação em execução que depende desses dados fique inoperante atéque a operação de atualização do esquema seja finalizada. Nós chamamos essas operaçõesde atualização do esquema que causam interrupção no acesso aos dados de “operaçõesbloqueantes”. As operações bloqueantes são um problema particularmente em sistemasque não podem ser interrompidos, como é o caso de sistemas de monitoramento, sistemasde venda com alto volume de tráfego, aplicações governamentais etc. Nesse trabalho nósestudamos a evolução do esquema do banco de dados de uma aplicação do mundo real paraentender a natureza das operações de alteração de esquema e prever o impacto delas nadisponibilidade do software. Além disso, realizamos uma série de experimentos controladoscom o objetivo de analisar o impacto das operações bloqueantes na disponibilidade de umaaplicação em uso no momento da evolução do esquema. Por fim, nosso trabalho implementaalgumas soluções, sugeridas pelos praticantes da indústria, para resolver o problema dedisponibilidade dos dados durante a evolução do esquema. Assim, os mesmos conjuntos deexperimentos realizados foram repetidos num novo cenário onde as sugestões da indústriaforam implementadas. Nossos resultados mostram que as sugestões dos praticantes daindústria são eficientes até um determinado limite, de tal maneira que bancos de dadoscom um número muito grande de registros podem sentir uma diminuição considerável notempo de indisponibilidade do banco de dados, porém não o suficiente para o usuário finalde uma aplicação.In the software’s life cycle that uses relational databases to store data, we observed that the natural evolution of the application takes to changes in the database schema, that is the structure that defines how the data is stored. During the execution of operations responsible for changes in the database schema, the database can interrupt the data access until the schema change operation finishes. We call these operations that cause interruptions in data access “blocking operations”. The blocking operations are a problem, particularly in systems that need high availability as monitoring systems, sale systems with high traffic volume, government systems, etc. In this work, we study the database schema evolution of a real-world application to understand the schema change operation’s blocking nature. Moreover, we performed a series of controlled experiments aiming to analyze the impact of schema change operations in the availability of an application being used during the the schema evolution. Finally, our work implements suggestions from industry practitioners to solve the data unavailability problem during the schema evolution. Thus, the same experiment set was repeated in a new scenario where the practitioner’s suggestions were applied. Our results show that the suggestions from practitioners are efficient until a limit, in such a way that databases with a high number of registries can have an evident decrease in the duration of database unavailability, but not enough to the final userUniversidade Federal do Rio Grande do NortePrograma de Pós-graduação em Tecnologia da InformaçãoUFRNBrasilesquema de banco de dadosevolução de softwaredisponibilidade de softwareImpacto da evolução de esquema de banco de dados na disponibilidade de softwareinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UFRNinstname:Universidade Federal do Rio Grande do Norte (UFRN)instacron:UFRNORIGINALImpactoEvolucaoEsquema_Silva_2023.pdfapplication/pdf952440https://repositorio.ufrn.br/bitstream/123456789/55032/1/ImpactoEvolucaoEsquema_Silva_2023.pdfe141c3e35f962b06115c31ddb80720acMD51123456789/550322023-11-01 12:59:05.013oai:https://repositorio.ufrn.br:123456789/55032Repositório de PublicaçõesPUBhttp://repositorio.ufrn.br/oai/opendoar:2023-11-01T15:59:05Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)false |
dc.title.pt_BR.fl_str_mv |
Impacto da evolução de esquema de banco de dados na disponibilidade de software |
title |
Impacto da evolução de esquema de banco de dados na disponibilidade de software |
spellingShingle |
Impacto da evolução de esquema de banco de dados na disponibilidade de software Silva, Willie Lawrence da Paz esquema de banco de dados evolução de software disponibilidade de software |
title_short |
Impacto da evolução de esquema de banco de dados na disponibilidade de software |
title_full |
Impacto da evolução de esquema de banco de dados na disponibilidade de software |
title_fullStr |
Impacto da evolução de esquema de banco de dados na disponibilidade de software |
title_full_unstemmed |
Impacto da evolução de esquema de banco de dados na disponibilidade de software |
title_sort |
Impacto da evolução de esquema de banco de dados na disponibilidade de software |
author |
Silva, Willie Lawrence da Paz |
author_facet |
Silva, Willie Lawrence da Paz |
author_role |
author |
dc.contributor.authorID.pt_BR.fl_str_mv |
01663370486 |
dc.contributor.authorLattes.pt_BR.fl_str_mv |
http://lattes.cnpq.br/4952238446892909 |
dc.contributor.advisorID.pt_BR.fl_str_mv |
https://orcid.org/0000-0002-8286-0017 |
dc.contributor.advisorLattes.pt_BR.fl_str_mv |
http://lattes.cnpq.br/8833409749475821 |
dc.contributor.referees1.none.fl_str_mv |
Kulesza, Uira |
dc.contributor.referees1ID.pt_BR.fl_str_mv |
https://orcid.org/0000-0002-5467-6458 |
dc.contributor.referees1Lattes.pt_BR.fl_str_mv |
http://lattes.cnpq.br/0189095897739979 |
dc.contributor.referees2.none.fl_str_mv |
Almeida, Rodrigo Bonifacio de |
dc.contributor.referees2ID.pt_BR.fl_str_mv |
https://orcid.org/0000-0002-2380-2829 |
dc.contributor.referees2Lattes.pt_BR.fl_str_mv |
http://lattes.cnpq.br/0368311142108150 |
dc.contributor.author.fl_str_mv |
Silva, Willie Lawrence da Paz |
dc.contributor.advisor1.fl_str_mv |
Barbosa, Eiji Adachi Medeiros |
contributor_str_mv |
Barbosa, Eiji Adachi Medeiros |
dc.subject.por.fl_str_mv |
esquema de banco de dados evolução de software disponibilidade de software |
topic |
esquema de banco de dados evolução de software disponibilidade de software |
description |
Ao longo da vida de um software que utiliza um banco de dados relacional para armazenarinformações, observamos que a evolução natural da aplicação leva à alterações no esquemado banco de dados, que é a estrutura que define como as informações são armazenadas.Durante a execução das operações que são responsáveis por alterar o esquema do banco dedados podem ocorrer interrupções no acesso aos dados armazenados no banco de dados,fazendo com que uma aplicação em execução que depende desses dados fique inoperante atéque a operação de atualização do esquema seja finalizada. Nós chamamos essas operaçõesde atualização do esquema que causam interrupção no acesso aos dados de “operaçõesbloqueantes”. As operações bloqueantes são um problema particularmente em sistemasque não podem ser interrompidos, como é o caso de sistemas de monitoramento, sistemasde venda com alto volume de tráfego, aplicações governamentais etc. Nesse trabalho nósestudamos a evolução do esquema do banco de dados de uma aplicação do mundo real paraentender a natureza das operações de alteração de esquema e prever o impacto delas nadisponibilidade do software. Além disso, realizamos uma série de experimentos controladoscom o objetivo de analisar o impacto das operações bloqueantes na disponibilidade de umaaplicação em uso no momento da evolução do esquema. Por fim, nosso trabalho implementaalgumas soluções, sugeridas pelos praticantes da indústria, para resolver o problema dedisponibilidade dos dados durante a evolução do esquema. Assim, os mesmos conjuntos deexperimentos realizados foram repetidos num novo cenário onde as sugestões da indústriaforam implementadas. Nossos resultados mostram que as sugestões dos praticantes daindústria são eficientes até um determinado limite, de tal maneira que bancos de dadoscom um número muito grande de registros podem sentir uma diminuição considerável notempo de indisponibilidade do banco de dados, porém não o suficiente para o usuário finalde uma aplicação. |
publishDate |
2023 |
dc.date.accessioned.fl_str_mv |
2023-10-19T20:05:21Z |
dc.date.available.fl_str_mv |
2023-10-19T20:05:21Z |
dc.date.issued.fl_str_mv |
2023-04-28 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.citation.fl_str_mv |
SILVA, Willie Lawrence da Paz. Impacto da evolução de esquema de banco de dados na disponibilidade de software. 2023. 70 f. Dissertação (Mestrado Profissional em Tecnologia da Informação) - Universidade Federal do Rio Grande do Norte, Natal, 2023. |
dc.identifier.uri.fl_str_mv |
https://repositorio.ufrn.br/handle/123456789/55032 |
identifier_str_mv |
SILVA, Willie Lawrence da Paz. Impacto da evolução de esquema de banco de dados na disponibilidade de software. 2023. 70 f. Dissertação (Mestrado Profissional em Tecnologia da Informação) - Universidade Federal do Rio Grande do Norte, Natal, 2023. |
url |
https://repositorio.ufrn.br/handle/123456789/55032 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.publisher.none.fl_str_mv |
Universidade Federal do Rio Grande do Norte |
dc.publisher.program.fl_str_mv |
Programa de Pós-graduação em Tecnologia da Informação |
dc.publisher.initials.fl_str_mv |
UFRN |
dc.publisher.country.fl_str_mv |
Brasil |
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/55032/1/ImpactoEvolucaoEsquema_Silva_2023.pdf |
bitstream.checksum.fl_str_mv |
e141c3e35f962b06115c31ddb80720ac |
bitstream.checksumAlgorithm.fl_str_mv |
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_ |
1814832703125585920 |