• Tidak ada hasil yang ditemukan

IMPLEMENTASI MYSQL CLUSTER PADA OPENSOLARIS. Henri Hendrata Dosen Pembimbing: Dr. Isa Irawan, MT

N/A
N/A
Protected

Academic year: 2021

Membagikan "IMPLEMENTASI MYSQL CLUSTER PADA OPENSOLARIS. Henri Hendrata Dosen Pembimbing: Dr. Isa Irawan, MT"

Copied!
10
0
0

Teks penuh

(1)

IMPLEMENTASI MYSQL CLUSTER PADA OPENSOLARIS Henri Hendrata

1203 109 034 Dosen Pembimbing:

Dr. Isa Irawan, MT

Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Teknologi Sepuluh November

ABSTRAK

MySQL Cluster adalah database dengan high availability dan high scalability dimana menggunakan arsitektur data storage shared-nothing dan antarmuka SQL yang telah umum digunakan. Sistem MySQL Cluster terdiri dari multiple node dimana beberapa node yang dapat didistribusikan ke beberapa perangkat keras dan ke beberapa wilayah/zona yang berbeda sekaligus untuk tetap menjaga ketersediaan data meskipun jaringan ataupun salah satu node sedang mengalami kegagalan (failure). High scalability memungkinkan MySQL Cluster menambah jumlah node untuk menambah kapasitas database tanpa mengalami downtime.

Kata Kunci: MySQL, MySQL cluster, shared-nothing, OpenSolaris, Zones

1. PENDAHULUAN 1.1 Latar Belakang

Basis data merupakan bagian yang penting dalam kehidupan manusia. Mulai dari pengguna rumahan, industri kecil hingga pengguna yang berskala enterprice. Kebutuhan akan ketersediaan basis data (database) yang bisa terus aktif bekerja selama 24 jam x 7 hari merupakan faktor utama munculnya konsep cluster dalam MySQL. Pada awalnya, MySQL Cluster dirancang khusus untuk perusahaan-perusahaan berbasis telekomunikasi yang memang membutuhkan keaktualan dan keaktifan dari database mereka. Basis data perusahaan-perusahaan ini selain berkapasitas besar juga bersifat high availability dan scalability.

1.2 Perumusan Masalah

Adapun permasalahan yang akan dibahas dalam Tugas Akhir ini adalah:

1. Bagaimana mendapatkan konfigurasi terbaik MySQL Cluster pada Sistem Operasi OpenSolaris.

2. Menguji high availability pada MySQL Cluster.

3. Menguji high scalability pada MySQL Cluster.

1.3 Batasan Masalah

Batasan masalah dari penulisan Proposal Tugas Akhir ini adalah:

1. Menggunakan Zones OpenSolaris sebagai node.

2. Database yang digunakan adalah database sederhana yang di-generate dari http://www.generatedata.com 3. Memori untuk data setiap node adalah

10 MB.

4. Sistem Operasi menggunakan OpenSolaris.

5. Menggunakan MySQL Cluster versi gpl-7.0.6-solaris10-x86_64.

6. Menggunakan satu buah PC sebagai simulator

2. TINJAUAN PUSTAKA

2.1 Sistem Operasi (Operating System)

Sistem operasi adalah perangkat lunak yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem. Sistem operasi bertindak sebagai host untuk menjalankan aplikasi komputer didalam mesin. Sebagai host, salah satu tujuan dari sistem operasi adalah menangani alokasi sumber daya dan proteksi akses perangkat keras 2.1.1 OpenSolaris

OpenSolaris merupakan Sistem Operasi open source yang dibangun berdasar dari Solaris 10, OpenSolaris dipublikasikan oleh Sun Microsystem pada tahun 2005. Seperti Linux,

(2)

OpenSolaris dapat diunduh secara gratis, dimodifikasi dan bebas untuk didistribusikan 2.2 Virtualisasi OpenSolaris Zones

