Apa yang dimaksud dengan mongodb replication?

Replication is the process of synchronizing data across multiple servers. Replication provides redundancy and increases data availability with multiple copies of data on different database servers. Replication protects a database from the loss of a single server. Replication also allows you to recover from hardware failure and service interruptions. With additional copies of the data, you can dedicate one to disaster recovery, reporting, or backup.

Why Replication?

  • To keep your data safe
  • High (24*7) availability of data
  • Disaster recovery
  • No downtime for maintenance (like backups, index rebuilds, compaction)
  • Read scaling (extra copies to read from)
  • Replica set is transparent to the application

How Replication Works in MongoDB

MongoDB achieves replication by the use of replica set. A replica set is a group of mongod instances that host the same data set. In a replica, one node is primary node that receives all write operations. All other instances, such as secondaries, apply operations from the primary so that they have the same data set. Replica set can have only one primary node.

  • Replica set is a group of two or more nodes (generally minimum 3 nodes are required).

  • In a replica set, one node is primary node and remaining nodes are secondary.

  • All data replicates from primary to secondary node.

  • At the time of automatic failover or maintenance, election establishes for primary and a new primary node is elected.

  • After the recovery of failed node, it again join the replica set and works as a secondary node.

A typical diagram of MongoDB replication is shown in which client application always interact with the primary node and the primary node then replicates the data to the secondary nodes.

Apa yang dimaksud dengan mongodb replication?

Replica Set Features

  • A cluster of N nodes
  • Any one node can be primary
  • All write operations go to primary
  • Automatic failover
  • Automatic recovery
  • Consensus election of primary

Set Up a Replica Set

In this tutorial, we will convert standalone MongoDB instance to a replica set. To convert to replica set, following are the steps −

  • Shutdown already running MongoDB server.

  • Start the MongoDB server by specifying -- replSet option. Following is the basic syntax of --replSet −

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

Example

mongod --port 27017 --dbpath "D:\set up\mongodb\data" --replSet rs0
  • It will start a mongod instance with the name rs0, on port 27017.

  • Now start the command prompt and connect to this mongod instance.

  • In Mongo client, issue the command rs.initiate() to initiate a new replica set.

  • To check the replica set configuration, issue the command rs.conf(). To check the status of replica set issue the command rs.status().

Add Members to Replica Set

To add members to replica set, start mongod instances on multiple machines. Now start a mongo client and issue a command rs.add().

Syntax

The basic syntax of rs.add() command is as follows −

>rs.add(HOST_NAME:PORT)

Example

Suppose your mongod instance name is mongod1.net and it is running on port 27017. To add this instance to replica set, issue the command rs.add() in Mongo client.

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

You can add mongod instance to replica set only when you are connected to primary node. To check whether you are connected to primary or not, issue the command db.isMaster() in mongo client.

Putri is an SEO Content Writer at Niagahoster. She has experience in SEO writing with business and tech topic.

Home » Web Development & Design » MongoDB: Pengertian, Manfaat, dan Cara Menggunakannya!

MongoDB: Pengertian, Manfaat, dan Cara Menggunakannya!

March 22, 2021 5 min read

Apa yang dimaksud dengan mongodb replication?

Pengguna MongoDB terus meningkat hingga mencapai 85 juta pengguna. Ini tentu tak lepas dari kemudahan, kecepatan dan fleksibilitas yang ditawarkan sistem database ini. Namun, apakah MongoDB merupakan pilihan pas untuk project Anda?

Yuk, cari tahu jawabannya! Di artikel ini, Anda tak akan hanya belajar MongoDB di permukaannya saja, tapi juga info-info detailnya. Mulai dari pengertian, keunggulan, hingga cara menggunakan database ini.

Penasaran, kan? Simak selengkapnya!

Daftar isi

Apa itu MongoDB?

MongoDB adalah salah satu jenis database NoSQL yang cukup populer digunakan dalam pengembangan website. Berbeda dengan database jenis SQL yang menyimpan data menggunakan relasi tabel, MongoDB menggunakan dokumen dengan format JSON. 

Hal inilah yang dianggap membuat pengelolaan data menggunakan MongoDB lebih baik. Alhasil, banyak perusahaan besar seperti Adobe, Google dan ebay yang menggunakannya. 

Sistem database ini menggunakan beberapa komponen penting, yaitu: 

Apa yang dimaksud dengan mongodb replication?

  • Database – merupakan wadah dengan struktur penyimpanan yang disebut collection. 
  • Collection – merupakan tempat kumpulan informasi data yang berbentuk dokumen. Collection dipadankan seperti tabel-tabel yang berisi data pada database SQL.  
  • Document – merupakan satuan unit terkecil dalam MongoDB. 

