Master Slave Replication digunakan untuk memecahkan problem seperti performance, mendukung cadangan database yang berbeda dan solusi untuk mengurangi kegagalan dari sebuah sistem. Hal ini memungkinkan data dari satu database server (master) untuk direplikasi ke satu atau lebih database server lain (slave). Show
Bagian master akan mencatat updates yang nantinya diteruskan ke bagian slave. Lalu nanti slave akan memberikan output berupa pesan yang berisikan bahwa ia sudah berhasil menerima update. Dan biasanya akan dikirim pembaruan berikutnya. Replikasi master-slave dapat berupa sinkron atau asinkron. Yang membedakan hanyalah pada waktu penyebaran perubahannya. Apabila perubahan dilakukan pada master dan slave di waktu yang sama, maka itu sinkron. Sedangkan jika perubahan dilakukan melalui proses antri (queue) maka itu asinkron. Penggunaan target untuk replikasi pada database MySQL dan MariaDB diantaranya sebagai berikut :
Memanfaatkan Konfigurasi Master-Slave untuk MariaDB/MySQLLalu bagaimana cara menggunakan replikasi tersebut dan memanfaatkannya? Berikut penjelasannya. 1. BackupUntuk membuat replication sebagai solusi backup. Salin data dari master ke slave, kemudian buat cadangan data di slave. Kamu dapat menghentikan atau shutdown slave tanpa mempengaruhi operasi master yang sedang berjalan. Dengan begitu, kamu dapat mendapatkan snapshot data secara live yang biasanya master harus dimatikan terlebih dulu. 2. Scale-outKamu dapat menggunakan replication sebagai solusi untuk scale-out. Yang mana kamu ingin membagi load query database ke beberapa database servers asalkan masih dalam batas wajar. Karena replication bekerja mendistribusikan dari satu master ke satu atau beberapa slave. Menggunakan replication untuk scale-out lebih baik dilakukan pada environment yang memiliki jumlah pembaca tinggi dan update yang rendah. 3. Menyebarkan bebanMungkin kamu pernah mengalami situasi di mana memiliki satu master namun ingin mereplikasi database yang berbeda ke slave berbeda. Misalnya, kamu ingin mendistribusikan data penjualan hanya ke departemen yang dapat membantu menyebarkan load selama analisis data. 4. Meningkatkan performaApabila jumlah slave meningkat, maka load juga akan meningkat, karena setiap slave menggunakan koneksi klien ke master. Selain itu setiap slave juga menerima setiap salinan master binary log, oleh karena itu beban jaringan pada master tentu meningkat dan dapat menimbulkan kemacetan. Apabila kamu menggunakan sebagian besar slave yang terhubung ke satu master dan master tersebut juga sedang memproses permintaan lain, maka kamu perlu meningkatkan kinerja proses replication. Salah satu caranya yaitu membuat struktur replication yang lebih dalam. Sehingga master hanya bisa mereplikasi hanya ke satu slave saja. Untuk sisa slave yang lain terhubung ke primary slave. 5. Mengurangi failoverKamu dapat mengatur master dan slave, atau beberapa slave dan menuliskan script untuk memantau master sudah aktif atau belum. Lalu berikan instruksi ke aplikasi dan slave kamu apabila terjadi kegagalan pada master. 6. Meningkatkan keamananKamu dapat menggunakan SSL untuk mengenkripsi transfer binary log selama replication. Hanya saja master dan slave harus mendukung koneksi jaringan SSL. Apabila salah satunya tidak mendukung koneksi SSL, maka replication via koneksi SSL tidak bisa dilakukan. Melakukan setting replication menggunakan SSL sama saja dengan menyiapkan server dan klien menggunakan SSL. Kamu harus mendapatkan sertifikat keamanan yang sesuai agar bisa digunakan pada master dan setiap slave. Nah, sekarang mari kita coba mengkonfigurasi replikasi master-slave pada Dewacloud PaaS. Kamu bisa mengatur cluster DB nya secara manual dan otomatis seperti yang akan kita jelaskan di bawah nanti. Instalasi MariaDB/MySQL secara ManualApabila kamu ingin mendapatkan lebih banyak slave replicator atau menentukan konfigurasi khusus, maka ikuti langkah instalasi manualnya berikut ini. Buat EnvironmentTips: langkah-langkah di bawah ini sepenuhnya cocok untuk database server MySQL dan MariaDB. Pertama, kamu perlu membuat dua environment yaitu untuk master dan slave.
Konfigurasi Master DatabaseSekarang kita mulai konfigurasi untuk yang master.
Konfigurasi Slave DatabaseSekarang, kembali lagi pada dashboard Dewacloud dan mulai konfigurasikan slave database milik kamu.
Tips: untuk memastikan bahwa konfigurasi sudah dilakukan dengan benar, masuk ke database admin slave dan pilih tab Status. Cek Hasil ReplikasiApabila sudah berhasil dikonfigurasi, sekarang saatnya mengecek apakah replication master-slave tersebut dapat bekerja dengan baik untuk database kamu.
Koneksi ke Master-SlaveBerikut terdapat 2 contoh koneksi ke master database dan slave database dari aplikasi Java atau PHP kamu.
KesimpulanSampai sini, kamu sudah berhasil memiliki database replication kamu sendiri di cloud. Apabila kamu ingin melakukan hal yang sama seperti di atas, maka segera gunakan Dewacloud PaaS dan buat replication database-mu. |