UMA COMPARAÇÃO ENTRE CAMADAS DE PERSISTÊNCIA USANDO GOLANG

driver nativo e gorm

Autores

  • Paulo Nunes Fatec Taquaritinga
  • Gislaine Cristina da Conceição

DOI:

https://doi.org/10.31510/infa.v22i1.2233

Palavras-chave:

Golang, Driver Nativo, GORM, Performance, Melhor Desempenho

Resumo

O Golang oferece duas abordagens principais para persistência de dados: driver nativo e GORM. Como metodologia foi desenvolvido um benchmark comparativo entre o as duas abordagens do Golang. O processo da análise realizada ocorreu entre o driver nativo e o GORM, onde foi possível constatar que o driver nativo usa o pacote database/sql, proporcionando maior controle sobre queries e conexões, além de garantir alta performance, pois evita abstrações adicionais. No entanto, requer mais código para gerenciamento de transações e conversão de tipos. Já o GORM, um ORM para Golang, simplifica o acesso ao banco de dados ao permitir operações usando estruturas Go, reduzindo a necessidade de escrever SQL manualmente. Ele oferece facilidade de uso, mapeamento automático de tabelas e gerenciamento simplificado de conexões, mas pode sacrificar desempenho em consultas complexas. Em resumo, o driver nativo é ideal para aplicações que exigem máxima performance e flexibilidade, enquanto o GORM facilita o desenvolvimento e manutenção do código. A escolha entre eles depende do equilíbrio necessário entre desempenho, controle e produtividade no projeto.

Downloads

Os dados de download ainda não estão disponíveis.

Referências

ALURA. GORM ORM: Mapeamento de Objeto Relacional em GO. Disponível em: https://www.alura.com.br/artigos/GORM-orm-mapeamento-objeto-relacional-go?srsltid=AfmBOooNyPnD3Kj1e5jZR0tiuTGPbCTMHvZ0wzAAdbZNIAiMF_SSBGCq. Acesso em 30 mar. 2025.

BERKELEY, c. C. Chapter 5: Sequences and Coroutines. 2015. Disponível em:

http://wla.berkeley.edu/~cs61a/fa11/lectures/streams.html#coroutines.Acesso em 29 mar. 2025

BINET, S. Go-HEP: writing concurrent software with ease and go. Journal of Physics:

Conference Series, IOP Publishing, v. 1085, p. 052012, sep 2018. Disponível em: DOI: https://doi.org/10.1088/1742-6596/1085/5/052012

https://doi.org/10.1088%2F1742-6596%2F1085%2F5%2F052012. Acesso em 29 mar. 2025

CLEMENTE, P. Go (Golang): a linguagem criada pela Google. Disponível em: https://www.rocketseat.com.br/blog/artigos/post/go-a-linguagem-criado-pelo-google. Acesso em 01 abr. 2025

COUNCIL, I. Internet of Things. 2015. Disponível em:http://www.theinternetofthings.eu. Acesso em 01 abr. 2025

GOLANG. Goroutines. 2015. Disponível em: https://Golang.org/doc/effective_go.html/

goroutines. Acesso em 01 abr. 2025

MEIJER, P. D. E. Static Typing Where Possible, Dynamic Typing When Needed: The End of the Cold War Between Programming Languages. 2015. Disponível em: https://www.ics.uci.edu/~lopes/teaching/inf212W12/readings/rdl04meijer.pdf. Acesso em 30 mar. 2025

MICROSYSTEMS, S. Memory Management in the Java HotSpotTM Virtual Machine.

[S.l.], 2006. Disponível em: <http://www.oracle.com/technetwork/java/javase/

memorymanagement-whitepaper-150215.pdf. Acesso em 30 mar. 2025

ORACLE. Java Interfaces. 2015. Disponível em: <https://docs.oracle.com/javase/tutorial/

java/concepts/interface.html. Acesso em 30 mar. 2025

SOARES, J.L.S. Um estudo sobre os mecanismos de concorrência da linguagem GO. Disponível em: https://pantheon.ufrj.br/handle/11422/11452?locale=pt_BR. Acesso em 29 mar. 2025

YAVATKAR, R. Interprocess communication. In: . [s.n.], 2015. cap. 1.3 Message Passing.

Disponível em: http://www.cs.unc.edu/~dewan/242/s04/notes/ipc.PDF. Acesso em 29 mar. 2025

Downloads

Publicado

24/10/2025

Edição

Seção

Tecnologia em Informática

Como Citar

NUNES, Paulo; CONCEIÇÃO, Gislaine Cristina da. UMA COMPARAÇÃO ENTRE CAMADAS DE PERSISTÊNCIA USANDO GOLANG: driver nativo e gorm. Revista Interface Tecnológica, Taquaritinga, SP, v. 22, n. 1, p. 147–157, 2025. DOI: 10.31510/infa.v22i1.2233. Disponível em: https://revista.fatectq.edu.br/interfacetecnologica/article/view/2233. Acesso em: 5 dez. 2025.