Anda di halaman 1dari 9

Jurnal Cendikia Vol.

XVIII | Cendikia 2019 P-ISSN:0216-9436


Bandar Lampung, Oktober 2019 E-ISSN:2622-6782

PERANCANGAN CLUSTERING DATABASE SERVER UNTUK


MENINGKATKAN UNJUK KERJA SERVER DAN MENJAMIN KETERSEDIAAN
LAYANAN
Sugiyatno
Teknik Informatika; Universitas Bhayangkara Jakarta Raya; Jl. Raya Perjuangan, Marga Mulya, Bekasi Utara,
Marga Mulya, Bekasi Utara, Kota Bks, Jawa Barat 17121 (021) 88955882; e-mail:
sugiyatno@dsn.ubharajaya.ac.id.
* Korespondensi: e-mail: sugiyatno@dsn.ubharajaya.ac.id

ABSTRAKS

Dalam mengelola infrastruktur Teknologi Informasi (TI) dan menyediakan berbagai layanan terkait TI untuk
mendukung operasional organisasi atau perusahaan membutuhkan infrastruktur yang dapat menunjang. Selain
infrastruktur jaringan computer di butuhkan infrastruktur pada database server. Kegagalan suatu devices pada
sebuah server bisa terjadi kapan saja, jika sebuah database server mati yang disebabkan oleh suatu hal (missal:
power supply mati, kebakaran atau yang lainnya), maka pengguna tidak bisa mengakses aplikasi. selain resiko
kehilangan data yang ada pada server tersebut. Untuk mengatasi masalah tersebut salah satu teknik Clustering
Database menggunakan MySQL Cluster. Metode clustering sangat baik untuk menjamin ketersediaan layanan
yang tinggi (High-Availability) dan penanganan kegagalan sistem (failure). Jika ada salah satu server yang
mengalami kegagalan/failure maka sistem tidak akan langsung terganggu karena server lain akan tetap
berfungsi dan menggantikan kerja server utama. Kemampuan clustering memungkinkan sebuah database tetap
hidup dalam waktu yang lama.

Kata Kunci: Database server, Clustering Database, MySQL Cluster

1. PENDAHULUAN salah satu server yang mengalami kegagalan/failure


1.1 Latarbelakang maka sistem tidak akan langsung terganggu karena
Pada sebuah organisasi atau perusahaan biasanya server lain akan tetap berfungsi dan menggantikan
ada bagian yang tugasnya mengelola infrastruktur kerja server utama.
Teknologi Informasi (TI) dan menyediakan layanan
terkait TI untuk mendukung aktivitas perusahaan 1.2 Database
Untuk menjalankan tugasnya, membutuhkan Database atau basis data adalah kumpulan file /
infrastruktur yang handal seperti infrastruktur table yang saling berelasi (berhubungan) yang
jaringan komputer, dan database server. Database disimpan dalam media penyimpanan eletronik dan
server merupakan tempat untuk menampung semua saling berkaitan sehingga memudahkan aktivitas
aktifitas client atau user. Database bekerja untuk memperoleh informasi (Atzeni, 2003)
menyediakan data untuk memperoleh data tanpa Tujuan utama pengelolaan data dalam database
mengalami masalah. adalah agar kita dapat memperoleh data yang kita
Kegagalan devices pada server bisa terjadi cari dengan mudah dan cepat. Pemanfaatan database
kapan saja, sehingga sistem informasi terganggu, dilakukan untuk memenuhi sejumlah tujuan seperti
jika masih menggunakan single database. Dengan berikut ini:
single database, jika database server mati, maka 1. Kecepatan dan kemudahan (speed)
client tidak bisa mengakses sistem informasi dan 2. Efisiensi ruang penyimpanan (space)
resiko hilangnya data yang tersimpan dalam server 3. Keakuratan (accuracy)
tersebut. Database dituntut bekerja dengan cepat, 4. Ketersediaan (availability)
mempunyai kehandalan dan ketersediaan layanan. 5. Kelengkapan (completeness)
Teknik Clustering Database menggunakan 6. Keamanan (security)
MySQL Cluster merupakan kumpulan dari beberapa 7. Kebersamaan pemakaian (sharability)
server yang berdiri sendiri yang kemudian Dalam penggunaanya, database memiliki beberapa
bekerjasama sebagai suatu sistem tunggal.. Dengan keuntungan yaitu:
Clustering Database, data dapat terbagi ke beberapa 1. Mengurangi kesalahan yang disebabkan
server secara otomatis secara real time, karena oleh faktor manusia. Tugas mekanis lebih
semua server dianggap satu kesatuan. Metode baik dilaksanakan oleh mesin.
clustering sangat baik untuk menjamin ketersediaan 2. Komputer dapat mengambil dan mengubah
layanan yang tinggi (High-Availability) dan data lebih cepat dari manusia.
penanganan kegagalan sistem (failure) karena
kemampuan tiap server akan digunakan dan jika ada

