Anda di halaman 1dari 18

PERBANDINGAN STRUKTUR PENYIMPANAN DAN PERFORMANSI

NOSQL MONGODB DENGAN DBMS SQL SERVER

NASKAH PUBLIKASI

diajukan oleh

Mufid Itsnaini Zain


10.11.4404

kepada
JURUSAN TEKNIK INFORMATIKA
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AMIKOM YOGYAKARTA
YOGYAKARTA
2014
NASKAH PUBLIKASI

PERBANDINGAN STRUKTUR PENYIMPANAN DAN PERFORMANSI


NOSQL MONGODB DENGAN DBMS SQL SERVER

disusun oleh
Mufid Itsnaini Zain
10.11.4404

Dosen Pembimbing,

M. Rudyanto Arief, M.T


NIK. 190302098

Tanggal, 7 Juli 2014

Ketua Jurusan
Teknik Informatika

Sudarmawan, MT
NIK. 190302035

ii
THE STRUCTURE AND PERFORMANCE COMPARISON OF NOSQL MONGODB
AND DBMS SQL SERVER

PERBANDINGAN STRUKTUR PENYIMPANAN DAN PERFORMANSI NOSQL


MONGODB DENGAN DBMS SQL SERVER

Mufid Itsnaini Zain


M. Rudyanto Arief
Jurusan Teknik Informatika
STMIK AMIKOM YOGYAKARTA

ABSTRACT
In an age filled with a disclosure of information, the need for a rapid exchange of
news, as well as the rapid growth of web-based information system applications, the
technicians who are experts in the field of database programming will always find the best
solution, fastest, and efficient in an effort to present or store data required by the user.
The data will be an information must be stored properly so that at any time the data
required can be accessed quickly.
Research on the comparison between the RDBMS with a new concept by NoSQL
DBMS will show the results of a comparison of the various aspects of the instrument and
in accordance with the given scenario. Represented by MongoDB NoSQL and RDBMS
using SQL Server 2008.
With the results of this research, is expected to help the general public know
about the existence of a DBMS technology development, and also helps in determining
which DBMS that suits your needs.

Keyword : RDBMS vs NoSQL, SQL Server 2008, MongoDB, database performance.

iii
1. Pendahuluan
Di era yang penuh dengan keterbukaan sebuah informasi, kebutuhan akan
cepatnya sebuah pertukaran berita, serta berkembang pesatnya aplikasi sistem informasi
berbasis web, para teknisi yang ahli dalam bidang pemrograman basis data akan selalu
mencari solusi terbaik, tercepat, dan efisien dalam upaya menyajikan ataupun
menyimpan data yang dibutuhkan oleh para pengguna. Data-data yang nantinya menjadi
sebuah informasi harus dapat disimpan dengan baik sehingga sewaktu-waktu data
tersebut dibutuhkan dapat diakses secara cepat.
SQL merupakan basis yang digunakan RDBMS (Relational Database Management
System) yang pada awalnya sistem tersebut dirancang oleh Edgar F. Codd di IBM tahun
1970 . Selama beberapa dekade di seluruh dunia, pengaruh sebuah konsep RDBMS
sangat mendominasi dalam setiap kegiatan pemrograman yang mengharuskan data
tersebut tersimpan dan dilakukan sebuah pemanggilan data pada sebuah tempat
penyimpanan basis data.
Sebuah konsep penyimpanan yang saling berkaitan, ketangguhan database
relational dalam hal penghitungan, integritas, dan kelebihan lainnya menjadikan RDBMS
diadopsi secara luas dan dianggap sebagai alternatif terbaik untuk penyimpanan data
terutama pada perusahaan perbankan ataupun perusahaan yang memiliki relasi pada
setiap data-datanya.
Sementara itu, perusahaan yang berkaitan dengan sistem informasi seperti
Google, Facebook, Twitter, Amazon dan sebagainya tidak hanya menyimpan data-
datanya menggunakan struktur ber-relasi. Berkas-berkas HTML, ataupun file media
lainnya yang tidak terstruktur memerlukan tipe penyimpanan yang baru tidak hanya
sekedar bisa melakukan relasi. Google yang memiliki Big table, Oracle dengan CouchDB
merupakan salah satu contoh penggunaan DBMS NoSQL (Not Only SQL) sebagai
alternatif dalam penggunaan penyimpanan data.
Banyak penelitian ataupun pengujian untuk mengetahui perbandingan antara
RDBMS dengan DBMS NoSQL, oleh karena itu penulis mencoba menyajikan penelitian
sebuah perbandingan struktur penyimpanan dan performansi antara NoSQL (MongoDB)
dengan sebuah konsep yang selama ini sudah banyak dikenal yaitu RDBMS SQL (SQL
Server 2008) dengan instrumen-instrumen yang berbeda dari penelitian sebelumnya.

