Home / Vol. 4 - No. 1 / Article
PEMANFAATAN CONCURRENCY UNTUK MEMINIMALKAN WAKTU PROSES DALAM MIGRASI DATA DARI DATABASE MONGODB KE POSTGRESQL MENGGUNAKAN BAHASA PEMROGRAMAN GO
Abstract
Migrasi data adalah sebuah proses yang bertujuan untuk memindakan sekumpulan data dari satu format/platform ke format/platform yang lain. Selain itu, migrasi data juga bertujuan untuk berpindah dari sistem yang lama ke sistem yang baru agar performa perangkat lunak atau program dapat meningkat dan menjadi lebih baik. Salah satu tantangan yang terdapat pada migrasi data adalah waktu yang dibutuhkan untuk memproses data. Bahasa Pemrograman Go yang mempunyai fitur concurrency dan comunication dapat menjawab tantangan tersebut. Penelitan ini bertujuan untuk membuat sebuah program yang menerapkan concurreny untuk melakukan migrasi data. Dari hasil penelitian, dengan menggunakan concurrency mendapatkan waktu 1,9 detik untuk memindahkan 9,335 dari database MongoDB ke PostgreSQL. Waktu ini lebih cepat dibandingkan tanpa menggunakan concurrency. Yang mana proses tapa concurrency memerlukan waktu hampir 6 detik untuk memindahkan data. Lebih lambat 3-4 detik dari program yang berjalan secara concurrent.
Referensi
Abuali dan O. M. Abuali, “MongoDB and NoSQL injection and prevention”, doi: 10.13140/RG.2.2.29434.67524.
Chabbi dan M. K. Ramanathan, “A study of real-world data races in Golang,” dalam Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Association for Computing Machinery, Jun 2022, hlm. 474–489. doi: 10.1145/3519939.3523720.
Dařena, “Database System Selection For Marketing Strategies Support In Information Systems.” Gregg Chris dan Troccoli Nick, “CS110 Lecture 10: Threads and Mutexes.”
Doxsey, Introducing Go : build reliable, scalable programs.
Kayyum Shaikh, S. Borde, B. K. Shaikh Assistant Professor, dan P. Mahesh Borde Assistant Professor, “Quantitative Evaluation by applying metrics to existing ‘GO’ with other programming language,” 2013. [Daring]. Tersedia pada: https://www.researchgate.net/publication/285581592
Lincopinis, M. Nurwina Quirante, M. A. Nurwina Quirante, E. M. Sumagang, dan D. R. Lincopinis, “Go Programming Language: Overview.” [Daring]. Tersedia pada: https://orcid.org/0000-0001-9503-8965,
M. S. Sabri dan K. Sudhakar, “Difference between SQL and NoSQL Databases,” Journal Homepage: International journal of Management, vol. 8, 2018, [Daring]. Tersedia pada: http://www.ijmra.us,http://www.ijmra.us,
Najafizadeh dan S. A. Javadi, “Jump over Golang channels”, doi:10.13140/RG.2.2.28045.92646.
Pike Rob, “Concurrency is not Parallelism,” https://go.dev/talks/2012/waza.slide.
Pike, “The Go Programming Language,” 2009. [Daring]. Tersedia pada: http://golang.org
Tait, “Visual Hierarchy and Layout,” Geographic Information Science & Technology Body of Knowledge, vol. 2018, no. Q2, Apr 2018, doi: 10.22224/gistbok/2018.2.4.
Westrup, “Using the Go Programming Language in Practice.” [Daring]. Tersedia pada: https://www.researchgate.net/publication/312490994