Sekilas hasil menggunakan Rubyrep untuk master 2 master Replication.

  Hi all, beberapa bulan terakhir ini saya mencari solusi untuk melakukan replikasi database master 2 master untuk databasePostgresql. Master 2 Master itu artinya 2 buah database saling bersinkronisasi, saling mengupdate satu sama lain, secara real time. Tentu saja Real Time disini didalam konteks kurun waktu yang dapat diterima. Slony-I,  PgCluster, PGPool, bucardo dan rubyrep adalah tools replication yang saya amati.

Postgresql belum memiliki kemampuan untuk replikasi master 2 master. Oleh karena itu beberapa vendor dan pengguna database ini membuat tools sendiri agar dapat melakukan replikasi. Saya tidak akan membahasa satu per satu, tetapi setelah mempertimbangkan berbagai hal akhirnya pilihan saya jatuh ke pada bucardo dan rubyrep, yang mendukung master 2 master replication.

Diantara bucardo dan rubyrep, bucardo adalah tools replikasi yang instalasinya lebih rumit daripada rubyrepRubyrep sangat mudah di install dan di setup. Saya menggunakan rubyrep versi JRuby, versi java, tinggal di download, extract, dan di eksekusi. Untuk versi ruby enterprise belum pernah menggunakan. Bucardo dan rubyrep ini sama sama  berbasis database trigger .
Pada dasarnya, rubyrep hanya dapat digunakan untuk 2 database, kiri (left) dan kanan (right). Sisi kiri dapat dikatakan sebagai database asal dan sisi kanan sebagai database target atau tujuan dalam konteks master slave. Karena replikasinya master 2 master, maka kita dapat melakukan perubahan di dua database, baik di kiri atau di kanan, dan kedua duanya dapat melakukan sinkronisasi.
Rubyrep juga mendukung conflict resolution, sehingga apabila muncul permasalahan yang timbul saat terjadinya replikasi, kita dapat mengatur bagaimana rubyrep harus berinteraksi terhadap permasalahan tersebut.
Rubyrep versi JRuby, diklaim oleh penciptanya, Mr.Arndt Lehmann dapat melakukan replikasi hingga lebih dari 200 record per detik. Sementara hasil yang saya dapatkan adalah rata rata 20 record per detik. Pada saat replikasi tabel yang besar dengan jumlah kolom yang banyak, maka kecepatan replikasi dapat turun hingga 9 record per detik. Replikasi ini terjadi di 2 komputer server dalam switch yang sama. Saya sedang berusaha agar replikasinya dapat di percepat lagi.
Apabila ada rekan rekan yang memiliki pengalaman menggunakan rubyrep, ditunggu sharing nya.

Author: Nareswara

Ordinary People with eye glasses

Leave a Reply

Your email address will not be published. Required fields are marked *