Replikasi di MySQL


Replikasi di MySQL merupakan proses dinamis dari sinkronisasi data antara server (master) basis data utama dengan satu atau lebih sekunder (slave) server basis data secara real-time. Dengan replikasi, data masih dapat dipulihkan dari salah satu server sekunder jika server utama gagal, karena adanya salinan dari satu atau lebih basis data tadi. (Vaswani, 2010)

Tujuan dasar dari replikasi adalah menjaga data suatu server yang disinkronkan dengan server yang lain. Banyak slave yang dapat dihubungkan ke master tunggal, dan pada suatu waktu slave bisa dipromosikan sebagai master. Replikasi dapat mengatur master dan slave dengan banyak topologi yang berbeda. Replikasi dapat meniru basis data seluruh server, mereplika basis data tertentu, atau bahkan hanya memilih tabel yang ingin replikasi.

Replikasi MySQL sebagian besar kompatibel. Artinya, server baru biasanya bisa menjadi slave dari sebuah server yang lebih tua dengan mudah. Namun, versi lama dari server sering tidak mampu untuk melayani sebagai slave dari versi yang lebih baru: mereka mungkin tidak mengerti fitur baru atau kalimat SQL yang digunakan server baru, dan mungkin ada perbedaan dalam format file replikasi yang digunakan. Misalnya, Anda tidak dapat mereplikasi dari master MySQL 5.0 ke slave MySQL 4.0. (Baron Schwartz, 2008)

Ada empat alasan umum yang mendasari kenapa harus menggunakan replikasi, yaitu:

  1. Untuk membuat sebuah server basis data  siaga. Jika server utama gagal, maka server siaga dapat mengambil alih tugas server utama.
  2. Untuk mengaktifkan backup tanpa harus mematikan server utama.  Setelah terjadi replikasi, backup dilakukan pada slave, bukan pada master. Dengan cara ini, master dapat dibiarkan untuk melakukan tugasnya tanpa gangguan.
  3. Untuk menyimpan data saat ini di beberapa lokasi. Replikasi diperlukan jika beberapa cabang dari suatu organisasi harus bekerja dari salinan terbaru dari basis data yang sama.
  4. Untuk menyeimbangkan beban kerja beberapa server. Sehingga memungkinkan untuk membuat replika dari satu basis data pada beberapa server, replikasi dapat membantu meringankan beban kerja dari server basis data tunggal yang kelebihan beban dengan memecah query antara beberapa server, masing-masing berjalan pada perangkat keras terpisah. (Vaswani, 2010).

Berikut adalah beberapa penggunaan umum dari replikasi :

a. Data Distribution

Replikasi MySQL biasanya tidak terlalu bandwidth-intensive,  Anda dapat menghentikan dan memulainya kapan pun anda mau. Ini berguna untuk menjaga salinan data untuk lokasi yang secara geografis jauh, seperti pusat data yang berbeda. Bahkan, slave yang jauh dapat bekerja dengan koneksi yang terputus-putus.

b. Load balancing

Replikasi MySQL dapat membantu mendistribusikan query di beberapa server, yang bekerja sangat baik untuk aplikasi read-intensive. Kita dapat melakukan load balancing dengan beberapa perubahan kode yang sederhana.

c. Backups

Replikasi merupakan suatu teknik yang amat penting untuk membantu untuk proses back-up.

d. High availabilty and failover

Replikasi dapat membantu menghindarkan MySQL membuat satu titik kegagalan dalam sebuah aplikasi. Sebuah sistem failover yang baik melibatkan slave yang direplikasi yang juga dapat membantu mengurangi downtime secara signifikan.

e. Testing MySQL upgrades

Praktek umum yang sering di gunakan yaitu mengatur slave untuk melakukan uji coba teradap perangkat lunak MySQL terbaru sebelum benar-benar meng-upgrade nya pada basis data utama (master). Kugunaannya yaitu untuk memastikan bahwa query bekerja seperti yang diharapkan, sebelum meng-upgrade setiap tahapan. (Baron Schwartz, 2008)

Perihal ridhanu
I'm Network Engineer, Bankir, Born May 12, 1988 on Barabai. My twitter: @ridhanu, facebook: ridhanu@yahoo.co.id, mobile phone: 0852 4936 4064, email: ridhanu@gmail.com

One Response to Replikasi di MySQL

  1. Dahlan Pekojan mengatakan:

    lumayan untuk pembelajaran….. :-))

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: