Replikasi Basis Data
Salhazan Nasution, S.Kom
,
Replikasi Basis Data
Replikasi Basis Data
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 2
Replikasi Basis Data
• Replikasi adalah suatu teknik untuk melakukan
py dan pendistribusian data dan objek‐
copy p j
objek database dari satu database ke database
lain yang lokasinya terpisah secara fisik
lain yang lokasinya terpisah secara fisik.
• Dengan menggunakan teknik replikasi ini, data
dapat didistribusikan ke lokasi yang berbeda
melalui koneksi jaringan lokal maupun
j g p
internet.
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 3
Model Replikasi
• One master, one slave.
• One master many slave
One master, many slave.
• Master/slave circular relationship.
• Master/slave “daisy chain”
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 4
Model Replikasi
One master, one slave.
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 5
Model Replikasi
One master, many slave.
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 6
Model Replikasi
Master/slave circular relationship
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 7
Model Replikasi
Master/slave “daisy chain”
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 8
Jenis Replikasi
• Replikasi Synchronous
• Replikasi Asynchronous
Replikasi Asynchronous
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 9
Replikasi Synchronous
• Proses dilakukan secara real‐time antara master
dengan slave.
• Keseluruhan proses penulisan pada disk master
dan slave harus selesai terlebih dahulu sebelum
beranjak ke transaksi selanjutnya.
• Kebutuhan akan performansi sistem yang tinggi
p y g gg
harus dipertimbangkan (kecepatan & jarak antar
site/node)
• Keuntungannya : menyediakan recovery yang
j g
konsisten karena sinkronisasi data terjaga.
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 10
Replikasi Synchronous
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 11
Replikasi Asynchronous
• Proses replikasi terjadi setelah transaksi di master
selesai.
• Pertukaran data secara buffering, data akan
diletakkan dalam sebuah buffer terlebih dahulu,
kemudian pada jangka waktu tertentu akan
direplikasi ke disk slave.
• Tidak menjamin kesinkronan data apabila salah
satu site/node mengalami crash saat replikasi
belum selesai dilaksanakan.
g y p
• Keuntungan : efektifitas biaya proses transaksi
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 12
Replikasi Asynchronous
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 13
Any Question?
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 14
Replikasi Basis Data
MySQL
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 15
Replikasi pada MySQL
• Mulai versi 5.0 MySQL sudah mendukung sistem
replikasi yang mana sebuah database server yang
b f
berfungsi sebagai master dapat tereplikasi
b d lk
datanya ke dalam satu atau lebih database server
yang difungsikan sebagai slave.
dif ik b i l
• Model replikasi pada MySQL adalah
Asynchronous.
• Replikasi dapat diberlakukan pada sebagian tabel
atau pada keseluruhan database, tergantung
pada kebutuhan.
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 16
Studi Kasus
Database Toserba
Jakarta (master)
( ) Jogjakarta (slave)
gj ( )
IP address : 192.168.10.1 IP address : 192.168.10.2
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 17
Step by Step
1. Koneksi jaringan (master & slave)
2
2. Instalasi MySQL versi 5 2 (master & slave)
Instalasi MySQL versi 5.2 (master & slave)
3. Create database (master & slave)
4. Konfigurasi master server.
5
5. Konfigurasi slave
Konfigurasi slave.
6. Testing.
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 18
Koneksi Jaringan
1. Lakukan konfigurasi jaringan komputer server
p
pada master & slave.
Master : 192.168.10.1
Slave : 192.168.10.2
2. Test koneksi (ping)
Test koneksi (ping)
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 19
Instalasi MySQL 5.2
1. Lakukan instalasi MySQL komputer server &
slave.
2. Pada halaman Setup Type, pilih “Typical”.
3 Pada halaman MySQL.com Sign‐Up, pilih
3. Pada halaman MySQL com Sign‐Up pilih
“Skip Sign‐Up”
4 Setelah proses instalasi selesai, lakukan
4. S t l h i t l i l i l k k
proses konfigurasi MySQL server dengan
memberi tanda “9”
b i d “9” pada “Configure the
d “C fi h
MySQL Server Now” di tahap akhir instalasi.
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 20
Instalasi MySQL 5.2
5. Pada halaman MySQL Server Instance
Configuration, pilih “Standard Configuration”.
6. Di halaman selanjutnya, beri tanda “9” pada
Install As Windows Service, Launch the MySQL
Server Automaticaly dan Include Bin Directory in
Windows PATH.
7. Pada halaman selanjutnya, masukkan password
untuk MySQL. Misal : “1234”.
8. Pada halaman terakhir, klik tombol “Execute”
g p g
untuk mengakhiri proses konfigurasi.
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 21
Create Database
1. Masuk ke command prompt, login ke MySQL
dengan mengetik perintah :
mysql –u root –p{password user}
2. Buat database dengan nama “toserba”, ketik
perintah:
create database toserba;
3. Lakukan hal yang sama pada komputer slave.
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 22
Konfigurasi Master
1. Buka file my.ini, yang terdapat pada C:\Program
Files\MySQL\MySQL Server 5.2
2. Ketikkan perintah berikut di bawah tanda [mysqld]
server-id=1
log-bin=mysql-bin
3. Restart
Restart MySQL.
MySQL.
4. Masuk ke command prompt dan login ke MySQL
dengan mengetikkan perintah :
dengan mengetikkan perintah :
mysql –u root –p{password user}
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 23
Konfigurasi Master
5. Berikan hak akses pada slave untuk dapat
melakukan replikasi. Jalankan perintah :
grant replication slave on *.* to
jogja@192.168.10.2 identified by 'jogja';
jogja p username
192.168.10.2 p alamat slave
jogja p password
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 24
Konfigurasi Master
6. Jalankan perintah :
flush privileges;
p g
use toserba;
flush tables with read lock;
toserba p nama database yang akan direplikasi
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 25
Konfigurasi Master
7. Jalankan perintah :
show master status;
setelah melakukan perintah diatas, akan muncul keluaran seperti
( p p )
ini (bisa berbeda tiap komputer) :
catat nama File (mysql-bin.000001) dan Posisiton (2910), akan
digunakan untuk konfigurasi selanjutnya
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 26
Konfigurasi Master
8. Langkah terakhir, jalankan perintah berikut :
unlock tables;
9 Kemudian keluar dari MySQL :
9. Kemudian keluar dari MySQL :
quit;
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 27
Konfigurasi Slave
1. Buka file my.ini, yang terdapat pada C:\Program
Files\MySQL\MySQL Server 5.2
2 Ketikkan perintah berikut di bawah tanda
2. Ketikkan perintah berikut di bawah tanda [mysqld]
[ ld]
server-id=2
master-host=192.168.10.1
master-user=jogja
master-password=jogja
master connect retry 60
master-connect-retry=60
replicate-do-db=toserba
192.168.10.1 p alamat host
l th t
jogja p username & password
d t b
database p database yang direplikasi
database yang direplikasi
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 28
Konfigurasi Slave
3. Restart MySQL.
p p g y
4. Masuk ke command prompt dan login ke MySQL
dengan mengetikkan perintah :
mysql –u root –p{password user}
5. Jalankan perintah :
stop slave;
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 29
Konfigurasi Slave
6. Selanjutnya jalankan perintah :
CHANGE MASTER TO MASTER_HOST='192.168.10.1',
MASTER USER='jogja'
MASTER_USER= jogja ,
MASTER_PASSWORD='jogja',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER LOG POS 2910
MASTER_LOG_POS=2910;
192 168 10 1
192.168.10.1 p alamat host
alamat host
jogja p username & password
bin 000001 p nama log file
mysql-bin.000001
mysql nama log file
2910 p log position
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 30
Konfigurasi Slave
7. Langkah terakhir, jalankan perintah :
start slave;
8. Keluar dari MySQL :
quit;
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 31
Testing
• Setelah langkah‐langkah di atas selesai dilakukan dan
l h l k h l k h di l i dil k k d
konfigurasi sudah dilakukan dengan benar, maka lakukan
uji coba dengan membuat tabel dan mengisi tabel
uji coba dengan membuat tabel dan mengisi tabel
tersebut pada komputer server.
• Jika proses replikasi berhasil dilakukan, maka segala
Jik lik i b h il dil k k k l
perubahan yang terjadi di komputer server akan terjadi
pula pada komputer slave
pula pada komputer slave.
• Tapi perubahan pada komputer slave tidak berpengaruh
pada komputer master karena replikasi ini bersifat one
pada komputer master, karena replikasi ini bersifat one‐
way. Artinya replikasi hanya terjadi pada komputer
server kepada komputer slave namun tidak sebaliknya
server kepada komputer slave, namun tidak sebaliknya.
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 32
Any Question?
See you next time..
time
Sistem Manajemen Basis Data (Genap 08/09) ‐ Salhazan Nasution, S.Kom 33