Dewacloud blog featured image

Autoclustering PostgreSQL dengan Replikasi Primary-Secondary Asynchronous

Data merupakan sebuah kompoenen penting bagi operasional sebuah aplikasi. Maka dari itu, data harus dapat berubah sesuai dengan lingkungan aplikasi yang dinamis.

Dalam keamanan siber, menyimpan data di satu lokasi yang sama artinya dengan meningkatkan risiko kerusakan data ketika terjadi kegagalan sistem.

Untuk menghindari hal tersebut, kamu perlu membuat strategi untuk memastikan data kamu selalu tersedia (high-availability). Salah satu solusi terbaik untuk memastikan high-availability adalah menyimpan data di beberapa server yang disinkronkan.

Menyimpan data di beberapa database akan mengurangi kemungkinan kegagalan sistem, meningkatkan produktivitas, mempermudah proses backup, dan meningkatkan kinerja analisa data.

Di antara banyaknya solusi clustering database, Dewacloud menyediakan PostgreSQL dengan replikasi primary-secondary secara asinkron. Secara default, Dewacloud akan men-deploy dua container database (primary & secondary).

Server master akan berperan sebagai instance aktif dan menerima operasi read-write. Sedangkan server slave akan menjalankan salinan server master dan menangani operasi read-only. Karena itu, jika database utama mengalami kegagalan karena kesalahan di container atau database yang corrupt, server slave harus menggantikan perannya agar database tetap tersedia.
alur replikasi postgresql

Dalam topology cluster, setiap container database memiliki vertical scaling default mulai dari 2 reserved cludlet hingga 32 dynamic cloudlet (hingga 4 GiB RAM & 12,8 GHz CPU).

Resource tersebut dialokasikan secara dinamis berdasarkan load yang masuk. Selanjutnya, kamu dapat mengubah batas alokasi resource dengan mengikuti panduan yang ditautkan sebelumnya.

Database Cluster akan terinstal secara otomatis:

  • Sebagai aplikasi Marketplace
  • Melalui fitur Auto-Clustering yang tertanam di Dashboard

Instalasi PostgreSQL Melalui Marketplace Dewacloud

Kamu dapat menginstal dan deploy PostgreSQL Primary-Secondary Cluster dari marketplace Dewacloud.

marketplace postgresql master-slav

Jika diperlukan, kamu dapat mengubah versi database, nama environment, dan pilihan region di jendela Topology Wizard.

instalasi postgresql dewacloud

Mode Auto-Clustering PostgreSQL

Di Dewacloud, kamu dapat mengaktifkan auto-clustering dalam beberapa menit saja. Untuk mengaktifkan auto-clustering, kamu dapat membuka topology wizard di dashboard, memilih software stack (misalnya PostgreSQL 12.3), dan mengaktifkan fitur Auto-Clustering.

Jika diperlukan, kamu juga dapat mengubah region untuk men-deploy database kamu. Saat penulisan artikel ini, Dewacloud memiliki region di Jakarta dan Singapura.

Tip: Resource package Replikasi PostgreSQL tersedia dalam Dewacloud JPS Collection bersama dengan solusi berguna lainnya, salah satu yang dapat diintegrasikan melalui import file manifest.yaml atau manifest.jps dari repository yang sesuai.

Cluster Topology

Topologi cluster database yang diperoleh pada kedua deployment akan terlihat seperti berikut ini:

topologi baru postgresql

Ketika instalasi cluster database selesai, kamu akan melihat pesan konfirmasi dengan URL node master dan kredensial untuk akses database. Semua informasi ini diduplikasi melalui email.

Catatan: Jika cluster di instal dengan fungsi auto-clustering, kredensial hanya dikirim melalui email.

Sekarang, mari kita menempatkan database master ke dalam tindakan untuk memeriksa bahwa data berhasil direplikasi ke slave.

Menguji Replikasi Database PostgreSQL

Untuk memastikan bahwa data direplikasi dengan benar, kami akan membuat instance DB baru di mater container dan memeriksa keberadaannya di dalam secondary.

Buat Database Baru

  1. Klik tombol Open in Browser yang ada di samping node primary PostgreSQL untuk membuka phpPgAdmin.

    open in browser primary node

  2. Di bawah Server, klik PostgreSQL dan masuk dengan kredensial yang kamu peroleh di email setelah pembuatan cluster.
    phpPgAdmin
  3. Klik Create Database untuk mulai membuat database baru.
  4. Isi Name di dalam box (contohnya Dewacloud), dan klik Create.
    create database

Setelah berhasil membuat database di primary node, kamu perlu memastikan bahwa replikasi berjalan dengan lancar di secondary node.

Periksa Hasil Replikasi Database

Ikutit langkah-langkah berikut ini untuk memastikan bahwa replikasi data dari primary node ke secondary node berjalan dengan baik:

  1. Klik Open in Browser di samping node PostgreSQL Slave untuk membuka interface yaitu web phpPgAdmin.
    open in browser secondary node
  2. Akses interface admin dengan username dan password yang sama untuk digunakan dalam mengakses master node.
  3. Setelah masuk, kamu dapat melihat database yang direplikasi (di contoh ini, Dewacloud).
    secondary database
  4. Penutup

    Itu saja! Environment PostgreSQL dengan replikasi primary-secondary secara asinkron sudah dapat mulai memproses data.

    Sebagai langkah selanjutnya, kamu dapat menghubungkan database yang direplikasi PostgreSQL ini ke project kamu. Prosesnya tergantung pada aplikasi yang spesifik, jika ikuti petunjuk di bawah ini:

Penutup

Sangat mudah, bukan?

Sekarang kamu tak perlu repot-repot mengonfigurasi database PostgreSQL primary-secondary. Cukup dengan satu klik saja, maka database kamu akan otomatis direplikasi oleh sistem Dewacloud.

Coba Dewacloud sekarang juga untuk mendapatkan hosting database yang jauh lebih terjangkau daripada solusi lainnya.