• Tidak ada hasil yang ditemukan

Melihat MySQL Cluster di Dua Komputer Berbasis Ubuntu 6.06

N/A
N/A
Protected

Academic year: 2021

Membagikan "Melihat MySQL Cluster di Dua Komputer Berbasis Ubuntu 6.06"

Copied!
15
0
0

Teks penuh

(1)

Melihat MySQL Cluster

di Dua Komputer Berbasis Ubuntu 6.06

Oleh:

1. Herbert Darwin

(09245)

2. Joshua R.T.P.

(09229)

3. Romel Lubis

(10407)

4. Simon S.K.

(09453)

5. Wim Permana

(09313)

Ditujukan Kepada:

Bapak Sigit Priyanta, S.Si, M.Kom

selaku Dosen Pengampu Mata Kuliah

Basis Data Lanjutan

Program Studi Ilmu Komputer

Fakultas Matematika dan Ilmu Pengetahuan Alam

Universitas Gadjah Mada

Yogyakarta

2006

(2)

I. Latar Belakang

Sampai tulisan ini dibuat, basis data (database) telah memainkan peranan yang sangat penting dalam kehidupan umat manusia [2]. Mulai dari pengguna rumahan hingga pengguna berskala enterprise. Mulai dari yang dipakai hanya di dalam toko-toko kecil sekelas minimarket hingga ke stasiun ruang angkasa sekaliber NASA. Dalam hal ini, sebuah RDBMS (Relational Database Management

Software) ikut menjadi bagian yang tidak terpisahkan dari keadaan tersebut. Dari

tahun ke tahun, hasrat manusia (baca: pengguna RDBMS) akan peningkatan kinerja dan penambahan fitur sebuah RDBMS tidak pernah surut [2]. Selalu pasang naik! Hal inilah yang menjadi penyebab timbulnya liga (baca: persaingan) diantara berbagai vendor RDBMS terkemuka dunia untuk selalu meningkatkan unjuk kerja dan standar teknis produk-produk mereka.

Salah satu vendor yang populer adalah MySQL AB. Perusahaan pembuat RDBMS MySQL ini telah melengkapi produk mereka dengan fitur cluster. 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 [1]. Pada awalnya, MySQL Cluster dirancang khusus oleh MySQL AB untuk perusahaan-perusahaan berbasis telekomunikasi yang memang sangat membutuhkan keaktualan dan keaktivan dari database mereka. Basis data perusahaan-perusahaan ini, selain berkapasitas besar juga bersifat extremely

high-availability. Ini berarti, dalam satu tahun masa aktif, database tersebut hanya

(3)

II.Rumusan Masalah

Berikut ini adalah beberapa masalah yang telah kami coba bahas dan pecahkan di dalam percobaan;

1. Peng-install-an MySQL 5.0.22_debian_0ubuntu6.06 di Linux Ubuntu versi 6.06

2. Peng-install-an MySQL Administrator di Linux Ubuntu versi 6.06 3. Peng-install-an MySQL Query Browser di Linux Ubuntu versi 6.06 4. Setting LAN (Local Area Network) untuk dua PC.

5. Mengaktifkan dan menggunakan MySQL Cluster.

6. Melakukan beberapa operasi (query) di lingkungan MySQL Cluster dan MySQL non-Cluster (reguler).

Berikut ini adalah spesifikasi dua komputer yang kami pakai untuk melakukan percobaan;

1. Komputer 1

• Laptop NEC VERSA

• Processor Intel® Pentium® M 750 dengan clock speed 1.86 GHz • Modul memori berkapasitas 512 Mbyte

Integrated NIC (Network Interface Card) Ethernet 100 Mbps • Sebagai SQL Node dengan IP Address 192.168.0.3

2. Komputer 2

(4)

• Processor Intel® Pentium® dengan clock speed 2.4 GHz • Modul memori berkapasitas 512 Mbyte

Integrated NIC (Network Interface Card) Ethernet 100 Mbps

• Sebagai Management Node dan Data Node dengan IP Address

192.168.0.1

Data yang menjadi bahan percobaan kami adalah database world yang kami

download dari http://downloads.Mysql.Com/docs/world.Sql.

zip. Database ini terdiri tiga tabel yakni: City, Country, dan Language.

III.Batasan Masalah