Sebagai satuan terkecil, dokumen akan berisi baris-baris data tanpa schema tertentu, tapi berupa struktur pasangan key-value. Key digunakan untuk melacak objek dengan (value) nilai yang bervariasi, seperti data angka, string, atau objek kompleks lainnya. 

Nah, berikut ini contoh data pada MongoDB:

Apa yang dimaksud dengan mongodb replication?
Sumber gambar: mongodb.com

Dengan format dokumen tersebut, MongoDB mampu menampung data yang lebih bervariasi dan kompleks. Selain itu, Anda juga bisa melakukan scale out database untuk meningkatkan kapasitas data tanpa mengganggu performa server. Itulah yang menjadikannya salah satu aplikasi database terbaik.

Baca Juga: Apa Itu MySQL?

Oh ya, meskipun kemampuan scale out MongoDB memang menarik bagi perusahaan besar, database juga cocok dipakai untuk project pemula kok. Masih belum yakin? 

Keunggulan Menggunakan MongoDB untuk Project Anda

Inilah beberapa keunggulan dari MongoDB yang akan bermanfaat untuk project Anda: 

1. Performa Lebih Cepat 

MongoDB menawarkan performa database yang lebih cepat dibanding database jenis SQL. Sebab, database ini menggunakan dokumen dengan format JSON yang lebih ringan. Tak hanya itu, database ini juga didukung oleh Memcached yang mampu menyimpan data dalam skala memori besar. 

2. Pengelolaan Database Lebih Mudah

Pengelolaan database melalui MongoDB akan jauh lebih simple dan mudah. Sebab, tidak memerlukan struktur tabel yang akan semakin rumit seiring bertambahnya data. MongoDB akan secara otomatis membuat struktur tabel ketika Anda menginput data. 

Selain itu, database ini juga terintegrasi dengan Javascript yang tentu cukup familiar bagi developer. Jadi, developer tak perlu mempelajari bahasa pemrograman baru seperti SQL untuk mengelola database.  

Baca Juga: Apa itu PostgreSQL?

3. Mampu Menampung Banyak Data yang Bervariasi

MongoDB mampu menampung lebih banyak data kompleks karena menggunakan schema table yang dinamis (dynamic schema). Dengan skema data tersebut, database ini bisa menyimpan data yang lebih bervariasi, mulai dari data terstruktur hingga tidak terstruktur. 

Data terstruktur merupakan data yang informasinya mudah didapatkan langsung dari database, seperti data karyawan dan penjualan. Sedangkan, data tidak terstruktur memerlukan analisis untuk mendapatkan nilainya, seperti data berformat foto, video, teks dan suara di website. 

4. Bisa Mengelola Query Lebih Baik

MongoDB adalah database yang memiliki kemampuan untuk menangani query dengan baik. Selain itu, akses terhadap data juga mudah dilakukan sehingga Anda dapat  melihat hasil suatu data yang rumit atau tak terstruktur dengan cepat. 

Katakanlah Anda ingin melihat data dari hasil komentar blog Anda. Anda tinggal jalankan perintah untuk menampilkan dokumen data tersebut untuk mendapatkan data yang Anda inginkan. 

5. Memiliki Kemampuan Skalabilitas Sesuai Kebutuhan

Sebagai jenis database NoSQL, MongoDB memiliki kemampuan untuk melakukan scale out. Artinya, jika kebutuhan data meningkat, Anda bisa menambah beberapa server cloud untuk memperbesar kapasitas database Anda.

Ini tentu berbeda dengan jenis SQL yang mengharuskan Anda melakukan scale-up dengan membeli hardware baru dengan spesifikasi lebih tinggi. 

Dengan kemampuan tersebut, Anda jadi bisa menjalankan program big data untuk bisnis Anda. Lonjakan data yang besar pun dapat diatasi dengan membaginya ke beberapa server cloud yang telah Anda tambahkan.

6. Dapat Memperbarui Skema Data Tanpa Downtime

Kalau di database lain, website atau aplikasi harus dalam kondisi tidak diakses saat Anda memperbarui struktur data. Nah, di MongoDB, Anda tak perlu mengalami downtime saat perubahan itu dilakukan. 

Kenapa? Sebab, database ini didesain untuk bisa tetap diakses ketika pembaharuan skema dan struktur data dilakukan. Jadi, akan lebih kecil gangguan pada aplikasi atau website selama proses pembaruan skema data. 

7. Bisa Digunakan Secara Gratis 

