Indicadores de Manutenibilidade no Acesso a Dados Analíticos: Um Estudo Exploratório Comparando SDK Nativo e Query Builders Tipados
Resumo
Os acessos de aplicações a data warehouses analíticos, como o Google BigQuery, costumam ser feitos por SDKs (Software Development Kits) nativos que exigem compor SQL manualmente dentro do código, misturando consulta e lógica de programa, o que reduz legibilidade e manutenibilidade. Este artigo apresenta o TeraORM, um ORM (Object-Relational Mapping) de consultas tipado e encadeável para warehouses analíticos, e avalia diferenças em indicadores estáticos associados à manutenibilidade e na percepção de modificabilidade por desenvolvedores. A investigação combina uma análise estática comparativa de oito serviços reais reescritos do SDK nativo para o ORM com um estudo intrassujeitos com medidas repetidas, no qual oito participantes implementaram tarefas equivalentes nas duas abordagens e responderam a um instrumento de percepção baseado no Modelo de Aceitação de Tecnologia. A análise estática mostra redução de linhas de código em todos os oito serviços (33,8% no agregado) e melhora do Índice de Manutenibilidade em sete deles, a favor do ORM.
Referências
Praveen Borra. 2024. An overview of cloud data warehouses: Amazon redshift (aws), azure synapse (azure), and google bigquery (gcp). international journal of advanced research in computer science 15, 3 (2024), 23–27.
Brendan Burns, Joe Beda, and Kelsey Hightower. 2019. Kubernetes: Up and Running (2 ed.). O’Reilly Media.
Brendan Burns, Brian Grant, David Oppenheimer, Eric Brewer, and John Wilkes. 2016. Borg, Omega, and Kubernetes. Commun. ACM 59, 5 (2016), 50–57. DOI: 10.1145/2890784
B. Cheang, A. Kurnia, A. Lim, and W.-C. Oon. 2003. On automated grading of programming assignments in an academic institution. Computers & Education 41, 2 (2003), 121–131. DOI: 10.1016/S0360-1315(03)00030-7
Don Coleman, Dan Ash, Bruce Lowther, and Paul Oman. 1994. Using Metrics to Evaluate Software System Maintainability. In Computer, Vol. 27. 44–49. DOI: 10.1109/2.303623
Derek Colley, Clare Stanier, and Md Asaduzzaman. 2020. Investigating the Effects of Object-Relational Impedance Mismatch on the Efficiency of Object-Relational Mapping Frameworks. Journal of Database Management 31, 4 (2020), 1–23. DOI: 10.4018/JDM.2020100101
Sébastien Combéfis. 2022. Automated Code Assessment for Education: Review, Classification and Perspectives on Techniques and Tools. Software 1, 1 (2022), 3–30. DOI: 10.3390/software1010002
Folasade Dahunsi, Ayobami Joseph, Oluwafemi Sarumi, and Olumide Obe. 2021. Database management system for mobile crowdsourcing applications. Nigerian Journal of Technology 40, 4 (2021), 713–727.
Data Geekery. 2025. jOOQ: A Typesafe SQL DSL for Java. Disponível em: [link]. Acesso em: 03 jul. 2026.
Fred D. Davis. 1989. Perceived Usefulness, Perceived Ease of Use, and User Acceptance of Information Technology. MIS Quarterly 13, 3 (1989), 319–340. DOI: 10.2307/249008
Drizzle ORM. 2025. Drizzle ORM: A TypeScript ORM for SQL Databases. Disponível em: [link]. Acesso em: 03 jul. 2026.
EEVEE Platform. 2026. EEVEE: Automated Assessment Platform (public instance). [link]. Instância pública implantada em infraestrutura da RNP. Acesso em: 03 jul. 2026.
Amanda Feijó, Ernesto Vicente, and Sérgio Petri. 2020. O Uso das Escalas Likert nas Pesquisas de Contabilidade. Revista Gestão Organizacional 13 (2020), 27–41. DOI: 10.22277/rgo.v13i1.5112
António Gonçalves and Anacleto Correia. 2024. The OECD-Inspired ORM Blueprint for Personal Data Security. In 19th Iberian Conference on Information Systems and Technologies (CISTI’2024). Salamanca, Spain.
Maurice H. Halstead. 1977. Elements of Software Science. Elsevier North-Holland, New York, NY, USA.
Ilja Heitlager, Tobias Kuipers, and Joost Visser. 2007. A Practical Model for Measuring Maintainability. In 6th International Conference on the Quality of Information and Communications Technology (QUATIC). 30–39. DOI: 10.1109/QUATIC.2007.8
International Organization for Standardization. 2011. ISO/IEC 25010:2011 Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — System and software quality models. (2011). Standard.
Christopher Ireland, David Bowers, Michael Newton, and Kevin Waugh. 2009. A Classification of Object-Relational Impedance Mismatch. 2009 First International Confernce on Advances in Databases, Knowledge, and Data Applications (2009), 36–43. DOI: 10.1109/DBKDA.2009.11
Jest Documentation. 2025. Jest: Delightful JavaScript Testing. Disponível em: [link]. Acesso em: 01 jul. 2026.
Vinicius Cardoso Jungers, Eduardo Aparecido de Oliveira, and Vinicius Aparecido De Souza. 2024. Comparação de Desempenho entre os ORMs TypeORM, Prisma e Sequelize em Aplicações Node. js. Revista Eletro^nica e-Fatec 14, 2 (2024).
Barbara A. Kitchenham, Shari Lawrence Pfleeger, Lesley M. Pickard, Peter W. Jones, David C. Hoaglin, Khaled El Emam, and Jarrett Rosenberg. 2002. Preliminary Guidelines for Empirical Research in Software Engineering. IEEE Transactions on Software Engineering 28, 8 (2002), 721–734. DOI: 10.1109/TSE.2002.1027796
Knex.js. 2025. Knex.js: A SQL Query Builder for JavaScript. Disponível em: [link]. Acesso em: 03 jul. 2026.
Kysely. 2025. Kysely: The Type-Safe SQL Query Builder for TypeScript. Disponível em: [link]. Acesso em: 03 jul. 2026.
Rensis Likert. 1932. A Technique for the Measurement of Attitudes. Archives of Psychology 22, 140 (1932), 1–55.
Thomas J. McCabe. 1976. A Complexity Measure. IEEE Transactions on Software Engineering SE-2, 4 (1976), 308–320. DOI: 10.1109/TSE.1976.233837
Erik Meijer, Brian Beckman, and Gavin Bierman. 2006. LINQ: Reconciling Object, Relations and XML in the .NET Framework. In Proceedings of the 2006 ACM SIGMOD International Conference on Management of Data. 706. DOI: 10.1145/1142473.1142552
Sergey Melnik, Andrey Gubarev, Jing Jing Long, Geoffrey Romer, Shiva Shivakumar, Matt Tolton, and Theo Vassilakis. 2010. Dremel: Interactive Analysis ofWeb-Scale Datasets. Proceedings of the VLDB Endowment 3, 1–2 (2010), 330–339. DOI: 10.14778/1920841.1920886
Microsoft. 2025. TypeScript: JavaScript With Syntax For Types. Disponível em: [link]. Acesso em: 01 jul. 2026.
NestJS Documentation. 2025. NestJS: A progressive Node.js framework. Disponível em: [link]. Acesso em: 01 jul. 2026.
Paul Oman and Jack Hagemeister. 1992. Metrics for Assessing a Software System’s Maintainability. In Proceedings Conference on Software Maintenance (ICSM). 337–344. DOI: 10.1109/ICSM.1992.242525
José Paiva, José Leal, and Álvaro Figueira. 2022. Automated Assessment in Computer Science Education: A State-of-the-Art Review. ACM Transactions on Computing Education 22, 3 (2022). DOI: 10.1145/3513140
Prisma. 2025. Prisma ORM: Next-generation Node.js and TypeScript ORM. Disponível em: [link]. Acesso em: 03 jul. 2026.
QueryDSL. 2025. QueryDSL: Unified Queries for Java. Disponível em: [link]. Acesso em: 03 jul. 2026.
Blind Review. Blind Review. Blind Review. Blind Review Blind Review, Blind Review (Blind Review), Blind Review.
TeraORM Project. 2026. TeraORM Study Case: Reproducible Before/After Maintainability Artifacts. [link]. Repositório com serviços T0 (SDK) e T1 (TeraORM) e scripts de LOC e Índice de Manutenibilidade. Acesso em: 03 jul. 2026.
Pieter van Zyl, Derrick G. Kourie, and Andrew Boake. 2006. Comparing the performance of object databases and ORM tools. Proceedings of the 2006 Annual Research Conference of the South African Institute of Computer Scientists and Information Technologists (SAICSIT) (2006), 1–11. DOI: 10.1145/1216262.1216263
Raul Wazlawick. 2017. Metodologia de Pesquisa para Ciência da Computação. Elsevier Brasil.
Claes Wohlin, Per Runeson, Martin Höst, Magnus C. Ohlsson, Björn Regnell, and Anders Wesslén. 2012. Experimentation in Software Engineering. (2012). DOI: 10.1007/978-3-642-29044-2