2. Landasan Teori
2.1 Basis Data
Menurut Kristanto (2004:7) data adalah sesuatu yang nyata, fakta mengenai
objek yang dapat mengurangi derajat ketidakpastian tentang suatu keadaan atau
kejadian. Sedangkan Basis Data didefinisikan sebagai kumpulan data yang

1
disatukan dalam suatu organisasi atau tempat tertentu. Basis data yang
merupakan kumpulan data operasional lengkap dari suatu organisasi dikelola dan
disimpan sehingga terintegrasi dengan metode tertentu, yang pada umumnya
adalah menggunakan komputer sehingga mampu menyediakan informasi yang
optimal sesuai yang dibutuhkan oleh pengguna.
Sedangkan menurut Connolly (2004:15) mengenai basis data (database)
adalah sekumpulan koleksi data yang berhubungan secara logikal, dan sebuah
deskripsi dari data tersebut, didesain untuk menemukan keperluan informasi pada
sebuah perusahaan.

2.2 DBMS (Database Management System)


DBMS (Database Management System) merupakan sekumpulan program
yang mengatur ataupun mengkoordinasikan semua kegiatan yang berhubungan
dengan basis data. Dengan adanya berbagai tingkatan pandangan dalam suatu
basis data maka untuk mengakomodasikan masing-masing pengguna dalam
piranti lunak manajemen database biasanya terdapat bahasa-bahasa tertentu yang
disebut Data Sub Language.
Sedangkan menurut Kadir (2003:17) pengertian DBMS itu adalah suatu
program komputer yang digunakan untuk memasukkan, mengubah, menghapus,
memanipulasi dan memperoleh data/informasi dengan praktis dan efisien.
Hampir sama dituliskan oleh Connolly yang mengartikan DBMS adalah
sebuah perangkat lunak yang memungkinkan pengguna untuk mendefinisikan,
membuat, mengambil data, dan mengontrol akses kepada database
(Connolly.2004:16).

2.3 NoSQL (Not only SQL)


Pada tahun 1998 pertama kalinya dikembangkan sebuah konsep
penyimpanan basis data yaitu NoSQL oleh Carlo Strozzi, yang kemudian pada
tahun 2009 Eric Evans memperkenalkan kembali teknologi NoSQL. Kehadiran
NoSQL bukan berarti untuk menggantikan model RDBMS yang sudah ada. Awal
kemunculannya dilatarbelakangi oleh beberapa masalah yang muncul dari
RDBMS. NoSQL dan RDBMS memiliki kelebihan dan tempat masing-masing
sehingga diharapkan dapat saling melengkapi teknologi penyimpanan basis data.
Secara bahasa NoSQL merupakan singkatan dari Not Only SQL yang
berarti sistem manajemen basis data tersebut berbeda dengan basis data
relasional dalam beberapa aspek. Dalam RDBMS dikenal adanya konsep ACID
(Atomicity, Consistency, Isolation, Durability). Sedangkan dalam NoSQL
menerapkan konsep BASE (Basically Available, Soft state, Eventually Consistent).