Virtualisasi sistem operasi adalah penggunaan perangkat lunak untuk memungkinkan satu perangkat keras untuk menjalankan beberapa sistem operasi pada saat yang sama. Teknologi ini bertujuan untuk menghindari pemborosan daya proses mahal atau dengan kata lain untuk meningkatkan efisiensi. OpenSolaris mempunyai virtualisasi sendiri yaitu OpenSolaris Zones, OpenSolaris Zones mengisolasi environments dengan subset dari privilege host Sistem Operasi sehingga mengijinkan aplikasi berjalan dalam zone tanpa memerlukan modifikasi.

Gambar 2.1Diagram OpenSolaris Zones Pada Gambar 2.1, red zone (red.com) dan sun zone (sun.com) adalah zone dan merupakan subset dari global zone (serviceprovider.com). Setiap zone menjalankan service sendiri tanpa mengganggu zone yang lain. Berikut aliran proses pada sebuah zone:

Gambar 2.2 Proses aliran zone pada OpenSolaris Zones

Pada tugas akhir ini virtualisasi OpenSolaris Zones digunakan untuk mensimulasikan cluster menggunakan node yang disediakan oleh OpenSolaris Zones

2.3 Database (Basis Data)

Database adalah sebuah koleksi dari data yang saling berelasi, dimana data tersebut disimpan pada komputer sedemikian hingga sebuah program komputer dapat berinteraksi dan menggunakan data yang disimpan tersebut untuk menyelesaikan masalah ataupun menjawab pertanyaan (Elmasri 1994). Adapun alasan digunakannya database adalah sebagai berikut: 1. Untuk mengurangi redundansi dan inkonsistensi data.

2. Dapat mengatasi kesulitan dalam pengaksesan data.

3. Dapat diakses oleh banyak user.

4. Dapat mempercepat pencarian dari data-data yang tersedia.

5. Dapat meningkatkan kerahasiaan dari data-data.

2.4 Sistem Database

Sistem database adalah sebuah sistem yang didesain untuk memanajemen informasi dalam ukuran yang sangat besar. Dimana yang

(3)

termasuk dalam manajemen tersebut adalah pendefinisian struktur-struktur untuk menyimpan dan mekanisme untuk memanipulasi informasi (Elmasri, 1994).

2.5 Relational Database Management System (RDBMS)

RDBMS adalah sebuah program komputer yang didisain untuk memanajemen database sebagai sekumpulan data yang disimpan secara terstruktur, dan melakukan operasi-operasi atas manajemen sumber daya manusia. Dalam RDBMS semua data disimpan dalam bentuk tabel-tabel dimana sebuah tabel menyimpan informasi mengenai sebuah subjek tertentu. Dengan RDBMS, sebuah database akan dengan mudah dikelola walaupun jumlah datanya banyak dan kompleks

2.6 MySQL

MySQL merupakan salah satu RDBMS open source paling populer dengan 6 juta instalasi di seluruh dunia. MySQL didistribusikan secara gratis dibawah lisensi GPL (General Public License), dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang bersifat komersial

Karena sifatnya yang gratis dan open source, MySQL banyak digunakan oleh perusahaan-perusahaan besar seperti Google, Yahoo!, Facebook, Friendster, Twitter, untuk memangkas biaya pembelian lisensi RDBMS yang relatif mahal.

2.7 Database Cluster

Database clustering adalah kumpulan dari beberapa server yang berdiri sendiri yang kemudian bekerjasama sebagai suatu sistem tunggal (Hodges, 2007).

2.7.1 Shared Disk Clusters

Arsitektur shared disk clusters menggunakan server-server independent dan berbagi sebuah sistem penyimpanan tunggal. Setiap server mempunyai prosesor dan memori sendiri, tetapi berbagi disk resources. Implementasi utama dari shared-disk clustering adalah bukan untuk scalability. Shared-disk clustering ini diimplementasikan untuk availability dan menambah node cadangan sebagai failover node.

Gambar 2.7: Shared Disk Clusters 2.7.2 Shared Nothing Cluster