Dalam percobaan ini kami menggunakan dua komputer yang telah kami hubungkan melalui kabel cross over. Pada tahap awal percobaan, kami telah menguji coba MySQL Cluster menggunakan Sistem Operasi Microsoft Windows XP dan Microsoft Virtual PC. Namun ketika kami mencoba meng-install Sistem Operasi Linux Ubuntu versi 6.06 di Komputer 2 menggunakan Microsoft Virtual PC, kami justru mendapati pesan error dari Microsoft Virtual PC. Pesan tersebut menyatakan bahwa sistem mengalami "kernel panic".

Keadaaan ini membuat kami mengubah platform utama lingkungan uji coba. Dari yang semula menggunakan Microsoft Windows XP kemudian beralih ke Platform Linux Ubuntu versi 6.06. Alasan lain yang membuat kami mengubah platform uji coba ini adalah karena MySQL Cluster masih belum dapat berjalan di Platform Windows [4]. Keterangan mengenai kompatibilitas MySQL Cluster dapat dilihat

(5)

secara lengkap di Chapter 16 MySQL Reference Manual.

Kendala tidak berhenti sampai di situ. Kondisi perangkat keras yang terbatas juga membuat kami tidak dapat mengembangkan uji coba MySQL Cluster secara lengkap. Untuk menguji coba semua fitur MySQL Cluster, kami membutuhkan sekurang-kurangnya tiga buah komputer dan atau tiga buah host yang saling terhubung melalui jaringan lokal. Namun pada hari-H uji coba, kami tetap belum mampu memenuhi persyaratan teknis ini. Meskipun terjadi banyak kendala, uji coba ini tetap berlangsung.

Berikut ini adalah beberapa uji coba yang telah kami lakukan; 1. Setup Cluster

2. Menjalankan Cluster 3. Shutdown Cluster

4. Melihat dan membandingkan secara umum waktu pemrosesan sebuah query di lingkungan MySQL Cluster (engine: ndb cluster) dengan lingkungan MySQL non-Cluster

Beberapa fitur yang tidak kami uji coba antara lain; 1. Data Replication

2. Partitioning on Cluster 3. Backup Cluster

Dengan demikian, laporan uji coba ini tidak akan membahas mengenai ketiga masalah yang disebutkan di atas. Meskipun fungsi cluster yang utama dalam MySQL adalah justru untuk memanfaatkan fitur-fitur tersebut.

(6)

1. Pengantar

MySQL Cluster merupakan sebuah tipe basis data (database) yang dapat beroperasi dalam ukuran data yang relatif besar (maksimal dalam skala beberapa ratus gigabyte) [1]. Sejak diperkenalkan ke khalayak pengguna pada tahun 2004, MySQL Cluster telah mampu meraih pasar yang signifikan di kalangan para pengguna database yang banyak menggunakan lingkungan komputasi terdistribusi (distributed computing evironment) [3].

Pada awalnya, MySQL Cluster banyak dimanfaatkan oleh perusahaan-perusahaan telekomunikasi untuk menjalankan aplikasi yang berkaitan dengan HLR (Home Locator Registry) dan SLR (Subscriber Locator Registry) [3]. 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, sesion

management, situs-situs e-Commerce, mesin pencari (search engine), bahkan

hingga ke aplikasi umum yang biasa digunakan di perkantoran [3].

2. Arsitektur

MySQL Cluster merupakan sebuah database yang menggunakan arsitektur

shared-nothing dan antarmuka SQL yang telah umum digunakan [4]. 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) [3].

(7)

Ada tiga node yang menyusun MySQL Cluster, yakni:

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

2. Management Server Nodes, digunakan untuk mengendalikan konfigurasi sistem ketika startup. Selain itu, node ini juga dapat digunakan sebagai pengidentifikasi setiap perubahan setting yang terjadi pada cluster.

3. MySQL Server Nodes, berfungsi sebagai pintu akses untuk masuk ke dalam node-node data yang ter-cluster.

3. Kebutuhan Perangkat Keras

MySQL Cluster dapat berjalan tanpa menggunakan perangkat keras khusus yang mahal layaknya sistem cluster populer milik Oracle; ORACLE RAC [1]. Untuk menjalankan dan memanfaatkan teknologi ini, sistem hanya memerlukan jaringan dengan protokol TCP/IP. Selain itu, sistem juga memerlukan modul RAM yang minimal dapat menyamai jumlah ukuran data dalam database. Berikut rumus yang digunakan untuk menentukan jumlah RAM yang dibutuhkan [4]:

Jumlah RAM =

(SizeofDatabase * NumberOfReplicas * 1.1)/NumberOfDataNodes Di lingkungan korporat, agar dapat menikmati MySQL Cluster yang cepat, sistem memerlukan server yang dilengkapi dengan dua buah processor seperti Intel Xeon atau AMD Opteron, 16 GB RAM, 4 x 73 GB RAID, dan Gigabit Ethernet per server [1].

