Journals / Avrupa Bilim ve Teknoloji Dergisi / 2020 / Cilt: 0 - Sayı: Ejosat Özel Sayı 2020 (ARACONF)

ORCA: An ORM/ODM Library for Go Programming Language

ORCA: GO Programlama Dili için ORM/ODM Kütüphanesi

Pages
310–317
Publication Date
2022-10-11
DOI
—
🏛️Bibliographic metadata and full text access for this article are provided via DergiPark.
DergiPark Record ↗
✨

AI Summary & Key Takeaways

AI Insight
⚡ TL;DR(Too Long; Didn't Read)

ORCA also offers local hook and global hook structures that enable the user to write their own functions.

📌 3 Key Takeaways

🎯
Objective & Hypothesis:This paper proposes a new ORM library, namely ORCA, for the Golang (Go) language.
📊
Key Findings & Data:The proposed library supports four different database systems (SQLite, MongoDB, RedisDB and MemcacheDB), regardless of database type.
💡
Conclusion & Impact:ORCA also offers local hook and global hook structures that enable the user to write their own functions.
🔬Design:Research Article
📍Scope:Comprehensive Sample
⚙️Variables:Domain Parameters

Abstract

This paper proposes a new ORM library, namely ORCA, for the Golang (Go) language. The proposed library supports four different database systems (SQLite, MongoDB, RedisDB and MemcacheDB), regardless of database type. Thus, unlike its competitors, it offers the possibility to use the database without changing the source code ıf when the database or even the database type is changed. Besides, ORCA performs better with a more user friendly syntax compared to its competitors. ORCA also offers local hook and global hook structures that enable the user to write their own functions.

Özet

Bu bildiride Go olarak bilinen Golang dili için geliştirilmiş ORCA adında yeni bir ORM kütüphanesi sunulmaktadır. Geliştirilenkütüphane SQLite, MongoDB, RedisDB ve MemcacheDB olmak üzere dört farklı veritabanı sistemine veritabanı tipinden bağımsızolarak destek sunmaktadır. Böylelikle rakiplerinden farklı olarak, veritabanı ve hatta veritabanı tipi değiştirildiğinde bile uygulamanınkaynak kodunu değiştirmeden kullanabilme imkanı sunmaktadır. Bunun dışında benzerlerine göre daha kullanıcı dostu ve dahayüksek performans sağlayan bir kütüphanedir. Ayrıca kullanıcının kendi fonksiyonlarını yazabilmesini sağlayan yerel kanca (localhook) ve global kanca (global hook) yapılarını sunmaktadır.

🔖

Cite This Article

KAYMAZ, M. E., ÖZTÜRK, Ö. (2022). ORCA: An ORM/ODM Library for Go Programming Language. Avrupa Bilim ve Teknoloji Dergisi, Cilt: 0 - Sayı: Ejosat Özel Sayı 2020 (ARACONF), 310–317. https://ajindex.com/articles/457523

📄 Full Text PDF Viewer

📄

PDF görüntüleyici hazırlanıyor...

References (1)

  1. Y. Ueda and M. Ohara, “Performance competitiveness of a statically compiled language for server-side Web applications,” in ISPASS 2017 - IEEE International Symposium on Performance Analysis of Systems and Software, 2017, pp. 13–22. [2]“blueperf/acmeair-monolithic-java: This version of Acme air is redesigned removing hardcoded components to WXS and also optimized for Cloud Data Services.” [Online]. Available: https://github.com/blueperf/acmeair-monolithic-java. [Accessed: 03- Feb-2020]. [3]“blueperf/acmeair-monolithic-nodejs: A Node.js implementation of the Acme Air Sample Application. With datastore support of MongoDB. With runtime support of Bluemix/CloudFoundry, Docker. With Micro-Services.” [Online]. Available: https://github.com/blueperf/acmeair-monolithic-nodejs. [Accessed: 03-Feb-2020]. [4]“index | TIOBE - The Software Quality Company.” [Online]. Available: https://www.tiobe.com/tiobe-index/. [Accessed: 13-Feb2020]. [5]“jinzhu/gorm: The fantastic ORM library for Golang, aims to be developer friendly.” [Online]. Available: https://github.com/jinzhu/gorm. [Accessed: 03-Feb-2020]. [6]“xorm/xorm: Simple and Powerful ORM for Go, support mysql,postgres,tidb,sqlite3,mssql,oracle - xorm - Gitea: Git with a cup of tea.” [Online]. Available: https://gitea.com/xorm/xorm. [Accessed: 03-Feb-2020]. [7]“src-d/go-kallax: Kallax is a PostgreSQL typesafe ORM for the Go language.” [Online]. Available: https://github.com/src-d/gokallax. [Accessed: 03-Feb-2020]. [8]“ezbuy/redis-orm: write db yaml once, generate go orm code everywhere.” [Online]. Available: https://github.com/ezbuy/redisorm. [Accessed: 03-Feb-2020]. [9]“zebresel-com/mongodm: A golang object document mapper (ODM) for MongoDB.” [Online]. Available: https://github.com/zebresel-com/mongodm. [Accessed: 03-Feb-2020]. [10]“MehmetEminKaymaz/Orca: Simple and Powerful ORM for Go Language.” [Online]. Available: https://github.com/MehmetEminKaymaz/Orca. [Accessed: 13-Feb-2020]. [11]“go-pg/pg: Golang ORM with focus on PostgreSQL features and performance.” [Online]. Available: https://github.com/go-pg/pg. [Accessed: 13-Feb-2020]. [12]“PolyglotPersistence.” [Online]. Available: https://martinfowler.com/bliki/PolyglotPersistence.html. [Accessed: 03-Feb-2020]. [13]“list - The Go Programming Language.” [Online]. Available: https://golang.org/pkg/container/list/. [Accessed: 13-Feb-2020]. [14]K. Elhardt and R. Bayer, “A Database Cache for High Performance and Fast Restart in Database Systems,” ACM Trans. Database Syst.,