Dalam arsitetur shared nothing cluster, tiap server dalam cluster menangani prosesor, memori, storage, record locks dan transaksi yang terpisah dan melakukan koordinasi dengan server lain melalui jaringan dengan menggunakan high speed, low-latency interconnect technology. Dalam proses permintaan data suatu node harus mengirimkan 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 didisain untuk high availability dan scalability.

Gambar 2.8: Shared Nothing 2.8 MySQL Cluster

MySQL Cluster merupakan sebuah tipe basis data (database) yang dapat beroperasi dalam ukuran data yang besar. Pada awalnya, MySQL Cluster banyak dimanfaatkan oleh perusahaan-perusahaan telekomunikasi untuk menjalankan aplikasi yang berkaitan dengan

(4)

HLR (Home Locator Registry) dan SLR (Subscriber Locator Registry). Namun pada perkembangan selanjutnya, teknologi ini telah meluas hingga banyak digunakan oleh para pengembang untuk aplikasi-aplikasi yang berkaitan dengan VoIP (Voice Over Internet Protocol), internet billing, session management, hosting provider, mesin pencari (search engine), hingga ke aplikasi umum yang biasa digunakan di perkantoran.

2.9 Arsitektur MySQL Cluster

MySQL Cluster merupakan sebuah database yang menggunakan arsitektur shared-nothing dan antarmuka SQL yang telah umum digunakan. Sistem database ini terdiri dari beberapa node yang dapat didistribusikan ke beberapa perangkat keras dan ke beberapa wilayah/zona yang berbeda sekaligus untuk tetap menjaga ketersediaan data meskipun jaringan ataupun salah satu node sedang mengalami kegagalan (failure).

Gambar 2.9: Arsitektur MySQL Cluster MySQL menggunakan tiga node yang berbeda, yakni:

1. Data node (ndbd process), digunakan untuk menyimpan semua data yang menjadi milik MySQL Cluster. Semua data direplikasi di node-node ini

2. Management node (ndb_mgmd process), digunakan untuk konfigurasi dan monitoring cluster. Node ini hanya digunakan selama node startup.

3. SQL node (mysqld process), berfungsi sebagai pintu akses untuk masuk ke dalam node-node data yang ter-cluster.

2.10 High Availability

Dewasa ini tingkat ketersediaan layanan server yang tinggi banyak dibutuhkan oleh perusahaan-perusahaan khususnya adalah perusahaan telekomunikasi, tingkat ketersediaan maksimum yang dapat dicapai adalah 99,999% dengan kata lain dalam waktu satu tahun server hanya mengalami downtime selama 5,3 menit. Hal tersebut tidak mungkin tercapai tanpa redudansi, karena salah satu bagian dari server pastilah dapat mengalami kegagalan. Satu-satunya cara untuk memecahkan masalah tersebut adalah menggunakan clustering. 2.11 Scalability

Scalability adalah penting karena apabila database mengalami perkembangan sehingga server yang telah ada, tidak mampu menangani permintaan layanan, maka node baru dapat ditambahkan sehingga kapasitas database bertambah. Hal tersebut memungkinkan suatu perusahaan untuk memulai dengan node secukupnya untuk menghemat biaya, kemudian menambahkan node apabila dibutuhkan.

3. IMPLEMENTASI DAN PEMBAHASAN

3.1 Instalasi MySQL Cluster

Untuk melakukan instalasi MySQL Cluster, langkah pertama adalah men-download file binary mysql-cluster-gpl-7.0.6-solaris10-x86_64.tar dari MySQL Cluster dari http://dev.mysql.com/downloads/cluster/#solaris _tar kemudian letakkan file mysql-cluster-gpl-7.0.6-solaris10-x86_64.tar.gz pada direktori /, kemudian dilakukan uncompress dan ekstraksi, root@opensolaris:/#gunzip mysql-cluster-gpl-7.0.6-solaris10-x86_64.tar.gz

root@opensolaris:/#tar -xvf mysql-cluster-gpl-7.0.6-solaris10-x86_64.tar

