Analisa perfomansi database sql dan no sql pada aplikasi

Post on 23-Jun-2015

715 views 2 download

Tags:

transcript

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