2
1. Basically Available memastikan bahwa sistem bekerja sepanjang
waktu.
2. Soft state merupakan suatu kondisi sistem tidak harus konsisten setiap
saat.
3. Eventually Consistent menekankan bahwa sistem akan menjadi
konsisten beberapa waktu kemudian.

2.4 Performance Baseline


Pada dasarnya Performance Baseline adalah istilah yang sering digunakan
pada perangkat SQL Server. Namun secara umum, performance baseline adalah
1
suatu standar pada DBMS yang harus selalu terpenuhi selama sistem bekerja.
Terdapat lima buah faktor yang digunakan untuk menentukan performance
baseline, yaitu : workload, throughput, system resources, optimization, contention.
Workload berhubungan dengan jumlah aktifitas yang terdapat pada sistem.
Throughput berhubungan dengan jumlah query yang terjadi pada periode tertentu.
System resources berhubungan dengan kapasitas perangkat keras yang dipunyai
oleh sistem. Optimization berhubungan dengan desain basis data serta aplikasi.
Dan terakhir contention berhubungan dengan kompetisi dari data yang berupa
records.

Gambar 2.1 Performance Baseline

1
Gunawan, ibnu dan Adipranata, Rudy. Peranan Ms Sql Agent Dalam Menjaga Performa Basis
Data Pada Ms Sql Server Secara Otomatis. http://fportfolio.petra.ac.id/, diakses pada tanggal 28
Maret 2014

3
2.5 Scalability
Dalam konsep relasi basis data untuk jumlah data yang sangat besar sangat
diperlukan adanya tindakan optimasi query. Mengoptimalkan query untuk
mengurangi penggunaan sumberdaya secara keseluruhan sangat penting untuk
diterapkan karena akan meningkatkan kinerja order of magnitude secara
keseluruhan. Berbeda dengan generasi navigasi basis data sebelumnya, sebuah
query dalam relasi basis data adalah menentukan apa yang akan diperoleh dari
basis data bukan bagaimana cara mendapatkannya (A.Ghazal, and R. Bhashyam:
2011). Untuk mempercepat pengambilan data yang diperlukan, RDBMS
menggunakan kunci primer dan kunci sekunder serta penggunaan index.
Basis data relasional dapat ditingkatkan kinerjanya dengan meningkatkan
komponen-komponen perangkat kerasnya seperti meningkatkan kemampuan
processor, menambahkan modul RAM, dan memberikan media penyimpanan
tambahan (Scale Up). Namun peningkatan tersebut hanya dapat dilakukan pada
sebuah node server. Jika kemampuan suatu node sudah mencapai batas
maksimum spesifikasi maka untuk meningkatkan kemampuan harus membeli
perangkat server baru yang lebih mahal dengan spesifikasi yang lebih tinggi. Cara
lain adalah dengan menambahkan perangkat baru pada jaringan dan mempartisi
basis data agar penyimpanannya dapat dibagi pada server lama dan server
tambahan. Cara tersebut relatif lebih murah namun tidak mudah untuk
diimplementasikan pada basis data relasional karena aturan konsistensi data lebih
diprioritaskan.
Dari penjelasan diatas, dapat disimpulkan terdapat dua metode dalam
konsep scale database (scalability), yaitu dengan peningkatan perangkat keras
(vertical scaling/scale up) dan partisi basis data yang kemudian dibagi dengan
server tambahan (horizontal scaling/scale out).

3. Analisis dan Perancangan Sistem


3.1 Gambaran Umum
Perbandingan struktur penyimpanan ataupun performansi sebuah kinerja
DBMS secara umum banyak faktor yang mempengaruhi hasil dari perbandingan
tersebut. Namun pada dasarnya pada sisi perangkat keras, sebuah performansi
kinerja DBMS akan selalu dikaitkan dengan tiga hal yaitu: kinerja processor,
memory, dan disc.
Dalam penelitian komparatif ini, dari sisi skalabilitas penulis akan melihat
dan melakukan analisa terhadap file-growth yang terjadi pada MongoDB maupun