Gambar 3.1 Instalasi OpenSolaris Selanjutnya adalah membuat softlink mysql-cluster-gpl-7.0.6-solaris10-x86_64 ke /usr/local,

root@opensolaris:/# ln -sf /mysql-cluster-gpl-7.0.6-solaris10-x86_64 /usr/local/mysql

(5)

Pastikan bahwa mysql-cluster-gpl-7.0.6-solaris10-x86_64 sudah ter-link ke /usr/local, apabila hasilnya adalah “lrwxrwxrwx 1 root root 42 2009-12-30 01:12 mysql -> /mysql-cluster-gpl-7.0.6-solaris10-x86_64/”, maka mysql-cluster-gpl-7.0.6-solaris10-x86_64 telah ter-link ke /usr/local.

Setelah zone terbentuk, maka akan dibuat clone untuk zone-zone yang lain, langkah pertama adalah membuat profile pada zone mysql1,

Hal selanjutnya adalah men-startup pada service ndb_mgmd

root@mysql:[~] # ndb_mgmd -f /var/lib/mysql-cluster/config.ini

2010-01-03 23:56:23 [MgmSrvr] INFO -- NDB Cluster Management Server. mysql-5.1.34 ndb-7.0.6

2010-01-03 23:56:23 [MgmSrvr] INFO -- Reading cluster configuration from '/var/lib/mysql-cluster/config.ini'

root@mysql:[~] #

Gambar 3.2 Startuo service ndb_mgmd Kemudian dilakukan cek pada konfigurasi apakah config sudah berjalan, root@mysql:[~] # ndb_mgm

-- NDB Cluster -- Management Client -- ndb_mgm> show

Connected to Management Server at: localhost:1186

Cluster Configuration ---

[ndbd(NDB)] 4 node(s)

id=2 (not connected, accepting connect from 172.16.31.21)

id=3 (not connected, accepting connect from 172.16.31.22)

id=4 (not connected, accepting connect from 172.16.31.23)

id=5 (not connected, accepting connect from 172.16.31.24)

[ndb_mgmd(MGM)] 1 node(s)

id=1 @172.16.31.20 (mysql-5.1.34 ndb-7.0.6) [mysqld(API)] 2 node(s)

id=8 (not connected, accepting connect from 172.16.31.25)

id=9 (not connected, accepting connect from 172.16.31.26)

ndb_mgm>

Gambar 3.3 Cek Konfigurasi yang Berjalan Pada baris “id=1 @172.16.31.20 (mysql-5.1.34 ndb-7.0.6)” ditunjukkan bahwa manajemen telah siap. Selanjutnya adalah melakukan konfigurasi untuk node1 dengan IP 172.16.31.21, dengan melakukan koneksi ke 172.16.31.21 menggunakan SSH, kemudian rubah konfigurasi yangt terdapat pada /etc/my.cnf.

root@opensolaris:[/] # ssh root@172.16.31.21 Password:

Last login: Sun Jan 3 23:06:45 2010 from 172.16.31.1

Sun Microsystems Inc. SunOS 5.11 snv_126 November 2008

root@mysql1:[~] # vim /etc/my.cnf Rubah menjadi, [mysqld] ndbcluster ndb-connectstring=172.16.31.20 [mysql_cluster] ndb-connectstring=172.16.31.20

Gambar 3.4 Konfigurasi /etc/my.cnf Setelah itu lakukan startup pada node1 (mysql1) dengan perintah sebagai berikut, root@mysql1:[~] # ndbd –initial

Gambar 3.5 Startup node1

Proses konfigurasi dan startup dilakukan juga pada node2, node3, node4 dan node5, selanjutnya adalah mengaktifkan SQL/API pada node5 yaitu dengan cara berikut dibawah, root@mysql5:[~] # mysqld_safe --user=mysql & [1] 4276

root@mysql5:[~] # 100104 00:07:41

mysqld_safe Logging to

'/usr/local/mysql/data/mysql5.err'.

100104 00:07:41 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data

root@mysql5:[~] #

