Use este identificador para citar ou linkar para este item:
https://www.repositorio.mar.mil.br/handle/ripcmb/846562
Título: | Analyzing the adoption of database engines throughout the life cycle of Java open source projects |
Autor(es): | Santos, Raquel Maximino de Barros |
Orientador(es): | Murta, Leonardo Gresta Paulino Murta, Vanessa Braganholo |
Palavras-chave: | Database engines adoption DBMS adoption Java |
Áreas de conhecimento da DGPM: | Engenharia de Software |
Data do documento: | 2023 |
Editor: | Universidade Federal Fluminense (UFF) |
Descrição: | Sistemas de Gerência de Banco de Dados (SGBDs) são amplamente utilizados para armazenar, recuperar e gerenciar as vastas quantidades de dados que os aplicativos modernos manipulam. Existem vários SGBDs disponíveis na indústria. Embora alguns estudos tenham examinado a coevolução de SGBDs e do código-fonte das aplicações, ainda há uma lacuna de pesquisa no exame da adoção de SGBDs em sistemas reais. Conhecer os SGBDs mais comumente usados, com que frequência eles são usados juntos e seus padrões de substituição pode ajudar os gerentes de projeto a tomar decisões mais assertivas sobre a adoção de SGBDs. Desta forma, conduziu-se uma investigação histórica em 317 projetos populares de código aberto, voltados para usuários finais, desenvolvidos em Java e hospedados no GitHub, com o intuito de determinar se esses projetos empregaram, em algum momento, algum dos 50 SGBDs mais populares de acordo com o ranking da DBEngines. Foi observado que o MySQL é o SGBD relacional mais utilizado, sucedido pelo PostgreSQL e H2. Considerando apenas SGBDs não relacionais, o Redis surge como a escolha predominante, com Cassandra logo atrás. SGBDs multimodelos são os mais bem classificados em projetos de gerenciamento de infraestrutura. Além disso, foram encontradas diferentes combinações de subconjuntos de 11 SGBDs sendo usados juntos no início do ciclo de vida dos projetos (por exemplo, PostgreSQL e MySQL). Na metade do ciclo de vida dos projetos, foram encontradas combinações de 25 SGBDs sendo usados juntos (por exemplo, MS SQL Server e Oracle). Finalmente, ao final do ciclo de vida, esse número aumenta para 29 SGBDs (por exemplo, Redis e H2). Também foram investigadas as substituições de SGBDs. Ao minerar padrões sequenciais, descobriu-se 20 situações em que projetos substituíram SGBDs. Por exemplo, observou-se 11 substituições do PostgreSQL em 8 projetos do corpus, sendo o MySQL uma escolha de substituição dominante, já que substituiu o PostgreSQL em quatro instâncias. Por outro lado, nenhum projeto mudou do MySQL para o PostgreSQL. Em resumo, este trabalho oferece insights sobre os padrões de adoção, co-uso e tendências de substituição de SGBD. |
Abstract: | Database Management Systems (DBMSs) are largely used to store, retrieve, and manage the vast amounts of data that modern applications handle. There are various DBMSs available in the industry. While a few studies have examined the coevolution of DBMSs and application source code, there is a research gap in examining the adoption of DBMSs in real systems. Knowing the most commonly used DBMSs, how frequently they are used together, and their patterns of replacement can assist project managers in making informed decisions about DBMS adoption. Therefore, we conducted a historical investigation of 317 popular open-source end-user applications developed in Java and hosted on GitHub. We determined if these projects had, at any point, employed any of the top 50 DBMSs as ranked by DB-Engines. We observed that MySQL is the most utilized relational DBMS, succeeded by PostgreSQL and H2. Considering only non-relational DBMSs, Redis emerges as the predominant choice, with Cassandra trailing behind. Multi-model DBMSs are top-ranked in Infrastructure Management projects. Furthermore, we found different combinations of subsets of 11 DBMSs being used together at the beginning of the project life cycle (e.g., PostgreSQL and MySQL). Halfway through the project life cycle, we found combinations of 25 DBMSs being used together (e.g., MS SQL Server and Oracle). Finally, at the end of the life cycle, this number increases to 29 DBMSs (e.g., Redis and H2). We also investigated the replacements of DBMSs. We mined sequential patterns and discovered 20 situations where projects replaced DBMSs. For example, we could observe 11 replacements of PostgreSQL in 8 projects in our corpus, with MySQL being a dominant replacement choice, having superseded PostgreSQL in four instances. Conversely, no project switched from MySQL to PostgreSQL. In summary, this work offers insights into the patterns of DBMS adoption, co-use, and replacement tendencies. |
Tipo de Acesso: | Acesso aberto |
URI: | https://www.repositorio.mar.mil.br/handle/ripcmb/846562 |
Tipo: | Dissertação |
Aparece nas coleções: | Tecnologia da Informação: Coleção de Dissertações |
Arquivos associados a este item:
Arquivo | Descrição | Tamanho | Formato | |
---|---|---|---|---|
Dissertacao_Raquel.pdf | 1,38 MB | Adobe PDF | Visualizar/Abrir |
Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.