Minggu, 17 Januari 2010 - 21:48:22 WIB
REPLIKLASI DATABASE MENGGUNAKAN JAVA DAN MYSQL
Diposting oleh : Administrator
Kategori: MYSQL
- Dibaca: 199 kali
A.Latar Belakang
Perkembangan teknologi yang terus meningkat dengan cepat, mempengaruhi laju kebutuhan manusia atas informasi, terlebih disuatu organisasi atau perusahaan. Informasi terus mengalir dan jumlahnya semakin lama semakin meningkat seiring dengan jumlah permintaan, serta jumlah data yang semakin banyak. Selain itu penggunaan database dalam suatu perusahaan dan organisasipun semakin banyak terlebih dengan adanya sistem jaringan. Database dapat didistribusikan dari satu komputer ke komputer lain. Jumlah arus pemakaipun meningkat seiring besarnya organisasi atau perusahaan.
Organisasi maupun perusahaan membutuhkan sistem informasi untuk mengumpulkan, mengolah dan menyimpan data serta menyalurkan suatu informasi. Berkembangnya sistem informasi dari waktu ke waktu telah menghasilkan banyak informasi yang semakin kompleks. Kompleksnya informasi tersebut disebabkan oleh banyaknya permintaan, jumlah data serta tingkat iterasi perintah SQL dalam suatu program.
Sistem diharapkan membuat suatu distribusi yang transparan. Basis data terdistribusi terbagi menjadi beberapa fragment yang disimpan di beberapa komputer dan mungkin di replikasi, dan alokasi penyimpanan tidak diketahui pengguna . Adanya Transparansi di dalam basis data terdistribusi agar terlihat sistem ini seperti basis data tersentralisasi. Hal Ini mengacu pada prinsip dasar dari DBMS (Date,1987b). Transparansi memberikan fungsional yang baik untuk pengguna tetapi sayangnya mengakibatkan banyak permasalahan yang timbul dan harus diatasi oleh DDBMS.
Replikasi Database
Secara definisi replikasi memiliki pengertian sebagai suatu proses mencopy atau mentransfer data dari suatu database ke database lain yang tersimpan pada komputer berbeda. Replikasi dapat difahami sebagai proses pengkopian dan pengelolaan objek-objek dari database yang membentuk suatu sistem database terdistribusi (Distributed Database).
Pada umumnya MySQL dipergunakan secara massal sebagai Database yang cukup handal dalam menangani sistem database terpusat, seperti kebanyakan sistem database yang digunakan untuk web site, content management system, dan lain-lain. Bahkan hampir seluruh penyedia layanan hosting menyertakan dukungan produk MySQL untuk kelengkapan service-nya.
Implementasi sistem database terdistribusi kebanyakan masih berkiblat pada software-software dengan bandrol yang tinggi seperti Oracle, SQL Server, IBM DB2 dan lain sebagainya. MySQL dalam hal ini tentunya tidak mau ketinggalan. Mulai versi 5.0 MySQL sudah mendukung sistem replikasi yang mana sebuah database server yang berfungsi sebagai master dapat tereplikasi datanya ke dalam satu atau lebih database server yang difungsikan sebagai slave.
Model replikasi pada MySQL adalah Asynchronous, sehingga server dengan type slave tidak selalu harus terkoneksi secara permanen untuk menerima berbagai update pada database server master. Replikasi dapat diberlakukan pada sebagian table atau pada keseluruhan database, tergantung pada kebutuhan kita.
B.Pembahasan
Komputer 1, Komputer Client
1.Netbeans bundling java
2.JDBC konektor
3.Kode program java untuk view, instert, update, delete (mengakses) database sever.
Arahkan kode url database ke IP Address server yaitu 192.168.1.3. Contohnya pada koneksi database:
String url = "jdbc:mysql://192.168.1.3/mydata"; //Ip Address dan nama database server
String username = "root"; //username database server
String password = ""; //password database pada server
con = DriverManager.getConnection(url, username, password) //lakukan koneksi
lakukan setting url yang sama “ jdbc:mysql://192.168.1.3/mydata” ketika ingin melakukan insert, delete, update, view.
4.Kabel Rj 45 type straight yang terhubung ke switch
5.Setting IP Address 192.168.1.5
Screen shoot aplikasi
Komputer 2, Setting Pada Master Database (server)
1.Buka file “my” (kami menggunakan XAMPP) menggunakan text editor (ex: notepad) yang berada pada directory “C:xamppmysqlin”.
2.Tambahkan opsi berikut pada file “my” pada bagian tag “[mysqld]”.
log-bin=mysql-bin
server-id = 1
Binlog-do-db = mydata
3.Kemudian jalankan MYSQL dengan perintah
mysql -u root -p{ password yang sesuai dengan user };
4.Berikan akses ke database slave (pada computer 3) dengan username : slave user dan password : null
GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'%' IDENTIFIED BY ‘’;
5.Jalankan perintah di bawah ini untuk memberikan hak akses terhadap database yang di buat (mydata)
CREATE DATABASE mydata;
FLUSH PRIVILEGES; //Memerintahkan kepada sistem untuk membaca ulang grant table tanpa harus merestart server mysql
USE mydata;
FLUSH TABLES WITH READ LOCK; //Penguncian tabel pada database secara permanen sehingga hanya dapat di veiw tanpa dapat di edit sampai root membuka kmbali tabel tersebut
SHOW MASTER STATUS;
6.Jika berhasil maka tampilan akan seperti di bawah ini
7.Jalankan Perintah unlock table
UNLOCK TABLES;
8.Keluar dari database
Quit;
Komputer 3, Setting Pada Komputer Slave (bisa lebih dari 1 server)
1.Buat database yang sama dengan milik master, misal : mydata
2.Jalankan MYSQL melalui command prompt kemudian buat database dengan nama “mydata” dengan perintah:
mysql -u root -p{ password yang sesuai dengan user };
Create database mydata;
quit;
3.Buka file “my” (kami menggunakan XAMPP) menggunakan text editor (ex: notepad) yang berada pada directory “C:xamppmysqlin”.
4.Tambahkan opsi berikut pada file “my” pada bagian tag “[mysqld]”.
server-id = 2
master-host=192.168.1.3
master-user=slave_user
master-password=
master-port=3306
replicate-do-db=mydata
5. Kemudian restart MYSQL
6.Jalankan kembali MYSQL dan matikan proses slave
mysql -u root -p{password yang sesuai dengan user};
STOP SLAVE;
7.Kemudian jalankan perintah
CHANGE MASTER TO MASTER_HOST='192.168.1.1',
-> MASTER_USER='slave_user',
-> MASTER_PASSWORD='',
-> MASTER_PORT=3306,
-> MASTER_LOG_FILE='mysql-bin.000001';
START SLAVE;
8.Kemudian cek kembali apakah status pada slave sudah siap menerima data dari master, dengan menjalankan perintah:
SHOW SLAVE STATUSG;
9.Jika berhasil maka tampilan akan seperti di bawah ini.
C.Kesimpulan
Kelebihan dari replikasi data :
1)Reliabilitas : Jika satu dari simpul yang relasi atau database gagal, maka duplikat dari file dapat ditemukan pada simpul lain.
2)Respons yang cepat : Setiap simpul mempunyai data yang lengkap, jadi pemrosesan dapat berjalan cepat, tanpa waktu penundaan.
Kelemahan dari Replikasi Data :
1)Memerlukan tempat penyimpanan yang besar: Karena setiap simpul mempunyai duplikat database jadi memerlukan kapasitas penyimpanan yang memungkinkan.
2)Kompleksitas dan Biaya yang besar untuk updating : Pada saat data di- update setiap simpul harus di-update juga. Tentunya memerlukan biaya besar dan koordinasi yang rutin.
Karena alasan ini, replikasi data lebih tepat untuk data yang digunakan hanya untuk pembacaan saja dan sangat jarang peng-update-an seperti katalog, direktori telephone, jadwal kereta api, dsb.
Daftar Pustaka
http://fisikaunud.wordpress.com/.../jaringan-komputer-dan-manfaatnya/
http://ketutmardika.blogspot.com/2009/10/java-gui.html
www.ziddu.com/download/2167168/dickyrahardi-replikasimysql.zip.html
http://irmarr.staff.gunadarma.ac.id/.../BAB+1+DDBMS+Konsep+dan+Design.doc
http://ictcenter-purwodadi.net/pustakamaya/download.php?id=1592
Bookmark & Share






