Perbandingan Kinerja Database NoSQL MongoDB dan ArangoDB Dede Rusman 187006007 Program Studi Informatika Universitas Siliwangi Rizki Setiawan 187006101 Program Studi Informatika Universitas Siliwangi Reksaprama Iqbal Nurfauzan 187006096 Program Studi Informatika Universitas Siliwangi Bayu Muhamad Nur 187006107 Program Studi Informatika Universitas Siliwangi l Rangga Dwi Nugraha 187006112 Program Studi Informatika Universitas Siliwangi Abstrak—NoSQL merupakan Gambar 1. Metodologi I. PENDAHULUAN Pada awal abad 21 keberadaan NoSQL (singkatan dari Not Only SQL) yang disebabkan oleh kebutuhan-kebutuhan perusahaan terutama perusahaan Web 2.0 yang menitik beratkan pada isi yang dibuat oleh user, penggunaan yang mudah dan sesuai dengan sistem yang digunakan end user [1]. NoSQL sendiri tidak menggunakan relasi dan konsep schema seperti ODBMS dan RDBMS yang memiliki struktur table, yang harus di definisikan terlebih dahulu. NoSQL sendiri memiliki beberapa jenis, yang mana dari jenis tersebut terdapat perbedaan dalam waktu respon dan size. Jenis NoSQL sendiri terdapat MongoDB dan ArangoDB. MongoDB memiliki metode document-store/documentoriented yang penyimpan datanya dimasukan ke dalam dokumen seperti Javascript Object Oriented (JSON) [2]. ArangoDb merupakan system basis yang data yang mendukung tiga model data dengan satu inti basis data dan bahasa query terpadu AQL. Bahasa query bersifat deklaratif dan memungkinkan kombinasi berbagai pola akses data dalam satu permintaan.[3] Beberapa penelitian yang berhubungan dengan pengukuran kecepatan pernah dilakukan dalam penelitian sebelumnya, diantaranya: perbandingan penggunaan nosql mongodb dan mysql pada basis data forum komunikasi [2], analisis perbandingan performansi waktu respons kueri antara mysql php 7.2.27 dan nosql mongodb [4], perbandingan kinerja mongodb dan arangodb [3]. Berdasarkan latar belakang tersebut pada kegiatan ini akan dilakukan perbandingan respon time dan size dari kedua jenis NoSQL MongoDB dan ArangoDB, dengan harapan kegiatan ini dapat membantu pemahaman dalam perbandinganyang akan dibandingkan. II. METODOLOGI Terdapat empat tahap yang akan dilakukan pada kegiatan ini diantaranya : analisis system, identifikasi kebutuhan perangkat keras (hardware) dan perangkat lunak (software), perancangan, implementasi dan pengujian seperti pada gambar 1. Analisis Sistem Identifikasi Hardware & Software Perancangan Implementasi dan Pengujian A. Analisis Sistem Pada tahap ini dilakukan analisis system yang akan digunakan pada kegiatan yang akan dilakukan. Pengukuran waktu respon dan size dari query yang melibatkan software, hardware serta sample data yang akan dimasukan ke NoSQL. B. Identifikasi Kebutuhan Software dan Hardware Adapaun identifikasi hardaware dan software yang digunakan sebagai berikut. Tabel 1. Spesifikasi Software yang Digunakan No Software Version 10 64 bit 1 Microsoft Windows 4.4.3 64 bit 2 MongoDB 3.7.6 64 bit 3 ArangoDB 2020.10.1 64 bit 4 Studio 3T No 1 2 3 Tabel 2. Spesifikasi Hardware yang Digunakan Item Description Processor Intel Dual Core 2.16 Ghz RAM DDR3 4 GB Disk SSD 128 GB C. Perancangan Pada tahapan ini dilakukan perancangan teknis yang akan dilakukan. Beberapa hal yang disiapkan a. Persiapan Data Data yang dijadikan percobaan pada kegiatan ini bertipe string. Entitas data yang digunakan yaitu data produk dengan atribut : nama, jenis, stok, keterangan dan harga b. Rancagan Percobaan Percobaan yang dilakukan yaitu memproses memasukan data berulang adalah 100, 1000, 10.000. c. Pengukuran Setiap peroses query tersebut kemudian dihitung waktu respon dan size yang dihasilkannya. D. Implementasi dan Pengujian Pada tahap ini dilakukan instalasi software yang dibutuhkan pada hardware. Kemudian melakukan konfigurasi perbandingan pada jenis NoSQL. Adapun skema system yang dibuat sebagai berikut. pengulangan sebganyak 100 kali dengan menggunakan sintaks for-do. for i in produk return i Sintaks tersebut merupakan proses read atau menampilkan data yang telah di insert atau dibuat pada ArangoDB. Gambar 2. Skema Sistem III. HASIL DAN PEMBAHASAN A. Implementasi Query Pada tahap awal dimulai dengan pembuatan query untuk pengujian. Berikut merupakan proses query pada kedua jenis NoSQL. a. Proses Query MongoDB for (var i=1; i<=100; i++){ db.produk.insert({ nama : “buku tulis”, jenis : “alat tulis”, stok : “100”, keterangan :”baik” }) } Sintaks diatas merupakan proses insert data. Untuk percobaan tersebut dilakukan perulangan sebanyak 100 kali dengan menggunakan sintaks for-do. db.produk.find({}) Sintaks tersebut merupakan proses read atau menampilkan data yang telah di insert atau dibuat, sehingga sintaks tersebut akan menampilkan seluruh data yang ada. for (var i=1; i<=100; i++){ db.produk.update({nama : “buku tulis”}, { nama : “buku tulis”, jenis : “alat tulis”, stok : “100”, keterangan :”baik” , harga : “3000” }) } Sintaks tersebut merupakan proses update data. Dimana update data tersebut menambahkan harga produk tersebut. db.produk.remove({}) Sedangkan sintaks tersebut merupakan proses delete atau menghapus data yang telah dibuat. b. Proses Query ArangoDB for i in 1..100 insert{ nama : “buku tulis”, jenis : “alat tulis”, stok : “100”, keterangan : “baik” } in produk Sintaks tersebut merupakan proses insert data pada ArangoDB. Dimana pada percobaan tersebut dilakukan for doc in produk update doc with {harga : “3000”} in produk Sintaks tersebut merupakan proses update data. Dimana update data yang dilakukan yaitu menambahkan harga pada produk yang telah di insert tadi. for i in produk remove i in produk Sintak tersebut merupakan proses mengahapus data yang telah dibuat. delete atau B. Perbandingan Query Response Times Query yang sebelumnya dipersiapkan kemudian dilakukan secara berulang. Hasil percobaan tersebut dapat dilihat pada table berikut. Tabel 3. Hasil Pengukuran Query Response Times dari Proses Insert No Jumlah MongoDB ArangoDB Data (sec.) (sec.) 100 0.797 0.006863 1 1000 3.860 0.111641 2 10000 17.481 0.956365 3. 7.379333 0.35829 Rata-Rata Table 3 merupakan data query response times dari 3 kali percobaan untuk setiap proses insert dari NoSQL MongoDB dan ArangoDB per satuan detik. Dimana ArangoDB memiliki waktu respon paling kecil yaitu 0.35829 dari MongoDB. Tabel 4. Hasil Pengukuran Query Response Times dari Proses Read No Jumlah MongoDB ArangoDB Data (sec.) (sec.) 100 0.009 0.000722 1 1000 0.021 0.005262 2 10000 1.845 0.031202 3. 0.625 0.012395 Rata-Rata Table 4 merupakan data query response times dari 3 kali percobaan untuk setiap proses read dari MongoDB dan ArangoDB per satuan detik. Dimana ArangoDB memiliki waktu respon paling kecil yaitu 0.012395 dari MongoDB. Tabel 5. Hasil Pengukuran Query Response Times dari Proses Update No Jumlah MongoDB ArangoDB Data (sec.) (sec.) 100 0.720 0.011994 1 1000 2.336 0.157946 2 1.668 0.612647 Table 5 merupakan data query response times dari 3 kali percobaan untuk setiap proses update dari MongoDB dan ArangoDB per satuan detik. Dimana ArangoDB memiliki waktu respon paling kecil yaitu 0.612647 dari MongoDB. Tabel 6. Hasil Pengukuran Query Response Times dari Proses Delete No Jumlah MongoDB ArangoDB Data (sec.) (sec.) 100 0.309 0.010392 1 1000 0.317 0.131535 2 10000 1.060 1.287 3. 0.562 0.476309 Rata-Rata Table 6 merupakan data query response times dari 3 kali percobaan untuk setiap proses delete dari MongoDB dan ArangoDB per satuan detik. Dimana ArangoDB memiliki waktu respon paling kecil yaitu 0.476309 dari MongoDB. Tabel 7. Ukuran Hasil Ekspor Jumlah MongoDB ArangoDB Data (kb) (kb) 100 16.2 12.9 1 1000 162 144 2 10000 1622 1446 3. 600.0667 534.3 Rata-Rata No Create/Insert Data 20 15 10 5 0 Read Data 2 1,5 1 0,5 0 1 2 3 Mongo DB 0,009 0,021 1,845 Arango DB 0,000722 0,005262 0,031202 Mongo DB Arango DB Gambar . Response Time Query Read Data Pada Gambar merupakan grafik dari kenaikan waktu respon proses read data yang dilakukan dari 3 kali percobaan. Update Data 30 20 10 0 1 2 3 Mongo DB 0,72 2,336 23,071 Arango DB 0,011994 0,157946 1,668 Mongo DB Arango DB Gambar Response Time Query Update Data Pada Gambar merupakan grafik dari kenaikan waktu respon proses Updaste data yang dilakukan dari 3 kali percobaan. Times (Second) Times (Second) Table 7 merupakan ukuran hasil ekspor dari 3 kali percobaan untuk setiap proses ekspor data dari MongoDB dan ArangoDB per kb. Dimana ArangoDB memiliki ukuran paling kecil yaitu 534.3 dari MongoDB. Times (Second) 23.071 8.709 Times (Second) 10000 3. Rata-Rata Delete Data 1,5 1 0,5 0 1 2 3 1 2 3 Mongo DB 0,309 0,317 1,06 Mongo DB 0,797 3,86 17,481 Arango DB 0,010392 0,131535 1,287 Arango DB 0,006863 0,111641 0,956365 Mongo DB Arango DB Mongo DB Arango DB Gambar Response Time Query Create/Insert Data Pada Gambar merupakan grafik dari kenaikan waktu respon proses create data yang dilakukan dari 3 kali percobaan. Gambar Response Time Query Delete Data Pada Gambar merupakan grafik dari kenaikan waktu respon proses delete data yang dilakukan dari 3 kali percobaan. Size (kB) ArangoDB memiliki rata-rata paling kecil dibanding dengan MongoDB. Ekspor 2000 1500 1000 500 0 V. REFERENCES [1] 1 2 3 Mongo DB 16,2 162 1622 Arango DB 12,9 144 1446 Mongo DB [2] Arango DB Gambar Size Ekspor Data Pada Gambar merupakan grafik dari ukuran hasil ekspor data yang dilakukan dari 3 kali percobaan. [3] [4] IV. KESIMPULAN Berdasarkan hasil percobaan yang dilakukan dapat disumpulkan bahwa dilihat dari rata-rata NoSQL jenis ArangoDB memiliki waktu respon yang sangat cepat disbanding dengan jenis MongoDB terhadap proses query seperti create, update, delete. Untuk ukuran hasil ekspor data W. N. Suliyanti, ―Studi Literatur Basis Data SQL dan NoSQL,‖ Kilat, vol. 8, no. 1, pp. 48–51, 2019, doi: 10.33322/kilat.v8i1.460. W. Daroini, Akhmad Aan Said; Yustanti, ―Perbandingan Penggunaan NoSQL MongoDB Dan MySQL Pada Basis Data Forum Komunikasi,‖ J. Manaj. Inform., vol. 6, pp. 134–142, 2016, [Online]. Available: https://doi.org/10.1016/j.ajodo.2017.09.016. A. Mahardika, Dzikri Ihsani; Triantoro, ―Perbandingan Kinerja MongoDB dan ArangoDB,‖ pp. 2–5. A. Mysql et al., ―Analisis Perbandingan Performansi Waktu Respons Kueri,‖ vol. 4, no. 2, pp. 303–313, 2020.