{"id":38120,"date":"2023-04-13T09:02:36","date_gmt":"2023-04-13T02:02:36","guid":{"rendered":"https:\/\/www.rumahweb.com\/journal\/?p=38120"},"modified":"2023-04-13T16:08:42","modified_gmt":"2023-04-13T09:08:42","slug":"replikasi-database-adalah","status":"publish","type":"post","link":"https:\/\/www.rumahweb.com\/journal\/replikasi-database-adalah\/","title":{"rendered":"Replikasi Database: Pengertian, Fungsi dan Cara Membuatnya"},"content":{"rendered":"\n<p>Replikasi database adalah suatu proses dalam manajemen database yang bertujuan untuk membuat salinan atau duplikat yang nantinya dapat digunakan sebagai mirroring. Lalu, apa saja manfaat replikasi database dan bagaimana cara membuatnya?<\/p>\n\n\n\n\n\n<p>Pada panduan ini, kami akan mengulas secara lengkap tentang apa itu replikasi database hingga cara membuatnya. Simak artikel ini sampai selesai. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Apa itu Replikasi Database?<\/h2>\n\n\n\n<p>Replikasi database adalah sistem yang digunakan untuk menyalin, mendistribusikan data, serta melakukan sinkronisasi data antar database. Replikasi database juga dapat membantu meningkatkan kinerja database dengan mempercepat waktu akses dan meminimalkan waktu downtime yang mungkin terjadi jika hanya ada satu database tunggal.<\/p>\n\n\n\n<p>Pada dasarnya sistem replikasi membutuhkan minimal dua buah server untuk digunakan sebagai master dan slave. Dengan menggunakan teknik replikasi, data dapat didistribusikan ke server yang berbeda melalui koneksi jaringan lokal maupun internet.<\/p>\n\n\n\n<p>Selain itu ada yang menyebutkan bahwa Replikasi adalah proses menyalin dan memelihara objek database dalam beberapa database yang membentuk suatu sistem database terdistribusi. Replikasi database dapat meningkatkan kinerja dan melindungi ketersediaan aplikasi karena data pilihan alternatif akses (cadangan) ada. <\/p>\n\n\n\n<p>Sebagai contoh, sebuah aplikasi biasanya dapat mengakses database, aplikasi akan dapat terus berfungsi jika server lokal mengalami kegagalan\/down, karena terdapat server <a href=\"https:\/\/blog.rumahweb.com\/database-adalah\/\" title=\"database adalah\">database<\/a> replikasi lain yang tetap berjalan dan berisi data yang sama sebagai backup apabila server utama mengalami down.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Manfaat Replikasi Database<\/h2>\n\n\n\n<p>Ada beberapa manfaat dari replikasi database, berikut diantaranya;<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Replikasi database memungkinkan pengguna untuk memiliki akses ke data yang disinkronkan di berbagai lokasi geografis, termasuk yang terdekat dengan mereka.<\/li>\n\n\n\n<li>Dapat meningkatkan kinerja read\/write dengan mengizinkan beberapa sistem akses, Replikasi basis data menjadikan data lebih andal, tahan lama, dan sistem data lebih tangguh.<\/li>\n\n\n\n<li>Sebagai rencana pemulihan bencana data karena banyak salinan data dapat dibuat dan disimpan di lokasi yang berbeda, termasuk di berbagai platform cloud dan Server cadangan.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Pentingnya Replikasi Database<\/h2>\n\n\n\n<p>Berdasarkan manfaat di atas, replikasi database penting untuk dilakukan pada kondisi berikut ini;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Ketersediaan data tinggi<\/h3>\n\n\n\n<p>Replikasi memastikan bahwa kita memiliki data yang tersedia untuk pengguna setiap saat. Bahkan ketika masalah muncul dengan salah satu database yang direplikasi, seperti down pada Server database utama, maka pengguna masih dapat mengakses salinan database yang ditemukan di lokasi server lain.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Pengurangan beban server<\/h3>\n\n\n\n<p>Database yang direplikasi dan terdistribusi membutuhkan lebih sedikit daya pemrosesan untuk setiap server karena data sedang diproses dan dihosting di beberapa server. <\/p>\n\n\n\n<p>Distribusi pemrosesan dan penyimpanan ini mengarah pada pengurangan beban pada server dibandingkan dengan satu server yang menangani beban dan mengalami masalah kinerja.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Latensi lebih rendah<\/h3>\n\n\n\n<p>Performa server ditingkatkan karena salinan data ditemukan di beberapa lokasi. Ini mengurangi waktu bolak-balik untuk mengambil data karena akan mengambil data dari replika yang lebih dekat dari pengguna.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Data yang lebih andal dan akurat<\/h3>\n\n\n\n<p>Dengan adanya replikasi basis data, data terus diproses dan diperbarui agar sesuai dengan data sumber, meningkatkan integritas dan keandalan data.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. Pemulihan bencana <\/h3>\n\n\n\n<p>Replikasi basis data memiliki efek positif pada pemulihan dan ketahanan data. Versi data terbaru dapat diambil dalam situasi di mana server tertentu rusak untuk menghindari kehilangan data dan sebagai langkah antisipasi bencana.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Model Replikasi Database<\/h2>\n\n\n\n<p>Setidaknya ada 2 model replikasi database yang bisa kita lakukan, berikut keterangannya.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Master-Slave<\/strong>: Jika terjadi perubahan database pada Master, database pada Slave juga ikut berubah. Namun, jika terjadi perubahan pada Slave, Master tidak terpengaruh.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Master-Master<\/strong>: Semua server bertindak sebagai Master dan Slave. Karena jika terjadi perubahan database di salah satu server, database pada server lain juga ikut berubah.<\/li>\n<\/ul>\n\n\n\n<p>Pada percobaan replikasi ini kita akan menggunakan model replikasi Master-Slave.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cara Membuat Replikasi Database di MariaDB<\/h2>\n\n\n\n<p>Pada demo kali ini, kami akan membuat replikasi database dengan spesifikasi server sebagai berikut: <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Distro: Ubuntu 20.04 LTS<\/li>\n\n\n\n<li>Paket VPS : Minimal Paket M (informasi paket <a href=\"https:\/\/www.rumahweb.com\/vps-murah\/\" title=\"VPS murah\">VPS murah<\/a>)<\/li>\n\n\n\n<li><a href=\"https:\/\/blog.rumahweb.com\/mariadb-adalah\/\" title=\"mariadb adalah\">MariaDB<\/a>: 10.3.31<\/li>\n\n\n\n<li>IP Master: 203.175.8.224<\/li>\n\n\n\n<li>IP Slave: 203.175.8.223<\/li>\n<\/ul>\n\n\n\n<p>Pastikan sebelum mengikuti panduan berikut, dua server Anda telah siap digunakan untuk replikasi database. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Konfigurasi Server MariaDB pada server Master<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Install MariaDB.<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>apt install mariadb-server mariadb-client -y<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li>Ubah konfigurasi pada conf mariadb.<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/mysql\/mariadb.conf.d\/50-server.cnf\n\n# baris 29, tambah IP bind-address dengan IP server\nbind-address = 127.0.0.1\nbind-address = 203.175.8.224\n\n# pada baris 74, lepas comment&nbsp;\n\nserver-id = 1\n\n# pada baris 75, lepas comment\n\nlog_bin = \/var\/log\/mysql\/mysql-bin.log<\/code><\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image.png\"><img loading=\"lazy\" decoding=\"async\" width=\"452\" height=\"87\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image.png\" alt=\"konfigurasi replikasi\" class=\"wp-image-38161\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image.png 452w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-300x58.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-370x71.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-270x52.png 270w\" sizes=\"auto, (max-width: 452px) 100vw, 452px\" \/><\/a><\/figure>\n<\/div>\n\n\n<ol class=\"wp-block-list\" start=\"3\">\n<li>restart service mariadb.<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl restart mariadb<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"4\">\n<li>setelah melakukan restart, kita dapat membuat user database yang nantinya digunakan untuk replikasi.<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code># mysql -u root -p\n# GRANT REPLICATION SLAVE ON . TO 'mirror'@'203.175.8.223' IDENTIFIED BY 'password';\n# FLUSH PRIVILEGES;&nbsp;\n# FLUSH TABLES WITH READ LOCK;<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"5\">\n<li>kita akan menampilkan informasi replika master yang digunakan untuk server slave.<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>SHOW MASTER STATUS;<\/code><\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"561\" height=\"139\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-1.png\" alt=\"position mariadb replikasi\" class=\"wp-image-38162\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-1.png 561w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-1-300x74.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-1-370x92.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-1-270x67.png 270w\" sizes=\"auto, (max-width: 561px) 100vw, 561px\" \/><\/a><\/figure>\n<\/div>\n\n\n<ol class=\"wp-block-list\" start=\"6\">\n<li>diatas adalah informasi position dan log yang akan kita binding pada server slave.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Konfigurasi Server MariaDB pada server Slave<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Install MariaDB.<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>apt install mariadb-server mariadb-client -y<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li>Ubah konfigurasi pada conf mariadb.<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/mysql\/mariadb.conf.d\/50-server.cnf\n\n# baris 29, tambah IP bind-address dengan IP server\n\nbind-address = 127.0.0.1\nbind-address = 203.175.8.223\n\n# pada baris 74, ubah ke id lainnya (selain 1)\n\nserver-id = 2\n\n# pada baris 75, lepas comment\n\nlog_bin = \/var\/log\/mysql\/mysql-bin.log<\/code><\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"480\" height=\"95\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-2.png\" alt=\"konfigurasi replikasi\" class=\"wp-image-38163\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-2.png 480w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-2-300x59.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-2-370x73.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-2-270x53.png 270w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/a><\/figure>\n<\/div>\n\n\n<ol class=\"wp-block-list\" start=\"3\">\n<li>Melakukan koneksi database ke master, pastikan diisi sesuai dengan informasi pada server Master sebelumnya.<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>mysql -u root -p\nCHANGE MASTER TO\nMASTER_HOST='203.175.8.224',\nMASTER_USER='mirror',\nMASTER_PASSWORD='password',\nMASTER_LOG_FILE='mysql-bin.000001',\nMASTER_LOG_POS=852;&nbsp;\n\n(enter)\n\nSTART SLAVE;\nUNLOCK TABLES;<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"4\">\n<li>restart service mariadb<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl restart mariadb<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"5\">\n<li>apabila sudah terkonfigurasi, pastikan slave sql berjalan dan posisi sesuai dengan menjalankan perintah berikut :<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>SHOW SLAVE STATUS \\G<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"6\">\n<li>maka akan tampil informasi master;<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-3.png\"><img loading=\"lazy\" decoding=\"async\" width=\"646\" height=\"273\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-3.png\" alt=\"replikasi database mysql mariadb\" class=\"wp-image-38164\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-3.png 646w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-3-300x127.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-3-370x156.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-3-270x114.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-3-570x241.png 570w\" sizes=\"auto, (max-width: 646px) 100vw, 646px\" \/><\/a><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">Pengujian<\/h3>\n\n\n\n<p>Lakukan pembuatan database, pembuatan tabel, CRUD record pada server Master.<\/p>\n\n\n\n<p>Setiap selesai menjalankan satu perintah pada server Master periksa server Slave apakah ada terjadi hal yang sama pada server Master.<\/p>\n\n\n\n<p>Contoh : kita akan membuat database bernama \u2018coba\u2019 di server master, maka database coba akan otomatis copy pada server slave<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Database Master<\/h4>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-4.png\"><img loading=\"lazy\" decoding=\"async\" width=\"366\" height=\"217\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-4.png\" alt=\"database pada master\" class=\"wp-image-38165\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-4.png 366w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-4-300x178.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-4-270x160.png 270w\" sizes=\"auto, (max-width: 366px) 100vw, 366px\" \/><\/a><\/figure>\n<\/div>\n\n\n<h4 class=\"wp-block-heading\">Database Slave<\/h4>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-5.png\"><img loading=\"lazy\" decoding=\"async\" width=\"330\" height=\"182\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-5.png\" alt=\"database pada slave\" class=\"wp-image-38166\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-5.png 330w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-5-300x165.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/04\/image-5-270x149.png 270w\" sizes=\"auto, (max-width: 330px) 100vw, 330px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p>Apabila terdapat kendala, pastikan untuk port 3306 dapat diakses oleh masing-masing server dengan melakukan konfigurasi pada firewall.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Replikasi database adalah suatu proses dalam manajemen database yang bertujuan untuk membuat salinan atau duplikat yang nantinya dapat digunakan sebagai mirroring. Lalu, apa saja manfaat replikasi database dan bagaimana cara membuatnya? Pada panduan ini, kami akan mengulas secara lengkap tentang apa itu replikasi database hingga cara membuatnya. Simak artikel ini sampai selesai. Apa itu Replikasi [&hellip;]<\/p>\n","protected":false},"author":349,"featured_media":38170,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[135,1963,1962],"class_list":{"0":"post-38120","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-artikel-tutorial","8":"tag-database","9":"tag-mirroring-database","10":"tag-replikasi-database"},"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/38120","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/users\/349"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/comments?post=38120"}],"version-history":[{"count":0,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/38120\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media\/38170"}],"wp:attachment":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media?parent=38120"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/categories?post=38120"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/tags?post=38120"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}