Gambar 3.6 Konfigurasi node

Setelah itu dilakukan pengecekan zone untuk memastikan node dalam kondisi aktif, pengecekan berikut dapat dilakukan di zone mana saja.

root@opensolaris:[~] # ssh root@172.16.31.20 Password:

(6)

Last login: Sun Jan 3 23:50:56 2010 from 172.16.31.1

Sun Microsystems Inc. SunOS 5.11 snv_126 November 2008

root@mysql:[~] # ndb_mgm

-- NDB Cluster -- Management Client -- ndb_mgm> show

Connected to Management Server at: localhost:1186 Cluster Configuration --- [ndbd(NDB)] 4 node(s) id=2 @172.16.31.21 (mysql-5.1.34 ndb-7.0.6, Nodegroup: 0, Master) id=3 @172.16.31.22 (mysql-5.1.34 ndb-7.0.6, Nodegroup: 0) id=4 @172.16.31.23 (mysql-5.1.34 ndb-7.0.6, Nodegroup: 1) id=5 @172.16.31.24 (mysql-5.1.34 ndb-7.0.6, Nodegroup: 1) [ndb_mgmd(MGM)] 1 node(s) id=1 @172.16.31.20 (mysql-5.1.34 ndb-7.0.6) [mysqld(API)] 1 node(s) id=10 @172.16.31.25 (mysql-5.1.34 ndb-7.0.6) ndb_mgm>

Gambar 3.7 Cek Zone yang Berjalan Dari informasi Gambar 3.7 diketahui bahwa semua server telah siap.

3.2 Uji Coba MySQL Cluster

Uji coba MySQL Cluster yaitu dengan membuat database beserta isinya, database yang akan diuji cobakan adalah database sederhana berisi data yang di-generate dari http://www.generatedata.com. Langkah pertama adalah masuk ke mysqld (zone mysql5) melalui SSH, kemudian create database dan insert database. Database yang akan digunakan tersimpan pada file data.sql.

mysql> show tables; +---+ | Tables_in_contoh | +---+ | myTable | +---+ 1 row in set (0.00 sec)

mysql> select count(nama) from myTable; +---+

| count(nama) |

+---+ | 38400 | +---+

1 row in set (0.10 sec) mysql>

Gambar 3.8 Cek Database

Dari hasil cek diatas, tersebutkan bahwa terdapat 38400 data nama pada table myTable. 3.3 Uji High Availability

Uji high availability dilakukan dengan cara mematikan salah satu node dari ke-4 node, apabila setelah salah satu node dimatikan, database tetep berjalan dengan semestinya, maka MySQL Cluster dapat dikatakan memiliki sifat high availability.

Langkah pertama adalah dengan mematikan salah satu node (mysql2),

root@opensolaris:[~] # ssh root@172.16.31.22 Password:

Last login: Mon Jan 4 00:02:49 2010 from 172.16.31.1

Sun Microsystems Inc. SunOS 5.11 snv_126 November 2008

root@mysql2:[~] # halt

Connection to 172.16.31.22 closed by remote host.

Connection to 172.16.31.22 closed. Gambar 3.9 Mematikan node2

Kemudian akan dilakukan pengecekan sifat high availability MySQL Cluster dengan cara melakukan query kedalam database, dan memastikan bahwa terdapat 38400 data nama pada table myTable.

root@mysql5:[~] # mysql

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 3

Server version: 5.1.34-ndb-7.0.6-cluster-gpl MySQL Cluster Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use contoh;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

(7)

+---+ | count(nama) | +---+ | 38400 | +---+

1 row in set (0.10 sec) mysql>

Gambar 3.10 Cek Ketersediaan Akses Database Berdasarkan Gambar 3.10, database masih tetap dapat diakses dan jumlah data nama pada table myTable tetap berjumlah 38400, maka MySQL Cluster memiliki sifat high availability.

3.4 Uji Scalability