4
SQL Server. Dari sisi performansi akan dilihat dari sisi kecepatan eksekusi perintah
serta kinerja dari processor maupun memory.
Sedangkan dalam penelitian ini untuk mendapatkan hasil dari perbandingan
kecepatan eksekusi perintah adalah menggunakan bahasa php. Hal ini
dimaksudkan agar dapat melihat langsung hasil kinerja kedua DBMS tersebut
setelah diimplementasikan kedalam suatu aplikasi berbahasa php.
Untuk performansi perangkat keras (processor dan memory), penulis hanya
akan menggunakan performance monitor yang sudah include dalam sistem
operasi Windows.

3.2 Analisis Kebutuhan Sistem


3.2.1 Kebutuhan Perangkat Keras
Proses komparasi dilakukan menggunakan sebuah Laptop dengan
spesifikasi perangkat keras (hardware) sebagai berikut.
1. Processor : Core i3 @2.20GHz (4 CPUs).
2. RAM : 2048MB.
3. Harddisk : Dialokasikan 150GB.
4. Monitor : resolusi 1366 x 768.
3.2.2 Kebutuhan Perangkat Keras
Untuk perangkat lunak yang digunakan adalah sebagai berikut.
1. Sistem operasi : Windows 7 64-bit.
2. Microsoft SQL Server 2008 Native Client dengan SQL Server
Management Studio version 10.0.1600.22 dengan driver
sqlsrv.dll.
3. MongoDB for windows version 1.5.1 dengan driver
php_mongo.dll.
4. Web Server Apache 2.2 dan script engine PHP 5.3.5.
5. Rockmongo .
Semua perangkat lunak yang akan digunakan seperti driver php,
Apache, dan PHP menggunakan versi yang kompatibel dengan compiler
MSVC9 (Visual C++ 2008) agar semua driver php dapat terbaca dan kedua
DBMS dapat dijalankan. Pada saat pemilihan perangkat lunak yang
menggunakan versi VC6, driver php untuk MongoDB tidak dapat dibaca baik
dari web server Apache maupun oleh PHP.
3.2.3 Sampel Data
Adapun data yang akan digunakan sebagai sampel data yang akan
dipergunakan untuk penelitian adalah data mahasiswa yang mencakup 1

5
field integer (id), 1 field string (nama), 1 field string (alamat), 1 field string
(NIM) dan akan dilakukan proses perulangan untuk insert datanya.

3.3 Perancangan Database SQL Server


Untuk sampel data yang akan digunakan, dalam penerapan tipe data pada
SQL diharuskan memberi tipe data apa yang akan digunakan. Berikut struktur
tabel untuk database SQL Server:
Tabel 3. 1 Perancangan Tabel Data SQL Server
Kolom Tipe Data Keterangan
Id Integer Not Null, Primary Key, Identity (1,1)
Nama Varchar (35) Null
Alamat Varchar (50) Null
NIM Varchar (10) Null

3.4 Perancangan Database MongoDB


Sedangkan untuk struktur tabel yang akan digunakan dalam skenario
penelitian juga sama dengan SQL Server. Perbedaannya adalah secara default
tipe data yang akan digunakan tidak perlu dituliskan dan langsung mengambil
value dari data yang dimasukkan.
Tabel 3. 2 Perancangan Tabel Data MongoDB
Kolom Tipe Data Keterangan
Id Value Not Null
Nama Value Null
Alamat Value Null
NIM Value Null

Untuk “id” yang akan ditampilkan pada database MongoDB bukanlah “id”
default (dalam MongoDB dikenal sebagai ObjectId). ObjectId merupakan value
yang sudah secara default digenerate oleh MongoDB dan digunakan sebagai
primary key (seperti pada RDBMS).

3.5 Perancangan Uji Coba


Berikut penjelasan mengenai kondisi yang akan digunakan sebagai proses
percobaan.

1. Pengujian I

