MongoDB - Replikasi

Replikasi adalah proses sinkronisasi data di beberapa server. Replikasi menyediakan redundansi dan meningkatkan ketersediaan data dengan banyak salinan data di server database yang berbeda. Replikasi melindungi database dari hilangnya satu server. Replikasi juga memungkinkan Anda memulihkan dari kegagalan perangkat keras dan gangguan layanan. Dengan salinan data tambahan, Anda dapat mendedikasikan satu untuk pemulihan bencana, pelaporan, atau pencadangan.

Mengapa Replikasi?

  • Untuk menjaga keamanan data Anda
  • Ketersediaan data yang tinggi (24 * 7)
  • Pemulihan bencana
  • Tidak ada waktu henti untuk pemeliharaan (seperti pencadangan, pembuatan kembali indeks, pemadatan)
  • Skala baca (salinan tambahan untuk dibaca)
  • Set replika transparan untuk aplikasi

Bagaimana Replikasi Bekerja di MongoDB

MongoDB mencapai replikasi dengan menggunakan set replika. Satu set replika adalah sekelompokmongodcontoh yang menghosting kumpulan data yang sama. Dalam replika, satu node adalah node utama yang menerima semua operasi tulis. Semua contoh lainnya, seperti sekunder, menerapkan operasi dari primer sehingga mereka memiliki kumpulan data yang sama. Kumpulan replika hanya dapat memiliki satu node utama.

  • Set replika adalah sekelompok dua atau lebih node (umumnya diperlukan minimal 3 node).

  • Dalam satu set replika, satu node adalah node primer dan node yang tersisa adalah node sekunder.

  • Semua data direplikasi dari node primer ke sekunder.

  • Pada saat failover atau pemeliharaan otomatis, pemilihan ditetapkan untuk primer dan simpul utama baru dipilih.

  • Setelah pemulihan node gagal, itu kembali bergabung dengan set replika dan berfungsi sebagai node sekunder.

Diagram khas replikasi MongoDB ditampilkan di mana aplikasi klien selalu berinteraksi dengan node primer dan node primer kemudian mereplikasi data ke node sekunder.

Fitur Set Replika

  • Sekelompok N node
  • Salah satu node bisa menjadi primer
  • Semua operasi tulis masuk ke primer
  • Pengalihan otomatis
  • Pemulihan otomatis
  • Pemilihan konsensus primer

Siapkan Kumpulan Replika

Dalam tutorial ini, kami akan mengonversi instance MongoDB mandiri menjadi satu set replika. Untuk mengkonversi ke replika set, berikut adalah langkah-langkahnya -

  • Shutdown sudah menjalankan server MongoDB.

  • Mulai server MongoDB dengan menentukan opsi - replSet. Berikut ini adalah sintaks dasar --replSet -

mongod --port "PORT" --dbpath "YOUR_DB_DATA_PATH" --replSet "REPLICA_SET_INSTANCE_NAME"

Contoh

mongod --port 27017 --dbpath "D:\set up\mongodb\data" --replSet rs0
  • Ini akan memulai instance mongod dengan nama rs0, pada port 27017.

  • Sekarang mulai command prompt dan hubungkan ke instance mongod ini.

  • Di klien Mongo, berikan perintah rs.initiate() untuk memulai kumpulan replika baru.

  • Untuk memeriksa konfigurasi set replika, jalankan perintah rs.conf(). Untuk memeriksa status set replika, berikan perintahrs.status().

Tambahkan Anggota ke Kumpulan Replika

Untuk menambahkan anggota ke kumpulan replika, mulai instance mongod di beberapa mesin. Sekarang mulai klien mongo dan berikan perintahrs.add().

Sintaksis

Sintaks dasar rs.add() perintahnya adalah sebagai berikut -

>rs.add(HOST_NAME:PORT)

Contoh

Misalkan nama instance mongod Anda adalah mongod1.net dan itu berjalan di port 27017. Untuk menambahkan contoh ini ke set replika, berikan perintahrs.add() di klien Mongo.

>rs.add("mongod1.net:27017")
>

Anda dapat menambahkan instance mongod ke set replika hanya ketika Anda terhubung ke node utama. Untuk memeriksa apakah Anda terhubung ke primer atau tidak, keluarkan perintahdb.isMaster() di klien mongo.