Apa itu Replikasi ?

Replikasi database Master / Slave adalah proses menyalin data dari database pada satu server (Master) ke database server lain (Slave). Manfaat Utama dari pross ini adalah untuk mendistribusikan database ke beberapa mesin, jadi ketika server master memiliki masalah, ada mesin cadangan (Slave) dengan data yang sama tersedia untuk menangani masalah yang terjadi di server (Master).

PostgreSQL menyediakan beberapa cara untuk melakukan replikasi database. Ini dapat digunakan untuk tujuan membuat cadangan dan menyediakan server berbasis data ketersediaan tinggi(High Avaibility).

PostgreSQL mempunyai fitur pg_basebackup digunakan untuk mengambil backup dari cluster database PostgreSQL yang sedang berjalan. Cluster yang diambil tidak mempengaruhi klien lain ke database. File yang di backup yaitu seluruh database cluster, dan tidak akan mem-backup hanya satu database atau objek database. Untuk mem-backup satu database menggunakan fitur pg_dump.

Jika Anda menggunakan pengiriman log transaksi atau (Point-In-Time-Recovery) di PostgreSQL untuk menjaga data Anda aman, Anda pasti sudah tahu tentang pg_basebackup. Ide di balik pg_basebackup adalah untuk memungkinkan pengguna membuat salinan biner data, yang dapat berfungsi sebagai basis untuk Point-In-Time-Recovery (bisa dilihat di artikel PITR).

Apa yang dilakukan pg_basebackup?

Pada dasarnya pg_basebackup adalah cara untuk  data melalui koneksi database. Ketika Anda memulai pg_basebackup, server akan menunggu untuk melakukan pemeriksaan dan kemudian mulai menyalin direktori data Postgres.

Tahapan yang perlu dilakukan untuk melakukan replikasi :

  • Langkah 1 – Install PostgreSQL
  • Langkah 2 – Mulai dan konfigurasikan PostgreSQL
  • Langkah 3 – Konfigurasikan Firewalld
  • Langkah 4 – Konfigurasi server Master
  • Langkah 5 – Konfigurasi server Slave
  • Langkah 6 – Copy PostgreSQL Data from Master to SLAVE.

Dimana pada langkah 6 disini proses replikasi dijakankan, metode umum yang biasa digunakan untuk menjalankan pg_basebackup:

pg_basebackup -P -R –xlog-method=stream –checkpoint=fast -h 10.x.x.x -D /target_dir

Ket:

-R akan secara otomatis membuat file konfigurasi ketika akan menjalankan replikasi streaming. Untuk point-in-time-recovery yang ini tidak perlu dilakukan.

Ketika semua tahap sudah selesai dilakukan adalah memerika status replikasi.

Ini adalah cara termudah untuk melihat status replikasi pada server (Master).

Output beserta kueri :

postgres=# select client_addr, state,
postgres-# write_lcn, replay_lcn, sync_priority from pg_stat_replication;
client_addr |   state | write_location | replay_location | sync_priority
————-+———–+—————-+—————-+—————–+—————
10.x.x.x  | streaming | AB/416D178   | AB/416D178 |     0
(1 row)

Anda dapat mengetahui waktu dalam detik delay transaksi yang diterapkan pada server (Slave).

Output beserta kueri :

postgres=# select now() – pg_last_xact_replay_timestamp() AS replication_delay;
replication_delay
————————–
00:00:08.057668
(1 row)

 

Selain sebagai tempat training IT yang banyak direkomendasikan oleh praktisi, i3 juga menawarkan jasa IT Services di 4 bidang utama keahlian: Open Source, Virtualisasi, Database, dan IT Security. Semua training dan services ditangani oleh instructor dan konsultan yang berpengalaman dan memiliki sertifikasi internasional.

Informasi lebih lanjut tentang lengkap jadwal pelatihan dan layanan IT silahkan hubungi kami melalui info@i-3.co.id