6
Pengujian dengan memberikan variasi banyaknya data baik itu perintah
insert, view, edit, dan delete/drop. Berikut tabel rancangan yang akan digunakan
sebagai hasil tabulasi perbandingan :
Tabel 3. 3 Perancangan Tabel Hasil Pengujian I

Data 1000 10000 50000 100000


Percobaan Mongo SQL Mongo SQL Mongo SQL Mongo SQL

I
II
III
IV
V
VI
VII
VIII
IX
X

2. Pengujian II

Masih mengambil beberapa data dari hasil Pengujian I, namun dalam


Pengujian II ini akan ditambahkan tabulasi hasil percobaan berupa ukuran file-
storage yang digunakan pada kedua DBMS tersebut.
Tabel 3. 4 Perancangan Tabel Hasil Perbandingan Ukuran Data

Data 1000 10000 50000 100000


Percobaan Mongo SQL Mongo SQL Mongo SQL Mongo SQL

I-X

3. Pengujian III

Pengujian III ini akan fokus pada hasil kestabilan yang terjadi di perangkat
keras pada saat eksekusi program tersebut dilakukan. Agar dapat melihat hasil
yang benar-benar dapat diharapkan, maka dari itu penulis tidak memberikan
batasan data yang masuk. Dan untuk membatasinya, hanya menghentikan proses
perulangan dengan waktu tertentu.

7
Tabel 3. 5 Perancangan Tabel Hasil Kestabilan Perangkat Keras

4. Implementasi dan Pembahasan


4.1 Implementasi
Tahap implementasi akan menerapkan segala sesuatu yang sudah
dirancang sebelumnya pada perancangan prototipe. Sebelum penerapan
perancangan dijabarkan, terdapat beberapa software yang harus diintegrasikan
agar dapat digunakan sebagai proses pengujian.

Tabel pada database SQL Server dan collection pada database MongoDB
akan diimplementasikan dan disambungkan dalam prototipe yang sudah disiapkan
dengan nama database skripsi. Kedua prototipe tersebut dibuat identik dalam
semua aspek kecuali dalam penggunaan basis data, dan juga
pengimplementasian source code yang memang mengharuskan struktur tersebut
berbeda.

Prototipe yang sudah disiapkan, disimpan dalam folder htdocs dari folder
Apache web server. Pada kondisi yang biasa, alamat pemanggilan sebuah web
yang disimpan dalam folder htdocs yang berjalan pada sistem koneksi lokal dapat
dipanggil dengan mengetikkan “localhost” pada web browser. Namun dalam
penelitian ini, akan digunakan port:8080 pada “localhost” sehingga
pemanggilannya adalah “localhost:8080” (tanpa tanda petik).

8
4.2 Skenario Pengujian
Pada tahapan Pengujian I, proses pengujian dilakukan dengan alur sebagai
berikut.

Gambar 4.1 Alur Skenario Pengujian I

Skenario pengujian tersebut berlaku pada pengujian MongoDB maupun


SQL Server. Pengujian dilakukan sebanyak sepuluh kali dan laptop akan dilakukan
restart pada tiap lima kali pengujian. Pengujian juga tidak dilakukan secara
bersamaan antara MongoDB dengan SQL Server.

Pengujian II masih merupakan hasil dari skenario yang dilakukan pada


Pengujian I. Namun hasil pengujian yang diambil adalah ukuran data pada masing-
masing pengujian. Ukuran data dalam penggunaan media penyimpanan pada
pengujian ini diambil dari hasil akhir tiap alur pengujian yang dilakukan, bukan
berdasarkan jumlah data yang dimasukkan karena pada tahap pengujian eksekusi
perintah update data, jumlah karakter yang dimasukkan juga berbeda.

Sedangkan untuk skenario Pengujian III, pengujian hanya akan dilakukan


satu kali pada masing-masing DBMS. Hal ini dilakukan karena pada Pengujian III,
variabel kontrol yang digunakan adalah waktu. Dalam prototipe akan dimasukkan
kode program batasan berupa waktu eksekusi perintah yang diberikan.

Gambar 4.2 Kode Program Tambah Data dengan Batasan Waktu