(8)

V.Pembahasan

Berikut ini adalah pembahasan dan uraian dari apa yang telah kami uji coba: 1. Meng-install aplikasi MySQL untuk Ubuntu versi 6.06.

Berikut ini adalah aplikasi-aplikasi dan pustaka-pustaka yang dibutuhkan dalam iji coba ini.

No Nama Paket Versi Keterangan

1. mysql-common mysql database common files 2. libmysqlclient15off

Pustaka client untuk database mysql

3. mysql-client-5.0 5.0 binari client untuk database mysql

4. mysql-server-5.0 5.0

Binari server

untuk database mysql

5. mysql-query-browser-common 5ubuntu31.1.17

Berkas bebas arsitektur untuk MySQL Query Browser 6. mysql-query-browser 5ubuntu31.1.17

Tool query dengan

GUI resmi untuk MySQL database

7. mysql-admin-common 1.1.6-1build1

Berkas bebas arsitektur untuk MySQL Administrator 8. mysql-admin 1.1.6-1build1

Tool berbasis GUI

untuk pengaturan MySQL

(9)

2. Setup MySQL Cluster

➢ edit file my.cnf di management node.

➢ my.cnf yang sudah diedit memiliki tambahan

ndbcluster ndb-connectstring=192.168.0.1 ... ... user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp language = /usr/share/mysql/english skip-external-locking ndbcluster ndb-connectstring=192.168.0.1 #

# For compatibility to other Debian packages that still use # libmysqlclient10 and libmysqlclient12.

old_passwords = 1

... ...

➢ salin ndb_mgmd.cnf ke direktori /var/lib/mysql-cluster/

joshua@romel-desktop:~$ sudo cp /usr/share/doc/mysql-server- 5.0/examples/ndb_mgmd.cnf /var/lib/mysql-cluster/

rename file tersebut menjadi config.ini

joshua@romel-desktop:~$ sudo cp /usr/share/doc/mysql-server- 5.0/examples/ndb_mgmd.cnf /var/lib/mysql-cluster/ <enter>

(10)

password:

joshua@romel-desktop:~$ cd /var/lib/mysql-cluster/

joshua@romel-desktop: /var/lib/mysql-cluster/ $ my ndb_mgmd. cnf config.ini

➢ edit file config.ini

➢ edit file my.cnf di sql node. Dengan konfidurasi yang sama dengan

pengeditan my.cnf di management node. 3. Menjalankan MySQL Cluster

➢ jika daemon mysqld sudah menyala/aktif di komputer yang menjadi sql

(11)

➢ aktifkan management node dengan perintah:

joshua@romel-desktop: /var/lib/mysql-cluster$ sudo ndb_mgmd -f /var/lib/mysql-cluster/config.ini <enter> password:

➢ aktifkan data node dengan perintah

joshua@romel-desktop: /var/lib/mysql-cluster$ sudo ndbd --initial <enter>

joshua@romel-desktop: /var/lib/mysql-cluster$

➢ Aktifkan sql node dengan perintah :

seamonk@seamonk- laptop:~$ sudo mysqld password:

060925 16:42:16 InnoDB: Started; log sequence number 0 43665

060925 16:42:16 [Note] mysqld: ready for connections.

Version: '5.0.22-Debian_0ubuntu6.06-log' socket: '/var/run/mysqld/mysqld.sock' port: 3306 Debian Etch distribution

➢ jalankan console management (ndb_mgm) di management node: di sql

node bisa tapi ngerepotin dengan perintah :

joshua@romel-desktop: /var/lib/mysql-cluster$ ndb_mgm NDB Cluster Management Client

--➢ untuk melihat semua node yang sedang aktif dalam MySQL cluster

gunakan perintah: ndb_mgm> SHOW

ndb_mgm> SHOW <enter>

Connected to Management Server at 192.168.0.1:1186 Cluster Cofiguration

---[ndbd(NDB)] 1 node(s)

id=2 @ 192.168.0.1 (Version: 5.0.22, Nodegroup: 0, Master)

(12)

id=1 @ 192.168.0.1 (Version: 5.0.22) [mysqld(API)] 1 node(s)

id=3 @ 192.168.0.3 (Version: 5.0.22)

5. Melihat dan membandingkan secara umum waktu pemrosesan sebuah query di lingkungan MySQL Cluster (engine: ndb cluster) dengan lingkungan MySQL non-Cluster

➢ Operasi BETWEEN :