Uji scalability dilakukan dengan cara memenuhi database myTable dengan data baru, kemudian mengamati laporan dari memori yang telah digunakan. Setelah itu akan ditambahkan node baru dan menambahkan kembali data kedalam database. MySQL Cluster dikatakan memiliki sifat scalability apabila ketika data baru yang dimasukkan terdistribusi pada node-node yang baru ditambahkan.

Langkah pertama adalah mengamati kondisi sebelum ditambahkan node baru. Konfigurasi /var/lib/mysql-cluster/config.ini pada kondisi awal adalah,

[NDBD DEFAULT] NoOfReplicas: 2 DataDir: /usr/local/mysql/data FileSystemPath: /usr/local/mysql/data DataMemory: 10M IndexMemory: 10M BackupMemory: 64M [MGM DEFAULT] PortNumber: 1186 DataDir: /usr/local/mysql/data [NDB_MGMD] Id: 1 HostName: 172.16.31.20 ArbitrationRank: 1 [NDBD] Id: 2 HostName: 172.16.31.21 [NDBD] Id: 3 HostName: 172.16.31.22 [NDBD] Id: 4 HostName: 172.16.31.23 [NDBD] Id: 5 HostName: 172.16.31.24 [mysqld] Id: 10 HostName: 172.16.31.25

Gambar 3.11 Konfigurasi config.ini Dari konfigurasi /var/lib/mysql-cluster/config.ini diatas menunjukkan bahwa node yang dijalankan saat ini adalah berjumlah 4. Untuk memastikan hanya 4 node yang berjalan adalah dengan mengetikkan perintah show pada ndb_mgm, ndb_mgm> show Cluster Configuration --- [ndbd(NDB)] 8 node(s) id=2 @172.16.31.21 (mysql-5.1.34 ndb-7.0.6, Nodegroup: 0, Master) id=3 @172.16.31.22 (mysql-5.1.34 ndb-7.0.6, Nodegroup: 0) id=4 @172.16.31.23 (mysql-5.1.34 ndb-7.0.6, Nodegroup: 1) id=5 @172.16.31.24 (mysql-5.1.34 ndb-7.0.6, Nodegroup: 1) [ndb_mgmd(MGM)] 1 node(s) id=1 @172.16.31.20 (mysql-5.1.34 ndb-7.0.6) [mysqld(API)] 1 node(s) id=10 @172.16.31.25 (mysql-5.1.34 ndb-7.0.6) ndb_mgm>

Gambar 3.12 Cek node yang Berjalan Langkah berikutnya adalah menambahkan data pada database,

root@mysql5:[/] # mysql contoh < data1.sql Gambar 3.13 Insert Database

(8)

Selanjutnya adalah mengecek distribusi data yang tersebar pada node,

ndb_mgm> all report memory

Node 2: Data usage is 34%(109 32K pages of total 320)

Node 2: Index usage is 3%(52 8K pages of total 1312)

Node 3: Data usage is 34%(109 32K pages of total 320)

Node 3: Index usage is 3%(52 8K pages of total 1312)

Node 4: Data usage is 33%(108 32K pages of total 320)

Node 4: Index usage is 4%(54 8K pages of total 1312)

Node 5: Data usage is 33%(108 32K pages of total 320)

Node 5: Index usage is 4%(54 8K pages of total 1312)

Gambar 3.14 Cek Distribusi Database Langkah berikutnya adalah menambahkan node dengan menambahkan konfigurasi /var/lib/mysql-cluster/config.ini, namun sebelumnya harus mematikan manajemen terlebih dahulu, dengan perintah

ndb_mgm>1 stop ndb_mgm>quit