4.3 Analisis Hasil Pengujian


4.3.1 Analisis Pengujian I
Skenario Pengujian I adalah melakukan pengujian dengan mengambil
sampel data yang jumlahnya sudah dipersiapkan sebanyak 10 kali,
didapatkan hasilnya untuk masing-masing DBMS dan perintah yang
diberikan sebagai berikut.

9
Tabel 4.1 Hasil Pengujian I insert data

Data MongoDB SQL Server


1000 0,28377 0,82261
10000 0,54441 6,18453
50000 1,82421 24,71238
100000 3,7072 73,73148

Dari hasil pengujian insert data yang dilakukan, kecepatan insert data
yang dilakukan oleh MongoDB lebih cepat dibandingkan SQL Server.
Semakin banyak insert data yang diberikan, menunjukkan semakin besar
perbedaan kecepatan yang terlihat pada kedua DBMS tersebut.

Skenario pengujian I selanjutnya adalah perintah view data. Berikut


tabel hasil pengujian yang dilakukan.
Tabel 4.2 Hasil Pengujian I view data

Data MongoDB SQL Server


1000 0,02722 0,07159
10000 0,70332 0,68637
50000 5,46985 5,98989
100000 12,45059 12,8364

Berbeda dengan kecepatan saat melakukan insert data, kecepatan


kedua DBMS pada saat melakukan perintah untuk melihat data memiliki
kecepatan yang hampir sama meskipun jumlah data yang dieksekusi
semakin banyak. Perbedaan kecepatan antara kedua DBMS pada saat
100.000 data juga hanya terlihat kurang dari 1 detik.
Pengujian I yang berikutnya adalah perintah untuk update data. Hasil
pengujiannya adalah sebagai berikut.
Tabel 4.3 Hasil Pengujian I update data

Data MongoDB SQL Server


1000 0,00368 0,05098
10000 0,0158 0,68637
50000 0,01469 0,71591
100000 0,01378 1,69665

10
Pada pengujian kecepatan update data dalam pengujian ini, kembali
terlihat perbedaan kecepatan yang terlihat besar antara MongoDB dengan
SQL Server meskipun rata-rata kecepatan update data berjalan dibawah
kecepatan angka 1 dalam satuan detik.
Proses pengujian I yang terakhir adalah pengujian perintah untuk
menghapus data. Berikut tabel hasil dari pengujian perintah hapus data.
Tabel 4.4 Hasil Pengujian I update data

Data MongoDB SQL Server


1000 0,01336 0,05549
10000 0,02013 0,08782
50000 0,03847 0,40696
100000 0,04033 0,99898

Dari hasil pengujian tersebut, juga terlihat perbedaan kecepatan untuk


melakukan perintah hapus data pada MongoDB dan SQL Server. Pada
Tabel 4.8 bahkan terlihat saat pengujian menggunakan MongoDB dengan
banyak data 100.000 pada beberapa pengujian memiliki kecepatan yang
lebih kecil dibandingkan saat jumlah data 50.000. Sedangkan untuk SQL
Server mempunyai kecepatan yang stabil dari tiap-tiap pengujian.

Berdasarkan Pengujian I pada sisi kecepatan eksekusi perintah,


diperoleh grafik pada masing-masing DBMS seperti berikut.
Tabel 4.5 Perbandingan Kecepatan Pengujian I

Pengujian Keterangan

Insert Data MongoDB melakukan insert data 16 kali lebih cepat dibanding SQL Server

View Data MongoDB melakukan view data 1,05 kali lebih cepat dibanding SQL Server

Update Data MongoDB melakukan update data 65 kali lebih cepat dibanding SQL Server

Delete Data MongoDB melakukan delete data 13 kali lebih cepat dibanding SQL Server

11
Gambar 4.3 Kecepatan Eksekusi MongoDB

Gambar 4.4 Kecepatan Eksekusi SQL Server

4.3.2 Analisis Pengujian II


