Apa itu Sharding di MongoDB?
Sharding adalah konsep dalam MongoDB, yang memisahkan kumpulan data besar menjadi kumpulan data kecil di beberapa contoh MongoDB.
Kadang-kadang data dalam MongoDB akan sangat besar, sehingga pertanyaan terhadap set data besar seperti itu dapat menyebabkan banyak penggunaan CPU di pelayan. Untuk mengatasi keadaan ini, MongoDB mempunyai konsep Sharding, yang pada dasarnya adalah pemisahan set data di beberapa contoh MongoDB.
Koleksi yang berukuran besar sebenarnya terbahagi kepada beberapa koleksi atau Shards seperti yang disebut. Secara logiknya semua pecahan berfungsi sebagai satu koleksi.
Cara Melaksanakan Sharding
Shards dilaksanakan dengan menggunakan cluster yang tidak lain adalah sekumpulan instance MongoDB.
Komponen Shard merangkumi
- A Shard - Ini adalah perkara asas, dan ini hanyalah contoh MongoDB yang menyimpan subset data. Dalam persekitaran pengeluaran, semua pecahan harus menjadi bagian dari set replika.
- Pelayan konfig - Ini adalah contoh mongodb yang menyimpan metadata mengenai kluster, pada dasarnya maklumat mengenai pelbagai contoh mongodb yang akan menyimpan data pecahan.
- A Router - Ini adalah contoh mongodb yang pada dasarnya bertanggungjawab untuk mengarahkan semula arahan yang dihantar oleh klien ke pelayan yang betul.
Langkah demi langkah Sharding Cluster Contoh
Langkah 1) Buat pangkalan data yang berasingan untuk pelayan konfigurasi.
mkdir /data/configdb
Langkah 2) Mulakan contoh mongodb dalam mod konfigurasi. Andaikan jika kita mempunyai pelayan bernama Server D yang akan menjadi pelayan konfigurasi kita, kita perlu menjalankan perintah di bawah untuk mengkonfigurasi pelayan sebagai pelayan konfigurasi.
mongod -configdb ServerD: 27019
Langkah 3) Mulakan contoh mongos dengan menentukan pelayan konfigurasi
mongos -configdb ServerD: 27019
Langkah 4) Dari cengkerang mongo sambungkan ke contoh mongo
mongo -host ServerD -port 27017
Langkah 5) Sekiranya anda mempunyai Pelayan A dan Pelayan B yang perlu ditambahkan ke kluster, keluarkan arahan di bawah
sh.addShard("ServerA:27017")sh.addShard("ServerB:27017")
Langkah 6) Aktifkan pemecahan pangkalan data. Oleh itu, jika kita perlu membuang pangkalan data Employeedb, keluarkan arahan di bawah ini
sh.enableSharding(Employeedb)
Langkah 7) Aktifkan pelindung untuk koleksi. Oleh itu, jika kita perlu memotong koleksi Karyawan, keluarkan arahan di bawah
Sh.shardCollection("db.Employee" , { "Employeeid" : 1 , "EmployeeName" : 1})
Ringkasan:
- Seperti yang dijelaskan dalam tutorial, Sharding adalah konsep dalam MongoDB, yang membagi set data besar menjadi set data kecil di beberapa contoh MongoDB.