- Apa itu Database?
Database adalah kumpulan data yang terorganisir secara terstruktur agar dapat dengan mudah diakses, dikelola, dan diperbarui. Ini dapat berupa koleksi informasi yang terkait atau berkaitan dengan topik tertentu.
- Relational Database (SQL).
Relational database adalah tipe database yang terdiri dari tabel yang terhubung satu sama lain. Struktur data diorganisir dalam bentuk tabel, di mana setiap tabel berisi baris dan kolom. Contoh SQL Database: MySQL, MariaDB, PostgreSQL.
- No Relational Database (NoSQL).
No relational database adalah jenis database yang tidak mengikuti struktur tabel tradisional seperti pada database relasional. Jenis database ini dirancang untuk menangani data semi-struktural atau tidak terstruktur. Contoh No SQL Database: MongoDB, Redis.
- Instalasi MariaDB di Red Hat Enterprise Linux 9.
Jalankan command dibawah ini untuk instalasi ‘mariadb-server’.
Setelah itu enable service mariadb dan open port 3306/tcp.
Setelah itu setup mariadb.
Uji coba akses mariadb melalui command line.
- Instalasi phpMyAdmin di Red Hat Enterprise Linux 9.
phpMyAdmin adalah sebuah tool gratis untuk manajemen administrasi database MySQL dan MariaDB melalui interface web. Untuk instalasi phpMyAdmin dibutuhkan web server dan juga php. Jalankan command pada step dibawah ini untuk instalasi ‘phpMyAdmin’.
Lalu enable service httpd dan open port 80/tcp.
Lalu ubah konfigurasi file ‘phpMyAdmin.conf’ yang ada di direktori ‘/etc/httpd/conf.d’.
Lalu restart service httpd.
Uji coba akses phpMyAdmin melalui browser.
- Konfigurasi Replikasi MariaDB.
Untuk replikasi pada mariadb ada 2 tipe yaitu master – slave dan master – master. Pastikan mariadb-server sudah terinstall dimasing” Server. Topologinya seperti gambar dibawah ini.
- Konfigurasi Master (Srv1) – Slave (Srv2).
Srv1 akan menjadi slave dan Srv2 akan menjadi slave dari Srv1. Jadi ketika ada penambahan, perubahan, penghapusan database di Srv1 akan terapkan juga di Srv2. Namun ketika ada penambahan, perubahan, penghapusan database di Srv2 tidak akan di terapkan di Srv1.
Tambahkan konfigurasi file ‘mariadb-server.cnf’ di direktori ‘/etc/my.cnf.d’ seperti dibawah ini.
Setelah itu restart service mariadb.
Buat user database ‘replica’ dan password ‘acilper’. Lalu berikan izin user tersebut untuk melakukan replikasi sebagai slave. Cek juga status master.
Lalu lock juga database di Srv1 supaya tidak ada perubahan selama kita akan mengkonfigurasi slave di Srv2.
Selanjutnya konfigurasi mariadb server di Srv2.
Setelah itu restart service mariadb.
Lalu konfigurasi database sebagai slave.
Lalu unlock database di Srv1 dan coba buat database baru di Srv1. Setelah itu cek di database Srv2 pastikan ada database baru yang sudah dibuat di Srv1.
- Konfigurasi Master (Srv1) – Master (Srv3).
Srv1 akan menjadi master dan slave untuk Srv3 begitu juga sebaliknya. Jadi ketika ada penambahan, perubahan, penghapusan database di Srv1 akan diterapkan juga di Srv3 dan juga sebaliknya.
Tambahkan konfigurasi file ‘mariadb-server.cnf’ di direktori ‘/etc/my.cnf.d’ seperti dibawah ini.
Setelah itu restart service mariadb.
Lalu buat user database ‘replica’ dan password ‘acilper’. Lalu berikan izin user tersebut untuk melakukan replikasi sebagai slave. Cek juga status master.
Lalu konfigurasi database srv1 sebagai slave dari srv3.
Cek status master di database srv1.
Lalu konfigurasi database srv3 sebagai slave dari srv1.
Uji coba buat database baru di srv1 dan pastikan database tersebut ada juga di srv3. Dan juga sebaliknya.
Buat database ‘test1_dibuat_disrv1’ di srv1 dan cek di srv3.
Lalu buat database ‘test2_dibuat_disrv3’ di srv3 dan cek di srv1.
- MariaDB Modern Replication (Galera).
Kita akan menggunakan 3 node. Pastikan ‘mariadb mariadb-server-galera’ sudah terinstall pada masing” node.
Lalu allow port yang digunakan untuk galera.
- 3306 adalah port default untuk koneksi klien MySQL dan State Snapshot Transfer menggunakan mysqldump untuk cadangan.
- 4567 dicadangkan untuk lalu lintas Replikasi Klaster Galera. Replikasi multicast menggunakan transport TCP dan UDP pada port ini.
- 4568 adalah port untuk Transfer Negara Tambahan. Dalam Inkremental State Transfer (IST), sebuah node hanya menerima set tulis yang hilang dan mengejar grup dengan memutarnya kembali.
- 4444 digunakan untuk semua Transfer Snapshot Negara lainnya. State Snapshot Transfer mengacu pada salinan data lengkap dari satu node cluster (yaitu donor) ke node yang bergabung (yaitu joiner).
- Konfigurasi MariaDB Galera Srv1.
Edit file ‘galera.cnf’ di direktori ‘/etc/my.cnf.d’ seperti dibawah ini.
Setelah itu start galera cluster di srv1.
- Konfigurasi MariaDB Galera Srv2.
Edit file ‘galera.cnf’ di direktori ‘/etc/my.cnf.d’ seperti dibawah ini.
Setelah itu restart mariadb di srv2.
- Konfigurasi MariaDB Galera Srv3.
Edit file ‘galera.cnf’ di direktori ‘/etc/my.cnf.d’ seperti dibawah ini.
Setelah itu restart mariadb di srv3.
Uji coba buat dengan import database di srv1.
Dan cek di srv2/3 apakah ada database terbaru. Lalu coba delete salah satu table didalam database melalui srv2/3 apakah bisa atau tidak.
- Kesimpulan.
Jadi ketika melakukan replikasi menggunakan metode traditional itu merupakan asinkron sedangkan menggunakan metode modern itu merupakan sinkron. Dari segi konfigurasi juga lebih rumit ketika menggunakan metode traditional. Ketika menggunakan metode modern dapat menerima read dan write pada database meskipun ketika menggunakan metode traditional kita bisa menggunakan metode master master dan mungkin bisa menyebabkan banyak konflik.
Tertarik mengikuti training di ID-Networkers? kami menyediakan berbagai piliha training yang bisa kamu ikutin, klik disini untuk info lengkapnya.
Penulis : Achmad Alif Nasrulloh