MongoDB adalah software sistem database yang bisa Anda gunakan gratis, baik untuk pengguna Windows, Linux atau macOS. Ini tentu pilihan yang cocok apabila Anda sedang mengerjakan project kecil atau pribadi dan tidak menyediakan anggaran khusus untuk membeli lisensi. 

Baca Juga: Panduan Belajar phpMyAdmin

Tutorial MongoDB: Cara Install hingga Cek Status

Setelah mengetahui berbagai keunggulannya, mari simak tutorial menggunakan sistem database ini, mulai dari instalasi di Ubuntu hingga pembuatan databasenya.  

1. Install MongoDB 

 Untuk menginstallnya di Ubuntu, masukkan perintah berikut di Terminal: 

sudo apt-get install mongodb

2. Mengaktifkan MongoDB 

Selanjutnya aktifkan database dengan perintah berikut: 

sudo systemctl enable mongodb

Setelah aktif, kemudian jalankan dengan perintah berikut ini: 

sudo systemctl start mongodb

3. Cek Status

Untuk memastikan MongoDB telah aktif dan berjalan di server Anda, lakukanlah pengecekan status database MongoDB dengan perintah ini: 

sudo systemctl status mongodb

Kalau Anda melihat hasil tampilan seperti berikut, berarti database MongoDB Anda sudah aktif dan berjalan. 

Apa yang dimaksud dengan mongodb replication?

Baca juga: Cara Lengkap Install MongoDB di Ubuntu 18.04

Perintah Dasar MongoDB

Setelah berhasil menginstall dan mengaktifkan MongoDB di Ubuntu, Anda perlu mempelajari beberapa perintah dasarnya. Berikut adalah sejumlah perintah dasar MongoDB yang sering digunakan:

1. Masuk Database MongoDB

Untuk masuk ke dalam database MongoDB, Anda bisa menggunakan perintah berikut:

mongo

Outputnya akan seperti pada gambar di bawah ini:

Apa yang dimaksud dengan mongodb replication?

2. Membuat Database

Untuk membuat database pada MongoDB, Anda bisa menggunakan perintah di bawah ini. Pada panduan ini kami akan membuat database dengan nama admin-dev. Anda bisa mengganti perintah admin-dev dengan nama database yang akan Anda buat.

use admin-dev

 Outputnya akan seperti pada gambar di bawah ini:

Apa yang dimaksud dengan mongodb replication?

3. Melihat Database

Untuk melihat database saat ini yang digunakan pada server, Anda bisa menggunakan perintah berikut:

db

 Outputnya akan seperti pada gambar di bawah ini. Setiap output akan berbeda-beda hasilnya, tergantung dari database yang sudah Anda tambahkan pada server.

Apa yang dimaksud dengan mongodb replication?

4. Menghapus Database

Untuk menghapus database, Anda bisa menggunakan perintah berikut

db.dropDatabase()

Outputnya akan seperti pada gambar di bawah ini yang artinya database admin-dev telah dihapus. Hasil dari output akan berbeda-beda, tergantung dari database mana yang telah dihapus.

Apa yang dimaksud dengan mongodb replication?

5. Insert Data

Dalam panduan ini kami akan memasukan data ke dalam database admin-dev. Di sini kami akan membuat sekaligus memasukkan data ke collection admin-dev menggunakan perintah insert() dengan nama collection “admin”.

Pilih database menggunakan perintah berikut:

use nama_database_anda

Masukkan data ke dalam database Anda menggunakan perintah berikut:

db.admin.insert({"nama" : "Dapit Kurniawan", "alamat" : "Jl. Ninjaku" , "jenkel" : "laki-laki"})

 Output dari perintah di atas akan seperti pada gambar di bawah ini.

Apa yang dimaksud dengan mongodb replication?

6. Melihat Daftar Collection dalam Database

Untuk melihat daftar collection dalam database, Anda bisa menggunakan perintah berikut:

sudo systemctl enable mongodb
0

Outputnya akan seperti pada gambar di bawah ini. admin dan person adalah data collections dari database admin-dev.

Apa yang dimaksud dengan mongodb replication?

7. Melihat Isi Collection

Untuk melihat isi data collection, Anda bisa menggunakan perintah find. Pada panduan ini kami akan melihat isi data collection dari admin.

sudo systemctl enable mongodb
1

 Outputnya seperti pada gambar di bawah ini: 

Apa yang dimaksud dengan mongodb replication?

8. Melihat Isi Collection Dalam Bentuk JSON

Untuk melihat isi data collection dalam bentuk JSON, Anda bisa menggunakan perintah berikut. Perintah Admin adalah nama data collection yang akan kami lihat. Anda bisa menggantinya dengan nama data collection yang akan Anda lihat.