AMIK DCC Bandar Lampung 281


Jurnal Cendikia Vol. XVIII | Cendikia 2019 P-ISSN:0216-9436
Bandar Lampung, Oktober 2019 E-ISSN:2622-6782

3. Akurat dan informasi terbaru selalu tersedia b. Database server menambahkan tingkat
setiap saat. keamanan data.
4. Menghemat ruangan karena tidak perlu c. Database server menyediakan layanan database
menyediakan ruangan penyimpanan kertas management service dimana data disusun
file yang sangat banyak dengan cara tertentu sehingga meningkatkan
pencarian dan pengambilan data.
1.3. Database Management System d. Beberapa client dapat mengakses data yang
Menurut (Arbie, 2003), Database disimpan di database server dalam satu waktu
Management System (DBMS) adalah sistem tanpa saling menggangu satu sama lain.
software yang memungkinkan pengguna untuk
mendefinisikan, membuat, memelihara, dan kontrol
akses ke database. DBMS adalah software yang
berinteraksi dengan program aplikasi dan pengguna
database. Inti dari DBMS sering disebut database
engine. Mesin ini merespons perintah-perintah
khusus untuk membuat struktur database
kemudian membuat, membaca, memperbarui, dan
menghapus record-record pada sebuah database.
DBMS dapat dibeli dari sebuah vendor teknologi
database seperti Oracle, IBM, Microsoft, atau Sybase
.(Connolly & Begg, 2010) Gambar 1. Database server
Sumber (O'Brien & James, 2005)
1.4. Server
Menurut (O'Brien & James, 2005) lebih spesifik 1.6. Clustering Database
menyatakan bahwa, Server adalah komputer yang Database clustering adalah kumpulan dari
mendukung aplikasi dan telekomunikasi dalam beberapa server yang berdiri sendiri yang kemudian
jaringan, serta pembagian peralatan software, dan bekerjasama sebagai suatu sistem tunggal (Hodges,
database di antara berbagai terminal kerja dalam 2007).. Pada server database yang besar dalam
jaringan. Fungsi server secara umum dilakukan oleh pelayanannya tidak menggunakan server database
sebuah server komputer adalah sebagai berikut: tunggal, tetapi dilayani oleh sekelompok server
a. Menyimpan aplikasi dan database yang database, beberapa buah server database
dibutuhkan oleh komputer yang terhubung. dihubungkan menjadi satu pada lingkungan yang
b. Menyediakan fitur keamanan komputer. sangat kompleks. Berbagai jenis server diikat
c. Melindungi semua komputer terhubung menjadi satu untuk menjadikan suatu pelayanan
menggunakan firewall. tunggal (one stop shopping).
d. Menyediakan IP address untuk mesin Contoh arsitektur dari database cluster:
komputer terhubung. 1. Shared Disk Clusters
1.5. Database Server Arsitektur shared disk clusters
Menurut (Hodges, 2007) Database server menggunakan server-server independent dan
adalah program komputer yang menyediakan berbagi sebuah sistem penyimpanan tunggal.
layanan data lainnya ke komputer atau program Setiap server mempunyai prosesor dan memori
computer lain, Database server digunakan untuk sendiri, tetapi berbagi disk resources.
menyimpan data baik yang digunakan client secara Implementasi utama dari shared-disk clustering
langsung maupun data yang diproses oleh server adalah bukan untuk scalability. Shared-disk
aplikasi. Dalam server database tersebut, bisa berisi clustering ini diimplementasikan untuk
ratusan ataupun ribuan database dari banyak user. availability dan menambah node cadangan
Database dikelompokkan atau disimpan per user sebagai failover node.
yang memakai layanan database tersebut. Agar tidak
terjadinya pencurian data. Selain itu database server
dapat digunakan untuk beberapa kegiatan, seperti
analisis data, penyimpanan data, pengarsipan dan
lain-lain. Database server menyediakan beberapa
manfaat, diantaranya :
a. Semua data untuk organisasi dapat disimpan di
satu lokasi.

AMIK DCC Bandar Lampung 282


Jurnal Cendikia Vol. XVIII | Cendikia 2019 P-ISSN:0216-9436
Bandar Lampung, Oktober 2019 E-ISSN:2622-6782

Gambar 4 Skema replikasi

Replikasi antara server di MySQL


didasarkan pada mekanisme log biner (binary
Gambar 2 Shared Disk Clusters log). Jika salah satu beroperasi sebagai master
Sumber (Hodges, 2007) menulis pembaruan data dan pembaruan tersebut
tercatat ke log biner. Informasi yang ada di log
2. Shared Nothing Cluster biner disimpan dalam format log yang berbeda
sesuai dengan database perubahan yang dicatat.
Dalam arsitetur shared nothing cluster, tiap Kemudian slave dikonfigurasi untuk membaca
server dalam cluster menangani prosesor, log biner dari master dan melakukan perubahan
memori, storage, record locks dan transaksi yang log biner yang ada di master ke database pada
terpisah dan melakukan koordinasi dengan slave
server lain melalui jaringan dengan Terdapat beberapa jenis – jenis replikasi
menggunakan high speed, low-latency diantaranya adalah sebagai berikut:
a. Snapshot replication
interconnect technology. Dalam proses
b. Transactional replication
permintaan data suatu node harus mengirimkan c. Merge replication
pesan ke node yang lain yang memiliki data yang
diakses. Hal ini juga dilakukan saat koordinasi
data yang dilakukan pada node yang lain seperti
insert, select, update dan delete. Berbeda dengan
shared disk, shared nothing didesain untuk high
availability dan scalability.

Gambar 5.Perbedaan skema database server biasa


dengan replikasi
Sumber (Hodges, 2007)

Replikasi master-master merupakan replikasi


mysql dimana terdapat 2 (dua) server, dimana
Gambar 3. Shared nothing cluster server pertama bertindak sebagai master dan
Sumber : (Hodges, 2007) juga slave begitu juga dengan server kedua
sehingga terdapat dua master dan dua slave.
3. Replikasi
Dua server tersebut akan melakukan
Replikasi adalah suatu teknik untuk
melakukan copy semua perubahan yang sinkronisasi log biner dalam melakukan
dibuat pada server (disebut master) ke server replikasi.
lain (disebut slave) untuk menghindari
kehilangan data jika master mengalami crash
dan memiliki salinan dari server utama.
(Charless Bell, 2010).

AMIK DCC Bandar Lampung 283


Jurnal Cendikia Vol. XVIII | Cendikia 2019 P-ISSN:0216-9436
Bandar Lampung, Oktober 2019 E-ISSN:2622-6782

2. PEMBAHASAN
1. Tahap Desain Sistem
Perancangan clustering database server untuk
replikasi data menggunakan Mysql Cluster. MySQL
Cluster menggabungkan MySQL Server biasa
dengan sebuah mesin penyimpanan in-memory
tercluster yang dinamakan NDB. NDB berarti
bagian dari suatu rangkaian yang dikhususkan
sebagai mesin penyimpanan, sedangkan MySQL
Cluster diartikan sebagai kombinasi atau gabungan
dari MySQL dan mesin penyimpanan yang baru
tersebut. Ada tiga node yang menyusun MySQL
Gambar 6 Skema replikasi master – master Cluster, yakni:
Sumber : (Hodges, 2007) 1. Data Nodes, digunakan untuk menyimpan
semua data yang menjadi milik MySQL
Cluster. Semua data direplikasi di node-node
1.7. MySQL Clustering ini.
Menurut (Raharjo & Budi, 2011) MySQL 2. Management Server Node, digunakan untuk
mengendalikan konfigurasi sistem ketika
Cluster merupakan sebuah tipe basis data (database)
startup. Selain itu, node ini juga dapat
yang dapat beroperasi dalam ukuran data yang besar. digunakan sebagai pengidentifikasi setiap
MySQL Cluster adalah sebuah teknologi baru untuk perubahan setting yang terjadi pada cluster.
memungkinkan clustering di dalam memory 3. MySQL Server Node, berfungsi sebagai
database dalam sebuah sistem share-nothing. pintu akses untuk masuk ke dalam node-
Arsitektur share-nothing mengijinkan sistem dapat node data yang ter-cluster.
bekerja dengan hardware/perangkat keras yang
Management Server Node dan Data Node
sangat murah, dan tidak membutuhkan perangkat
dihubungkan tujuannya agar bisa terjadi
keras dan lunak dengan spesifikasi khusus. replikasi data antara kedua server tersebut
Arsitektur tersebut juga handal karena masing- dan juga berfungsi untuk mengatasi
masing komponen mempunyai memory dan disk kegagalan sistem database pada salah satu
tersendiri. MySQL cluster menggabungkan MySQL sisi server agar server yang lain bisa
server biasa dengan sebuah mesin penyimpanan in- menggantikan tugas server yang lainnya.
memory ter-cluster yang dinamakan NDB. NDB Agar perancangan itu bisa dilakukan
dengan baik digunakan teknologi MySQL
berarti bagian dari suatu rangkaian yang
Cluster. Pada tahapan pembuatan sistem
dikhususkan sebagai mesin penyimpanan, sedangkan cluster dibagi tiga bagian utama yaitu
MySQL cluster diartikan sebagai kombinasi atau Management Server Node, Data Node dan
gabungan dari MySQL dan mesin penyimpanan MySQL Server Node. Penggambaran sistem
yang baru tersebut. secara umum dapat dilihat pada gambar
berikut:

Gambar 8 Topologi sistem

Gambar diatas Data Node dan MySql Node


digabungkan menjadi satu Node. Kemudian untuk
Gambar 7. Node dalam MySQL Cluster menghubungkan Node A dan Node B dibutuhkan
Sumber : (Raharjo & Budi, 2011) Management Server Node. Jadi fungsi utama
Management Server Node adalah menghubungkan
kedua node tersebut sehingga fungsi dari MySQL

AMIK DCC Bandar Lampung 284


Jurnal Cendikia Vol. XVIII | Cendikia 2019 P-ISSN:0216-9436
Bandar Lampung, Oktober 2019 E-ISSN:2622-6782

AKTIF
cluster itu sendiri dapat berjalan dengan fungsi DOWN/MATI
SINKRONISASI
sebagai replikasi data dan high availability.

Data Node 1 Data Node 2


2. Tahap Simulasi MySql Server Node 1 MySql Server Node 2

a. Prototype Sinkronisasi Data Real Time Pada


MySql Cluster
Management
Pasif
Server Node
Aktif
SINKRONISASI

Data Node 1 Data Node 2


MySql Server Node 1 MySql Server Node 2

Management
Server Node Web Aplication

Web Aplication

User 1 User 2
Gambar 10 Simulasi high Availability MySql Cluster
User 1 User 2
Gambar diatas menunjukan bagaimana kondisi saat
terjadi kegagalan (failure) pada MySql dan Data
Gambar 9 Simulasi arsitektur MySql Cluster Node 1. Ketika server sedang memberikan service
kepada client akan tetapi jika tiba – tiba terjadi
Gambar diatas menunjukan proses kerja MySql kegagalan (failure) maka secara otomatis
Cluster pada posisi default. User akan mengirim Management Node Server akan mengalihkan service
request kepada web aplication dan kemudian web kepada MySql dan Data Node 2. Sehingga client
aplication mengirimkannya ke Management Node tidak akan menyadari dan terganggu karena adanya
masalah atau kegagalan pada servernya
Server. Management Node Server sendiri memiliki
fungsi sebagai pengatur dan penghubung antar
kedua node lainnya. Pada posisi default, server yang Instalasi Konfigurasi Mysql
Ubuntu 16.04 LTS cluster adalah
aktif memberikan service adalah Node 1. Sedangkan
menginstal mysql
Node 2 bersifat pasif. Meskipun tidak memberikan
cluster secara manual,
service kepada user/client, Node 2 tetap melakukan bukan langsung
sinkronisasi secara real time dengan Node 1 Instalasi menginstal dari paket
sehingga data pada Node 1 akan tetap sama dengan MySQL Cluster
yang tersedia di
data yang ada pada Node 2. repository yang sudah
disediakan oleh linux.
b. Simulasi high – Availability saat terjadi Tetapi berbeda halnya
kegagalan (failure) pada salah satu server. Konfigurasi dan Starting ketika kita memakai
Management windows, cara
Cluster menginstal bisa secara
manual maupun
secara langsung
Konfigurasi dan Starting dengan menggunakan
Data Node .exe nya. Konfigurasi
ini sendiri terbagi
menjadi tiga, yaitu
pengaturan
Konfigurasi dan Starting konfigurasi di sisi
SQL Node Management Server
Node, pengaturan
konfigurasi di sisi
Node A dan
pengaturan di sisi
Testing MySQL Cluster Node B

AMIK DCC Bandar Lampung 285


Jurnal Cendikia Vol. XVIII | Cendikia 2019 P-ISSN:0216-9436
Bandar Lampung, Oktober 2019 E-ISSN:2622-6782

#exportPATH=$PATH:/usr/local/mysql/bin
#echo“exportPATH=\$PATH:/usr/local/
Gambar 11 Alur simulasi pengujian sistem
mysql/bin” >> /etc/bash.bashrc
5.Memindahkan file ndb_mgm dan
3. Tahap Implementasi ndb_mgmd ke dalam direktori
/usr/local/bin.
Untuk membangun server ini penulis menggunakan # cp /usr/local/mysql/bin/ndb_mgm*
sistem operasi berbasis opensource yaitu Proxmox /usr/local/bin/
VE sebagai server virtualisasi dan linux Ubuntu # ls /usr/local/bin/ndb_mgm*
16.04 LTS 64 bit sebagai server fisik, sedangkan
pada sisi database penulis menggunakan MySql b. Konfigurasi Data Node dan SQL Node
server sebagai infrastruktur database server MySQL data node terdiri dari dua komponen
Requirements atau spesifikasi sistem minimum (node), yaitu SQL node (mysqld process) dan
yang direkomendasikan adalah sebagai berikut. data node (ndbd process). SQL node (mysqld
Komputer Server process) berfungsi sebagai pintu akses untuk
- Processor Intel Pentium 4 – 2,6 GHz masuk ke dalam node-node data yang ter-
- Hard Disk 80 GB 7200 RPM cluster. Sedangkan data node (ndbd process)
- Memory ( RAM ) 1 GB digunakan untuk menyimpan semua data yang
- Monitor menjadi milik MySQL Cluster. Semua data
direplikasi di node-node ini
- Keyboard dan Mouse 1. Membuat symbolic link atau symlink folder
Perangkat keras dan perangkat lunak yang
mysql# ln -s /opt/mysql/server-5.6/
digunakan penulis untuk implementasi dan
/usr/local/mysql
pengujian clustering database server sebagai
2. Menambahkan PATH baru untuk variabel
berikut:
PATH
Perangkat Keras #export PATH=$PATH:/usr/local/mysql/bin
1. Komputer database server
- Inter Core i5 – 2450M # echo “export PATH=\$PATH:/usr/local/
- Processor 2.50 GHz mysql/bin” >> /etc/bash.bashrc
- Hard Disk 500 GB
- Memory (RAM) 4 GB 3. Konfigurasi Data Node dan SQL Node
Perangkat Lunak Membuat group dan user
- Sistem Operasi Ubuntu Desktop 16.04 LTS # groupadd mysql
- MySql Cluster # useradd –g mysql mysql
- VirtualBox 4. Membuat database default
- Sysbench # cd /usr/local/mysql
# ./scripts/mysql_install_db --user=mysql
a. Konfigurasi Management Node 5. Mengatur ijin yang diperlukan untuk MySQL
Management Node adalah komponen pertama server dan data direktori
yang harus dimulai dalam cluster apapun. # chown -R root .
Diperlukan sebuah file konfigurasi yang
berfungsi untuk mendeklarasikan arah jalur # chown -R mysql data
node – node yang dibuat. File tersebut sangan # chgrp -R mysql
penting dalam sistem cluster karena berfungsi 6. Konfigurasi data dan SQL node
mengatur secara keseluruhan MySQL Cluster # nano /etc/my.cnf
itu sendiri. File tersebut akan diberi nama file 7. Menjalankan service ndbd pada start-up
config.ini yang disimpan pada direktori configuration
/var/lib/mysql-cluster/config.ini. # echo "/usr/local/mysql/bin/ndbd" >>
Berikut adalah tahapan konfigurasi /etc/rc.local
management node:: 8. Memindahkan file ndb_mgm dan ndb_mgmd
1. Membuat direktori mysql-cluster ke direktori /usr/local/bin
# mkdir/var/lib/mysql-cluster # cp /usr/local/mysql/bin/ndb_mgm*
2. Membuat file dan edit config.ini /usr/local/bin/
# nano /var/lib/mysql-cluster/config.ini 9. Menyalin script start-up MySQL server ke
3. Membuat symbolic link atau symlink folder direktori baru
mysql # cp support-files/mysql.server
# ln -s /opt/mysql/server-5.6/ /usr/local/mysql /etc/init.d/mysql
4. Menambahkan PATH baru untuk variabel 10. Memberi hak akses eksekusi pada file mysql
PATH # chmod +x /etc/init.d/mysql

AMIK DCC Bandar Lampung 286


Jurnal Cendikia Vol. XVIII | Cendikia 2019 P-ISSN:0216-9436
Bandar Lampung, Oktober 2019 E-ISSN:2622-6782

c. Pengujian konektivitas nama varchar(50),


Pengujian pertama yaitu melakukan starting pada alamat varchar(50) )
setiap server dan melakukan pengecekan apakah engine=ndbcluster;
server tersebut sudah terkoneksi satu sama lain mysql> show tables;
atau belum mysql> insert into data_mhs values
# nano /var/lib/mysql-cluster/config.ini (1001,‟deni‟,‟bekasi‟);
# ndb_mgmd --initial -f /var/lib/mysql- mysql> select * from data_mhs;
cluster/config.ini --
configdir=/var/lib/mysql-cluster/ e. Pengujian Response Time dan Throughput
 Cek port 1186 (port default management Pada proses pengujian ini penulis
node) menggunakan tools aplikasi sysbens yang berjalan
# netstat –plntu pada mode terminal ubuntu. Parameter yang diukur
 Cek management node telah berjalan dalam pengujian ini adalah throughput dan
# ndb_mgm response time yang diubah jumlah threadsnya
# show Pengukuran tersebut dilakukan berdasarkan mode
 Starting MySQL dan Data Node pengujian berikut:
# nano /etc/my.cnf
 Simple-mode merupakan pengujian yang
 Starting data node (ndbd)
dilakukan hanya pada proses read-only data
# ndbd –initial
atau hanya pembacaan data saja.
 Starting SQL node (mysqld)
# systemctl enable mysql  Complex-mode merupakan pengujian yang
# systemctl start mysql dilakukan dengan proses yang kompleks yang
 Cek koneksi pada management node meliputi READ, INSERT, DELETE, dan
# ndb_mgm UPDATE
# show Parameter dalam menjalankan pengujian
response time dan throughput yang menjadi
batasan dalam pengujian adalah sebagai
berikut:
1. Jumalah record = 100.000
2. Max. Time = 60 sec.
Pada pengujian ini juga penulis akan
membandingkan hasil dari pengujian response time
dan throughput MySQL cluster dengan hasil
pengujian response time dan throughput pada
MySQL server default sebagai pembanding dalam
uji performa ini. Sebelum melakukan pengujian
terlebih dahulu kita siapkan database baru untuk
Gambar 12 Tampilan informasi koneksi pada dipakai dalam uji coba ini. Database tersebut diberi
management node nama „sbtest‟. Berikut adalah perintahnya.
d. Pengujian Replikasi Data # mysql –u root –p
Setelah memastikan bahwa sistem MySQL mysql> create database sbtest;
cluster sudah berjalan dengan pengujian
konektivitas yang telah dilakukan sebelumnya,
maka selanjutnya adalah tahap pengijian
Berikut adalah data hasil dari pengujian
replikasi data. Simulasi pengujian ini yaitu
berdasarkan nilai threads yang telah ditentukan:
dengan membuat database, tabel dan input data
A. Skenario Simple-mode
pada node A, dan kemudian akan dilihat apakah
data yang dimasukan pada node A secara Pada mode ini akan ditampilkan data
otomatis akan masuk ke dalam node B juga atau throughput dan response time dari hasil
tidak. transaksi read-only yang selengkapnya dapat
 Tahap masuk ke dalam MySQL dilihat pada Tabel 1 merupakan hasil dari
# mysql –u root –p
pengujian response time dan throughput pada
mysql> show databases;
MySQL cluster dan MySQL server dafault.
mysql> create database test;
mysql> show databases; Dapat dilihat bahwa performa dari MySQL
mysql> use banisaleh; cluster lebih baik dari pada MySQL server
mysql> create table data_mhs ( default. Dari tabel tersebut diperoleh
npm int(12) not null, penurunan jumlah throughput mulai dari 8

AMIK DCC Bandar Lampung 287


Jurnal Cendikia Vol. XVIII | Cendikia 2019 P-ISSN:0216-9436
Bandar Lampung, Oktober 2019 E-ISSN:2622-6782

hingga 128 threads. Kondisi ini berpengaruh


terhadap parameter response times yang
semakin lambat akibat penambahan threads
tersebut.

Tabel 1 Rata-rata pengujian MySQL cluster


simple-mode

MySQL MySQL Server


Gambar 14 Grafik Throughput simple-
Th Cluster (Default)
re mode
Resp Throughp Response Throu
ad onse ut (per time (ms) ghput (per
s time sec.) sec.) Throughput adalah jumlah request yang
(ms) ditangani dalam satu detik. Gambar 4.49
8 2 2361.9 memperlihatkan pengaruh penambahan threads
,5 3164,4 3.33 2
terhadap throughput. Parameter ini akan berdampak
16 3518,0 2309.35
4,54 2 6.84 pada jumlah request yang ditangani suatu node
32 9 3365,3 2269.4 cluster dalam satu detik. Semakin besar nilai yang
,5 2 14.04 diperoleh menyatakan semakin baik pula kondisi
64 2 2364.9 cluster tersebut.
2,97 2785,01 26.99 2
80 2 2669,7 2387.1
9,95 5 33.42 1 B. Skenario complex mode
96 3 2640,6 2304.7
6,34 5 41.56 3 Pada mode ini data yang ditampilkan adalah
11 3 2801,8 2328.2 throughput dan response time dengan mode
2 9,96 6 48 5
12 4 2922,6 2383.2
complex-mode. Terdapat beberapa perbedaan
8 3,78 7 53.59 9 dibandingkan simple-mode. Complex-mode
merupakan pengujian yang dilakukan dengan proses
yang kompleks yang meliputi READ, INSERT,
DELETE, dan UPDATE. Untuk hasil selengkapnya
dapat dilihat pada tabel hasil benchmarking dibawah
ini.
Tabel 2 Rata-rata pengujian MySQL cluster
complex-mode

MySQL Server
MySQL Cluster
(Default)
Gambar 13 Grafik Response time simple- Throu Throu
mode Thr Response ghput Response ghput
eads time (ms) (per time (ms) (per
sec.) sec.)
Response time merupakan rentang waktu dari 1672. 1591.
8 85.71 95,49
saat user mengirimkan request ke server hingga 72 01
server selesai merespon request tersebut. Gambar 1633. 1521.
16 166.06 199,62
16 83
4.47 memperlihatkan pengaruh penambahan threads
1668. 1353.
terhadap response time. Parameter ini akan 32 325.9 448,6
63 33
berdampak pada kecepatan akses yang dibutuhkan 1626. 1356.
suatu node cluster. Semakin kecil nilai yang 64 636.67 894,55
26 11
diperoleh menyatakan semakin baik pula kondisi 1580. 1363.
cluster tersebut. 80 815.97 1110,6
81 55
1450. 1281.
96 950.34 1417,12
25 18
1415. 1260.
112 1159.44 1678,99
36 92
1406. 1222.
128 1335.65 1977,56
27 84

AMIK DCC Bandar Lampung 288


Jurnal Cendikia Vol. XVIII | Cendikia 2019 P-ISSN:0216-9436
Bandar Lampung, Oktober 2019 E-ISSN:2622-6782

tertinggi adalah 1591.01. Sedangkan nilai


Nilai yang diperoleh pada tabel diatas menunjukan throughput terendah adalah 1222.84 pada beban 128
perbedaan dengan percobaan sebelumnya yakni threads. Artinya performa MySQL cluster lebih baik
memakai simple-mode. Pada pengujian complex- dibandinkan dengan performa MySQL server default
mode nilai response time lebih besar, begitu juga dari sisi pengujian throughput.
dengan nilai pada throughput lebih kecil. Namun
Nilai throughput yang diperoleh pada mode ini
dapat dilihat bahwa performa MySQL cluster masih
lebih kecil dibandingkan pada simple-mode. Hal ini
lebih baik dari pada MySQL server default.
dikarenakan pada mode ini terjadi variasi proses
transaksi SQL yang meliputi; READ, WRITE,
INSERT dan UPDATE. Apabila salah satu dari
transaksi tersebut tidak dipenuhi, maka transaksi
yang terjadi tidak terhitung. Berbeda dengan simple-
mode, transaksi yang terjadi hanya READ saja. Jadi
kemungkinan transaksi yang terjadi semakin banyak.
3. KESIMPULAN
Dari hasil analisa dan pembahasan maka dapat
ditarik kesimpulan sebagai berikut:
1. Sistem clustering database server
menggunakan MySQL cluster berhasil
dibangun diatas mesin virtual berbasis open
Gambar 15 Grafik Response time complex- source yang didalamnya terpasang sistem
mode operasi Ubuntu 16.04 LTE (Xenial Xerus).
2. Performa sebuah database meningkat jika
Perubahan yang terjadi pada gambar 15 dibandingkan dengan database MySQL
menunjukkan nilai yang terbaik pada MySQL yang tidak menggunakan sistem clustering.
cluster adalah 85,71 ms pada saat kondisi default 3. Hasil dari pengukuran response time dan
pada beban 8 threads. Sedangkan nilai terburuknya throughput menunjukan performa MySQL
adalah 1335.65 ms pada saat kondisi default cluster cukup baik dibandingkan dengan
diberikan beban 128 threads. Nilai tersebut masih MySQL server (default).
berada dibawah nilai MySQL server dafault. Nilai
tersebut terlihat sangat signifikan disebabkan PUSTAKA
pengujian pada complex-mode terjadi adanya variasi
transaksi yang membutuhkan waktu yang lama Arbie. (2003). Manajemen Database dengan
untuk menyelesaikannya. Proses tersebut juga MySQL. Yogyakarta: Andi Offset.
dipengaruhi oleh pembagian beban trafik pada Ariyus, D. (2008). Pengantar Ilmu Kriptografi.
sistem cluster keduanya. Yogyakarta: Andi offset.
Atzeni, P. e. (2003). Database System: Concepts,
Languages & Architecture. Australia:
McGraw-Hill.
Connolly, T., & Begg, C. (2010). Database system:
a practical approach to design,
implementation and management 5th
Edition. America: Person Education.
Hodges, R. (2007). Database High Avaibility and
Scalability. America: CTO Continuent Inc.
Munir, R. (2006). Kriptografi. Bandung: ITB.
O'Brien, & James, A. (2005). Pengantar Informatif
Perseptif Bisnis dan Manajerial. Jakarta:
Salemba.
Raharjo, & Budi. (2011). Membuat Database
Gambar 16 Grafik Throughput complex-
Menggunakan MySQL. Bandung:
mode
Informatika.
Triwahyuni, A. K. (2003). Pengenalan Teknologi
Pada Gambar 16 dapat dilihat nilai throughput Informasi. Yogyakarta: Andi Yogyakarta.
MySQL cluster yang tertinggi adalah 1672.72 pada
beban 8 threads. Sedangkan nilai throughput
terendah adalah 1406.27 pada beban 128 threads.
Pada MySQL server default nilai throughput yang

AMIK DCC Bandar Lampung 289

Anda mungkin juga menyukai