Berikut hasil pengujian ukuran data pada MongoDB dan SQL Server
terhadap banyaknya data yang diberikan.
Tabel 4.6 Hasil Pengujian Ukuran Data

data 1000 10000 50000 100000


Pengujian Mongo SQL Mongo SQL Mongo SQL Mongo SQL
insert 131072 2304 131072 2304 131072 5376 131072 8448
update 131072 2304 131072 3328 131072 8448 393216 15616

Berdasarkan Tabel 4.6 dapat dilihat bahwa dengan sampel data yang
sudah disiapkan dan banyak data yang diberikan, MongoDB mempunyai

12
ukuran penyimpanan data yang jauh lebih besar dibandingkan dengan SQL
Server.

4.3.3 Analisis Pengujian III


Pengujian III adalah untuk mengetahui pengaruh dari eksekusi
perintah insert data pada sisi perangkat keras yang digunakan. Eksekusi
perintah insert berjalan selama 30 detik dan pergerakan performance pada
processor ataupun memory direkam untuk diambil nilai dari angka yang
tertera pada Performance Monitor.
Setelah dilakukan pengujian eksekusi program selama 30 detik,
didapatkan hasil sebagai berikut.
Tabel 4.7 Hasil Pengujian III

Waktu 30 Detik
Percobaan Mongo SQL
Performansi processor (0,_total) 44,2340625 20,9813125
Performansi memory (%) 74,77453125 71,97240625
Banyak Data 698063 33253
Ukuran Data 458752 kb 5376 kb

Pada tabel diatas, MongoDB memberikan beban sehingga processor


bekerja pada nilai 0,_total sebesar 44,2340625. Dengan angka tersebut
dapat disimpulkan performance kinerja processor 2 kali lebih berat
dibandingkan kinerja yang dilakukan saat eksekusi menggunakan SQL
Server.

5. Penutup
5.1 Kesimpulan
Secara keseluruhan hasil yang diperoleh dari pengujian menunjukkan
bahwa dari segi kecepatan eksekusi perintah CRUD MongoDB memiliki performa
yang lebih baik dibandingkan SQL Server. Dari segi ukuran penyimpanan data,
SQL Server lebih efisien dibandingkan MongoDB karena mempunyai ukuran yang
lebih kecil. Sedangkan dari segi pengaruh terhadap processor dan memory (RAM),
SQL Server memiliki kestabilan dan pengaruh performansi yang lebih kecil
dibandingkan MongoDB.

13
Tabel 5.1 Hasil Keseluruhan Pengujian

Pengujian Keterangan

Insert Data MongoDB melakukan insert data 16 kali lebih cepat dibanding SQL Server

View Data MongoDB melakukan view data 1,05 kali lebih cepat dibanding SQL Server

Update Data MongoDB melakukan update data 65 kali lebih cepat dibanding SQL Server

Delete Data MongoDB melakukan delete data 13 kali lebih cepat dibanding SQL Server

Ukuran Data SQL Server memiliki ukuran penyimpanan data lebih kecil dari MongoDB
Pengaruh SQL Server lebih stabil dan memiliki pengaruh performa terhadap perangkat
terhadap
keras yang lebih kecil daripada MongoDB
perangkat keras

5.2 Saran
1. Pada penelitian yang dilakukan ini adalah fokus pada pengujian untuk
melihat perbedaan size yang diperoleh dari skenario pengujian dan
performansi kecepatan baik itu kecepatan perintah CRUD, maupun
pengaruhnya terhadap perangkat keras yang digunakan. Untuk penelitian
berikutnya, ada baiknya melakukan pengujian terhadap hal-hal serta
penyebab dari ukuran penyimpanan data pada MongoDB yang sebesar itu.
Karena dalam pengujian ini, didapatkan penyimpanan pada MongoDB
memiliki ukuran (size) yang sama pada saat data 1000 sampai 50000.
2. Dikarenakan penelitian ini hanya bersifat stand alone (localhost),
penelitian selanjutnya bisa mengimplementasikannya pada sebuah jaringan
yang nyata dengan banyak user dan koneksi yang tidak hanya bersifat lokal.
3. Dari skenario pengujian ini belum dapat menunjukkan hasil bahwa
MongoDB ataupun SQL Server adalah DBMS yang cocok dan baik
digunakan pada sistem informasi tertentu. Sehingga pengembangan
selanjutnya harus ada sebuah penelitian yang menunjukkan bahwa
meskipun MongoDB mempunyai performa eksekusi perintah yang lebih baik,
namun MongoDB kurang dapat diterapkan pada sebuah basis data yang
banyak mempunyai relasi antar tabel.

