NASKAH PUBLIKASI
diajukan oleh
kepada
JURUSAN TEKNIK INFORMATIKA
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AMIKOM YOGYAKARTA
YOGYAKARTA
2014
NASKAH PUBLIKASI
disusun oleh
Mufid Itsnaini Zain
10.11.4404
Dosen Pembimbing,
Ketua Jurusan
Teknik Informatika
Sudarmawan, MT
NIK. 190302035
ii
THE STRUCTURE AND PERFORMANCE COMPARISON OF NOSQL MONGODB
AND DBMS SQL SERVER
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.
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
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.
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).
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.
5
field integer (id), 1 field string (nama), 1 field string (alamat), 1 field string
(NIM) dan akan dilakukan proses perulangan untuk insert datanya.
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).
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
I
II
III
IV
V
VI
VII
VIII
IX
X
2. Pengujian II
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
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.
9
Tabel 4.1 Hasil Pengujian I insert data
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.
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
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
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.
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
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