SELECT * FROM City where Population between 1000000 and 2000000; dengan MySQL Cluster membutuhkan query time 0:00.1505

tanpa MySQL Cluster membutuhkan query time 0:00.1005

➢ Operasi DISTINCT :

SELECT distinct Name FROM City order by Name;

dengan MySQL Cluster membutuhkan query time 0:00.7659 tanpa MySQL Cluster membutuhkan query time 0:00.6577

➢ Operasi SELECT :

select * from City where Name = "yogyakarta";

dengan MySQL Cluster membutuhkan query time 0:00.1615 tanpa MySQL Cluster membutuhkan query time 0:00.0986

➢ Operasi UNION :

(SELECT Continent FROM Country) UNION (SELECT Name FROM City) order by Continent;

dengan MySQL Cluster membutuhkan query time 0:00.2098 tanpa MySQL Cluster membutuhkan query time 0:00.1988

(13)

➢ Operasi ORDER BY :

SELECT Name FROM City order by Name;

dengan MySQL Cluster membutuhkan query time 0:00.1633 tanpa MySQL Cluster membutuhkan query time 0:00.1002

➢ Operasi JOIN :

SELECT Continent as "Gabungan" FROM Country UNION SELECT Name FROM City order by Gabungan;

dengan MySQL Cluster membutuhkan query time 0:00.1775 tanpa MySQL Cluster membutuhkan query time 0:00.1554 4. Shutdown MySQL Cluster

➢ untuk mematikan MySQL Cluster gunakan perintah :

ndb_mgm> SHUTDOWN

Node 2: cluster shutdown initiated Node 2: Node shutdown completed. 1 NDB Cluster node(s) have shutdown.

Shutdown of NDB Cluster management server failed. * 0: No error

* Executing: ndb_mgm_stop2 <enter> ndb_mgm>

(14)

VI.Kesimpulan

Dalam laporan uji coba ini, kami telah mengeksplorasi beberapa fitur dan kemampuan yang dimiliki oleh MySQL Cluster sekaligus cara untuk

meng-install, menjalankan dan mematikan prosesnya. Berikut beberapa hal yang dapat

kami simpulkan dari uji coba ini:

➢ Semua fitur MySQL Cluster dapat berjalan dengan baik dan komprehensif

dengan dukungan 4 komputer yang saling terhubung dengan protokol TCP/IP.

➢ Kecepatan minimal transfer data dalam jaringan untuk MySQL Cluster

adalah sebesar 100 Mbps.

➢ MySQL Cluster membutuhkan modul memori yang berkapasitas besar dan

cenderung banyak karena data node disimpan dan diproses di dalam memori bukan harddisk.

➢ Untuk menjalankan dan menggunakan MySQL Cluster, user tidak harus

(15)

VII.Daftar Pustaka

[1] Alex, Aulbach. 2005. MySQL Cluster very big and fast databases on

commodity hardware. PHP Conference. < http://blog.Thinkphp.De/uploads /MySQL-Cluster.Pdf#search =%22alex%20aulbach%20%2B% 20MySQL% 20cluster%22> (diakses tanggal 23 Agustus 2006)

[2] Manovich, Lev. --- . Database As A Symbolic Form.

<http://www2.sims.berkeley.edu/courses/is290-1/s0 4/readings/manovich _da tabase.pdf#search=%22database%20as%20a%20symbolic%20form%20%2B2 0.pdf%22> (diakses tanggal 23 Agustus 2006)

[3] MySQL AB. 2006. A MySQL Technical White Paper. <http://www.Mysql. com/why-mysql/white-papers/ > (diakses tanggal 23 Agustus 2006)

[4] MySQL Reference Manual. <http://downloads.mysql.com/docs/refman-4.1-en.pdf.> (diakses tanggal 23 Agustus 2006)

Referensi

Dokumen terkait

[r]

2. Membuat sebuah boot event kampanye sosial bertema “Save trees, save our life” yang akan didirikan di 5 kantor partai besar yan memenangkan polling terbanyak

[r]

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

baik, tetapi tidak berpengaruh terhadap prestasi belajar siswa melalui motivasi..

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

Berdasarkan latar belakang yang telah diuraikan diatas, peneliti dapat merumuskan masalah sebagai berikut : “Apakah Pendekatan Saintifik Dengan Penggunaan Media

Ya Tuhan, Penuhilah kami semua yang beribadah dengan hikmat dan kuasa Roh Kudus, agar dimampukan untuk tetap menunjukkan citra diri sebagai orang-orang pilihan, yang dikuduskan