14
DAFTAR PUSTAKA

Andi, W.R.E dan Sentosa, J. 2013. Perbandingan Kinerja Data Manipulation Language
MongoDB dan SQL Server,
http://andiwre.itmaranatha.org/jurnal/Paper%20Andi%20WRE%20cs%20-
%20Seminasik%202013%20v%20prosiding.pdf, diakses pada tanggal 19 Januari
2014
Bin Ladjamudin, Al-Bahra. 2005. Analisis dan Desain Sistem Informasi.Graha Ilmu.
Yogyakarta
Connolly, T., and Begg, C. 2004. Database Systems: A Practical Approach to Design,
Implementation and Management, Fourth Edition. Pearson Education. Boston
Firdausillah, F., Erwin, Y., dan Novita, I. NoSQL: Latar Belakang, Konsep,
danKritik,http://download.portalgaruda.org/article.php?article=113631&val=5187
diakses pada tanggal 9 September 2013
Gunawan, I., dan Adipranata, R. Peranan Ms Sql Agent Dalam Menjaga Performa Basis
Data Pada Ms Sql Server Secara Otomatis. http://fportfolio.petra.ac.id/, diakses
pada tanggal 28 Maret 2014
Hariguna, T., dan Tahyudin, I. 2013. NoSQL Database model untuk social network dan
web 2.0,
http://www.academia.edu/2627545/NoSQL_Database_Model_untuk_Social_Net
work_dan_web_2.0, diakses pada tanggal 30 Agustus 2013
Indrajani. 2011. Pengantar dan Sistem Basis Data.Elex Media Komputindo. Jakarta
Jeffrey, D., and Sanjay, G. 2004. MapReduce: Simplified Data Processing on Large
Clusters. Proceeding of OSDI.
Julian, B. Brewer’s CAP Theorem, http://www.julianbrowne.com/article/viewer/brewers-
cap-theorem, diakses pada 28 Maret 2014
Lakhsman, A., and Malik, P. 2009. Cassandra – A Decentralized Structured Storage
System, http://www.cs.cornell.edu/Projects/ladis2009/papers/Lakshman-
ladis2009.PDF, diakses pada tanggal 30 Agustus 2013
Leavit, N.2010. Will No-SQL Basis datas Live Up to Their Promise?. IEEE Computer
Society.
Lee, K.J., and Whangbo T.K. 2007. Semantic Mapping between RDBMS and Domain
Ontology . IEEE
Simarmata, J. 2007. Perancangan Basis Data. Penerbit ANDI. Yogyakarta
Utami, E., dan Dwi, A. H. 2012. Sistem Basis Data menggunakan Microsoft SQL Server
2005. Penerbit Andi. Yogyakarta
http://books.couchdb.org/relax/intro/eventual-consistency diakses pada 28 Maret 2014
http://bsonspec.org/ diakses pada tanggal 28 Maret 2014
http://docs.mongodb.org/ diakses pada tanggal 19 Januari 2014
http://en.wikipedia.org/wiki/Scalability diakses pada tanggal 26 Maret 2014.
http://id.wikipedia.org/wiki/Sistem_manajemen_basis_data_relasional diakses pada
tanggal 23 Maret 2014
http://json.org/ diakses pada tanggal 28 Maret 2014
http://rockmongo.com/ diakses pada tanggal 15 Januari 2014

15

Anda mungkin juga menyukai