Oleh : Rizaq Nanda Pratama
ANALISA PERFOMANSI DATABASE SQL DAN NOSQL
PADA APLIKASI WEB BERBASISDATA
Mind Map
database
Apa itu database?
Jenis Database berdasarkan
Bahasa
Test & Benchmarki
ng
Analisa
Kesimpulan
DATABASE
a comprehensive collection of related data organized for convenient access, generally in a computer.
Source : Dictionary.com
[ ]
Database memberi kita kemampuan untuk
simpan hapus akses manage
Persistence Storage
PENGGUNAAN DATABASE
Sistem Informasi
Akunting
Perbankan
Blog Web
OSData Storage
Manajemen
Knowledgebase
Embedded system
NetworkTelecommunication
Hampir semua di field IT (bisa) menggunakan database
JENIS DATABASEBerdasarkan bahasa operasi
SQL
NoSQL
SQL
• Structured Query Language (SQL) adalah bahasa query yang digunakan dalam pengoperasian database pada umumnya.
• SQL ditemukan oleh Donald Chamberlin dan Raymond Boyce dari IBM pada tahun 1970
• ACID compliant
• Digunakan oleh RDBMS
CONTOH RDBMS SQL
NOSQL
• Not Only SQL
• BASE
• Menggunakan API khusus, tidak menggunakan bahasa SQL
BEBERAPA DATABASE NOSQL
TREND PENGGUNAAN DATABASE DI APLIKASI WEB SAAT INI
TREND WEB APP SAAT INI
• Response time yang rendah (akses cepat)
• Scalability dan elasticity
• High Availability
• Skema data yang fleksibel
• Distributed
Marin Dimitrov
• Basic Availability
• Soft State
• Eventual Consistency
• NoSQL database
• Atomictysuatu transaksi harus berhasil atau tidak sama sekali
• ConsistentData harus berada di consistent state
• IsolateHanya ada satu transaksi dala satu waktu
• Durabilitydata harus tetap sama
• SQL database
ACID VS BASE
ACID BASE
Gilbert and Lynch
TEST & BENCHMARKING
KONFIGURASI SERVER
• Processor Atom 1.6 Ghz
• RAM 1 GB
• Windows 7
• WampServer 2- Apache 2.2- PHP 5.3
OBJEK TEST
vs
Test 1, Query Execution Test
• Dalam test ini dilakukan operasi insert kedalam database sebuah string random dengan panjang karakter 100 karakter.
• Testing dilakukan dengan menggunakan skrip php. Kode insert database yang digunakan untuk kedua database ini telah diupayakan se-ekuivalen mungkin
Jumlah insert
1 10 100 1000 10000 100000
Waktu eksekus
i (s)0.0047 0.0267 0.2432 2.123
21.0976
210.6264
Jumlah insert
1 10 100 1000 100001000
00
Waktu eksekusi
(s)
0.0008
0.0083
0.1162
1.1181
11.5885
19.528
HASIL
MongoDB Mysql
Test 2, Concurenncy test
• Pada test ini akan diuji kemampuan konkurensi dari database untuk operasi CRUD (Create, Read, Update, Delete).
• Disimulasikan database diakses oleh beberpa user berbeda dalam waktu yang hampir bersamaan. User melakukan operasi query sederhana untu CRUD
• Simulasi mengguakan software testing Apache JMeter 2.5.1.
HASIL TEST MYSQL
sample
Average (ms)
Min (ms)
Max (ms)
Error (%)
Troughputoperation/
sec
Troughput
kb/sec
50 48 26 87 0 38.5 8.5
100 127 23 287 0 43 9.67
500 973 44 2456 0 43.7 9.67
1000 1720 50 16109 0 41 9.09
3000 3934 39 65085 11.13 41.4 15.89
HASIL TEST MONGODB
sample
Average (ms)
Min (ms)
Max (ms)
Error (%)
Troughput (operation/s
ec)
Troughput
kb/sec
50 9 8 14 0 52.2 11.46
100 16 6 83 0 89.5 19.65
500 291 9 2108 0 91.9 20.2
1000 761 8 7545 0 81.3 17.89
3000 2025 8 30009 5.13 83.3 24.55
ANALISA
RESPONSE TIME
MySQL MongoDB
TROUGHPUT
MySQL MongoDB
KESIMPULAN
• Database NoSQL (mongoDB) memiliki performa yang lebih baik dibanding dengan database SQL (MySQL)
• Database NoSQl cocok untuk aplikasi web yang membutuhkan response time yang tinggi, delay rendah
TERIMA KASIH