Gambar 3.15 Stop node management Tambahkan node baru pada konfigurasi /var/lib/mysql-cluster/config.ini, menjadi, [NDBD DEFAULT] NoOfReplicas: 2 DataDir: /usr/local/mysql/data FileSystemPath: /usr/local/mysql/data DataMemory: 10M IndexMemory: 10M BackupMemory: 64M [MGM DEFAULT] PortNumber: 1186 DataDir: /usr/local/mysql/data [NDB_MGMD] Id: 1 HostName: 172.16.31.20 ArbitrationRank: 1 [NDBD] Id: 2 HostName: 172.16.31.21 [NDBD] Id: 3 HostName: 172.16.31.22 [NDBD] Id: 4 HostName: 172.16.31.23 [NDBD] Id: 5 HostName: 172.16.31.24 [NDBD] Id: 6 HostName: 172.16.31.26 [NDBD] Id: 7 HostName: 172.16.31.27 [NDBD] Id: 8 HostName: 172.16.31.28 [NDBD] Id: 9 HostName: 172.16.31.29 [mysqld] Id: 10 HostName: 172.16.31.25

Gambar 3.16 Konfigurasi baru config.ini Langkah selanjutnya adalah menambahkan data lagi kedalam database, namun sebelumnya cek terlebih dahulu memori yang terpakai pada setiap node,

ndb_mgm> all report memory

Node 2: Data usage is 34%(109 32K pages of total 320)

Node 2: Index usage is 3%(52 8K pages of total 1312)

Node 3: Data usage is 34%(109 32K pages of total 320)

Node 3: Index usage is 3%(52 8K pages of total 1312)

Node 4: Data usage is 33%(108 32K pages of total 320)

Node 4: Index usage is 4%(54 8K pages of total 1312)

Node 5: Data usage is 33%(108 32K pages of total 320)

(9)

Node 5: Index usage is 4%(54 8K pages of total 1312)

Node 6: Data usage is 2%(38 8K pages of total 0)

Node 6: Index usage is 2%(38 8K pages of total 0)

Node 7: Data usage is 2%(38 8K pages of total 0)

Node 7: Index usage is 2%(38 8K pages of total 0)

Node 8: Data usage is 2%(38 8K pages of total 0)

Node 8: Index usage is 2%(38 8K pages of total 0)

Node 9: Data usage is 2%(38 8K pages of total 0)

Node 9: Index usage is 2%(38 8K pages of total 0)

all report memory

Gambar 3.17 Laporan Memori

Dari laporan diatas dapat dilihat bahwa 4 node baru masih kosong belum terisi, akan ditambahkan data pada database untuk mengecek apakah data akan terdistribusi ke node-node baru, namun sebelumnya dilakukan reorganisasi dan optimasi partisi terlebih dahulu karena telah ditambahkan 4 node baru.

mysql> ALTER TABLE myTable REORGANIZE PARTITION;

