Solusi Replikasi Multi-Master Untuk PostgreSQL – Karena generasi data yang sangat besar, skalabilitas telah menjadi salah satu topik terpanas di bidang basis data. Skalabilitas dapat dicapai secara horizontal atau vertikal. Skalabilitas vertikal berarti menambahkan lebih banyak sumber daya/perangkat keras ke node yang ada untuk meningkatkan kemampuan database untuk menyimpan dan memproses lebih banyak data, misalnya, menambahkan proses, memori, atau disk baru ke node yang ada.
Solusi Replikasi Multi-Master Untuk PostgreSQL

pgsql – Setiap mesin DBMS meningkatkan kemampuan skalabilitas vertikal dengan meningkatkan mekanisme penguncian/mutex dan konkurensi yang dapat menggunakan sumber daya yang baru ditambahkan secara lebih efektif. Mesin basis data menyediakan parameter konfigurasi, yang membantu memanfaatkan sumber daya perangkat keras yang tersedia secara lebih efektif.
Karena biaya perangkat keras dan batas penambahan perangkat keras baru di node yang sudah ada, penambahan perangkat keras baru tidak selalu memungkinkan. Oleh karena itu, diperlukan skalabilitas horizontal, yang berarti menambahkan lebih banyak node ke node jaringan yang ada daripada meningkatkan kemampuan node yang ada.
Berlawanan dengan skalabilitas vertikal, skalabilitas horizontal menantang untuk diterapkan. Ini membutuhkan lebih banyak upaya pengembangan dan membutuhkan lebih banyak pekerjaan untuk disiapkan. PostgreSQL menyediakan set fitur yang cukup kaya untuk skalabilitas vertikal dan skalabilitas horizontal.
Ini mendukung mesin dengan banyak prosesor dan banyak memori dan menyediakan parameter konfigurasi untuk mengelola penggunaan sumber daya ini. Fitur baru paralelisme di PostgreSQL membuat skalabilitas vertikal lebih menonjol, tetapi juga tidak kekurangan skalabilitas horizontal. Replikasi adalah pilar penting dari skalabilitas horizontal, dan PostgreSQL mendukung replikasi master-slave searah, yang cukup untuk banyak kasus penggunaan.
Baca Juga : Percona Pada PostgreSQL Versi 15: Apa Yang Harus Anda Perhatikan?
Konsep Kunci
Replikasi Basis Data
Replikasi basis data mereplikasi data di server lain dan menyimpannya di lebih dari satu node. Dalam proses itu, instance basis data ditransfer dari satu node ke node lain dan salinan persisnya dibuat. Replikasi data digunakan untuk meningkatkan ketersediaan data, fitur utama HA. Mungkin ada contoh database lengkap, atau beberapa objek yang sering digunakan atau diinginkan direplikasi ke server lain. Karena replikasi menyediakan banyak salinan database yang konsisten, replikasi tidak hanya menyediakan ketersediaan yang tinggi tetapi juga meningkatkan kinerja.
Replikasi sinkron
Ada dua strategi saat menulis data pada disk, Sinkron, dan Asinkron. Replikasi sinkron berarti data ditulis ke master dan slave secara bersamaan, dengan kata lain, ” Replikasi sinkron” berarti komit menunggu penulisan/pembilasan di sisi jarak jauh. Replikasi sinkron digunakan di lingkungan transaksional kelas atas dengan persyaratan failover instan.
Replikasi asinkron
Asynchronous berarti data ditulis ke master terlebih dahulu dan kemudian direplikasi ke slave. Dalam kasus crash, kehilangan data dapat terjadi, tetapi replikasi Asinkron memberikan overhead yang sangat sedikit dan oleh karena itu dapat diterima dalam banyak kasus. Itu tidak membebani master. Kegagalan dari primer ke sekunder membutuhkan waktu lebih lama dibandingkan dengan replikasi sinkron.
Singkatnya, perbedaan utama antara Synchronous dan Asynchronous adalah ketika data ditulis ke master dan slave.
Replikasi Master Tunggal
Replikasi master tunggal berarti data diizinkan untuk dimodifikasi hanya pada satu node, dan modifikasi ini direplikasi ke satu atau lebih node. Pembaruan dan penyisipan data hanya dimungkinkan pada node master. Dalam hal ini, aplikasi memerlukan perutean lalu lintas untuk dikuasai, yang menambahkan beberapa kerumitan pada aplikasi. Karena tuan tunggal, tidak ada kemungkinan konflik. Sebagian besar replikasi master tunggal sudah cukup untuk aplikasi karena lebih mudah untuk dikonfigurasi dan dikelola. Tetapi dalam beberapa kasus, replikasi master tunggal tidak cukup dan Anda memerlukan replikasi multi-master.
Replikasi Multi-Master
Replikasi multi-master berarti ada lebih dari satu node yang bertindak sebagai node master. Data direplikasi antara node dan pembaruan dan penyisipan dapat dilakukan pada sekelompok node master. Dalam hal ini, ada banyak salinan data. Sistem ini juga bertanggung jawab untuk menyelesaikan setiap konflik yang terjadi antara perubahan bersamaan.
Ada dua alasan utama untuk memiliki beberapa replikasi master; satu adalah HA, dan yang kedua adalah kinerja. Dalam kebanyakan kasus, beberapa node didedikasikan untuk operasi tulis intensif, dan beberapa node didedikasikan untuk beberapa node atau untuk failover.