sudo systemctl enable mongodb
2

 Outputnya akan seperti pada gambar di bawah ini, _id adalah nama kode file JSON.

Apa yang dimaksud dengan mongodb replication?

9. Melihat Isi Collection Hanya 1 Result

Anda juga bisa melihat 1 data collection saja dalam database menggunakan perintah di bawah ini. Pada panduan ini kami akan melihat 1 data collection pada collection person.

sudo systemctl enable mongodb
3

Output dari perintah di atas seperti pada gambar di bawah ini. Perintah findone akan menampilkan 1 data dari collection.

Apa yang dimaksud dengan mongodb replication?

10. Menghapus Data

Untuk menghapus data, hal pertama yang harus dilakukan adalah cek nama file JSON menggunakan .pretty. Pada tutorial ini kami akan menghapus data pada collection person. Salin kode _id dan masukkan pada perintah berikut.

sudo systemctl enable mongodb
4

Apabila perintah di atas berhasil,  hasil outputnya akan seperti pada gambar di bawah ini:

Apa yang dimaksud dengan mongodb replication?

11. Mengubah Data

Anda juga bisa melakukan perubahan pada data yang sudah ada menggunakan perintah di bawah ini. Pada panduan ini kami akan mengubah data pada collection admin. Kami akan mengubah informasi data dari nama, alamat, dan jenis kelamin dari data collection admin.

sudo systemctl enable mongodb
5

Outputnya adalah seperti pada gambar di bawah ini. Terlihat hasil perubahan dari nama, alamat, dan jenis kelamin.

Apa yang dimaksud dengan mongodb replication?

12. Menghapus Collection

Untuk menghapus collection, Anda bisa menggunakan perintah berikut.

sudo systemctl enable mongodb
6

 Outputnya akan seperti pada gambar di bawah ini.

Apa yang dimaksud dengan mongodb replication?

Pakai MongoDB untuk Project Website Terbaik Anda!

MongoDB adalah salah satu jenis database NoSQL yang berbasis dokumen dengan format JSON. Database ini tidak menggunakan tabel dan struktur yang baku seperti database jenis SQL.  

MongoDB semakin banyak digunakan oleh developer karena berbagai keunggulan yang dimilikinya, yaitu: 

  1. Performa lebih cepat 
  2. Pengelolaan database lebih mudah 
  3. Mampu menampung banyak data bervariasi 
  4. Mampu mengelola query lebih baik 
  5. Skalabilitas lebih mudah dilakukan 
  6. Dapat memperbarui skema data tanpa terjadi downtime
  7. Bisa digunakan secara gratis

Dengan berbagai kelebihan tersebut, Anda tentu semakin yakin untuk mencobanya pada project Anda. Kami juga sudah memberikan panduan instalasinya. Sekarang, Anda bisa mulai membuat database untuk project aplikasi website terbaik Anda. Selamat mencoba! 

Share

Putri Aprilia Follow Putri is an SEO Content Writer at Niagahoster. She has experience in SEO writing with business and tech topic.

Subscribe Sekarang

Dapatkan beragam artikel tutorial, insight dan tips menarik seputar dunia online langsung melalui email Anda. Subscribe sekarang dan raih kesuksesan bersama kami!

Mengapa MongoDB disebut database berorientasi dokumen?

Berorientasi pada dokumen-Karena MongoDB adalah database tipe NoSQL, alih-alih memiliki data dalam format tipe relasional, MongoDB menyimpan data dalam dokumen. Ini membuat MongoDB sangat fleksibel dan mudah beradaptasi dengan situasi dan persyaratan dunia bisnis nyata.

Apakah MongoDB termasuk database?

MongoDB adalah database yang berorientasi pada dokumen. Data apa pun yang disimpan di dalam MongoDB itu berbentuk dokumen, bukan tabel. Dalam dokumen-dokumen tersebut, datamu disimpan dalam field, bukan baris atau kolom. Hal ini juga yang mendukung fleksibilitas MongoDB.

Apa fungsi MongoDB?

MongoDB adalah database yang mempunyai kemampuan mengelola query dengan lebih baik. Tak hanya itu, MongoDB juga dibekali dengan kemudahan akses sehingga kamu bisa melihat hasil suatu data yang rumit atau tak terstruktur dengan cepat.

Apa yang dimaksud dengan MongoDB?

MongoDB merupakan salah satu jenis database, lebih tepatnya masuk dalam kategori Document-oriented Database. MongoDB dikembangkan sejak Oktober 2007 oleh 10Gen, dirilis publik sejak Februari 2009 dan dilepas dengan lisensi GNU AGPL 3.0 dan Apache License untuk drivernya.