Query OK, 0 rows affected (1.29 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> OPTIMIZE TABLE myTable; +---+---+---+---+ | Table | Op | Msg_type | Msg_text | +---+---+---+---+ | contoh.myTable | optimize | status | OK | +---+---+---+---+ 1 row in set (3.57 sec)

mysql>

Gambar 3.18 Reorganize dan Optimize Database

Tambahkan data baru,

root@mysql5:[/] # mysql contoh < data1.sql Gambar 3.19 Menambahkan Data kemudian cek apakah data terdistribusi ke node-node baru,

ndb_mgm> all report memory

Node 2: Data usage is 34%(109 32K pages of total 320)

ndb_mgm> Node 2: Index usage is 3%(52 8K pages of total 1312)

Node 3: Data usage is 34%(109 32K pages of total 320)

Node 3: Index usage is 3%(52 8K pages of total 1312)

Node 4: Data usage is 33%(108 32K pages of total 320)

Node 4: Index usage is 4%(54 8K pages of total 1312)

Node 5: Data usage is 33%(108 32K pages of total 320)

Node 5: Index usage is 4%(54 8K pages of total 1312)

Node 6: Data usage is 30%(98 32K pages of total 320)

Node 6: Index usage is 2%(38 8K pages of total 1312)

Node 7: Data usage is 30%(98 32K pages of total 320)

Node 7: Index usage is 2%(38 8K pages of total 1312)

Node 8: Data usage is 30%(98 32K pages of total 320)

Node 8: Index usage is 2%(38 8K pages of total 1312)

Node 9: Data usage is 30%(98 32K pages of total 320)

Node 9: Index usage is 2%(38 8K pages of total 1312)

all report memory

Gambar 3.19 Cek Memori

Berdasarkan Gambar 3.19, data telah terdistribusi ke node-node baru, dengan kata lain MySQL Cluster memiliki sifat scalability

4. PENUTUP 4.1 Kesimpulan

Dari hasil uji coba yang telah dilakukan terhadap MySQL Cluster, maka dapat diambil kesimpulan bahwa:

1. MySQL Cluster memiliki sifat high availability

2. MySQL Cluster memiliki sifat scalability

4.2 Saran

Adapun saran yang perlu dipertimbangkan dalam pengembangan tugas akhir ini adalah menambahkan MySQL Proxy untuk meningkatkan kinerja MySQL Cluster dan menggunakan hardware nyata tanpa virtualisasi untuk implementasi sesungguhnya.

(10)

DAFTAR PUSTAKA

[1] Foxwell, J. Harry. and Tran, Christine. 2009. Pro OpenSolaris. Apress, New York [2] Fisk, Harrison. 2008. MySQL Clustering,

1st edition. MySQL Press

[3] Davies, Alex. and Fisk, Harrison. 2006. MySQL® Clustering. MySQL Press [4] Elmasri, R. dan Navathe, S.B. 1994.

Fundamentals of Database Systems. 2nd Edition, Prentice Hall.

[5] Korth, H.F. dan Silberchatz. 1998. A Database System Concept, 3rd Editions, McGraw Hill.

[6] Hodges, R. 2007. Database High Availability and Scalability, CTO Continuent, Inc.

[http://www.pgday.it/files/scalability.pdf ]

[7] MySQL AB. 2009. A MySQL Technical White Paper.

[http://www.Mysql.com/why-mysql/white-papers/ ]

[8] DuBois, Paul .2008. MySQL Fourth Edition. USA: Addison-Wesley [9] MySQL AB. 2009. MySQL Cluster

Evaluation Guide.

[http://www.mysql.com/why-

Gambar

Gambar 2.1Diagram OpenSolaris Zones
Gambar 2.7: Shared Disk Clusters
Gambar 2.9: Arsitektur MySQL Cluster
Gambar 3.2 Startuo service ndb_mgmd
+5

Referensi

Dokumen terkait

Penelitian ini bermanfaat sebagai tambahan referensi bagi para mahasiswa atau anggota yang lain dari institusi pendidikan tersebut mengenai hubungan antara tingkat

Melihat karakteristik penonton yang menyaksikan pertunjukan, maka sirkulasi penonton pada ruang pertunjukan terbuka dituntut memberikan kejelasan untuk penonton berjalan

Indonesia Tanah Jang Moelia Tanah Kita Jang Kaja Di sanalah Akoe Berdiri Oentoek Slama-Lamanja Indonesia Tanah Poesaka P'saka Kita Semoenja Marilah Kita Mendo'a Indonesia

Menyatakan dengan sesungguhnya bahwa karya ilmiah yang berjudul: Analisis Penyerapan Tenaga Kerja Pada Sektor-sektor Ekonomi Di Kabupaten Bondowoso adalah

Setiap orang yang dengan sengaja menggunakan alat, metode atau cara lain dalam memberikan pelayanan kepada masyarakat yang menimbulkan kesan seolah-olah yang bersangkutan

mengetahui arah perkembangannya Menurut Djarwanto (2001:111) manfaat analisis laporan keuangan berdasarkan pada kepentingan para pemakai laporan yaitu : (1) Untuk mengetahui

Jaringan saraf tiruan mengizinkan terjadinya proses komputasi yang sangat sederhana (penjumlahan, pengurangan dan elemen logika dasar lainnya) untuk menyelesaikan masalah

Kemajuan di bidang biologi molekuler telah melahirkan berbagai teknik yang dapat dimanfaatkan dalam pengelolaan penyakit tungro, di antaranya (1) diagnosis penyakit tungro, (2)