Apa itu Replikasi Multi-Master?

Replikasi multi-master adalah teknik yang digunakan oleh perangkat lunak manajemen basis data sehingga banyak salinan dari satu basis data yang disimpan di komputer yang berbeda dapat digunakan dan diperbarui oleh banyak pengguna dengan cara yang tidak terpusat. Ketika perubahan dibuat ke database yang menggunakan replikasi multi-master, perubahan yang dibuat ditransmisikan ke semua komputer lain di jaringan sehingga semua salinan database yang digunakan diperbarui. Beberapa keuntungan dari pengaturan replikasi multi-master termasuk cadangan data yang berlebihan dan arsitektur desentralisasi di mana pembaruan salinan database dapat dipertahankan bahkan jika salah satu komputer di jaringan berhenti berfungsi. Tanpa sistem master tunggal yang ditetapkan, seperti halnya dalam arsitektur master-slave, perubahan dan perintah administratif untuk mengontrol database dapat dikeluarkan dari terminal multi-master mana pun dalam jaringan alih-alih hanya mengandalkan satu terminal fisik. Komplikasi terbesar yang dapat terjadi dengan penggunaan sistem replikasi multi-master melibatkan pembaruan semua sistem dengan cukup cepat sehingga data tetap disinkronkan setiap saat di seluruh jaringan.

Istilah “multi-master” berasal dari metode replikasi master-slave yang lebih mendasar, di mana satu terminal ditetapkan sebagai master. Dalam situasi master-slave, hanya satu master yang mampu memperbarui informasi pada drive slave. Sebuah sistem replikasi multi-master memiliki beberapa sistem yang ditunjuk sebagai master dan masing-masing master mungkin hanya bertanggung jawab untuk dirinya sendiri atau dapat bertanggung jawab atas sejumlah komputer yang dikenal sebagai kelompok replikasi. Dengan beberapa master, sistem master mana pun dapat memulai perubahan ke semua sistem master lainnya, yang berpotensi mengarah pada interaksi jaringan yang sangat kompleks dalam sistem yang sangat besar.

Ada dua bentuk replikasi multi-master, yang pertama adalah replikasi sinkron. Fungsi replikasi sinkron dengan memperbarui secara real time semua salinan database setiap kali perubahan dibuat. Ini menghilangkan sebagian besar situasi yang dapat terjadi ketika data tidak disinkronkan di seluruh jaringan, tetapi ini menciptakan sejumlah besar lalu lintas jaringan dan mungkin memerlukan sejumlah besar daya pemrosesan untuk diterapkan dalam sistem yang lebih besar. Untuk alasan ini, replikasi sinkron terutama digunakan dalam jaringan di mana hanya ada beberapa komputer master.

Jenis kedua dari replikasi multi-master adalah replikasi asinkron. Alih-alih memperbarui sistem setiap kali perubahan dibuat, perubahan ke database disimpan sebagai peristiwa di setiap sistem, dan perubahan tersebut diterapkan baik saat peristiwa dipicu atau selama periode pembaruan terjadwal. Ini berarti lebih sedikit bandwidth jaringan dan daya pemrosesan yang digunakan, tetapi meningkatkan kemungkinan bahwa dua pengguna di beberapa titik mencoba mengubah informasi yang sama dengan cara yang bertentangan karena keterlambatan pembaruan, atau latensi. Sebagian besar sistem manajemen basis data terdistribusi menggunakan replikasi asinkron karena jumlah sumber daya yang dikonsumsi rendah dibandingkan dengan replikasi multi-master sinkron.