Cara menggunakan MongoDB untuk melaksanakan replikasi data dan fungsi sharding
Pengenalan:
MongoDB ialah sistem pangkalan data NoSQL yang sangat popular dengan prestasi tinggi, berskala dan kebolehpercayaan. Dalam era data besar, pertumbuhan volum data adalah fenomena biasa, jadi replikasi dan sharding data telah menjadi fungsi utama untuk memastikan kebolehpercayaan dan prestasi data. Artikel ini akan memperkenalkan secara terperinci cara menggunakan MongoDB untuk melaksanakan replikasi dan pembahagian data, serta memberikan contoh kod yang sepadan.
1. Replikasi Data
Replikasi data adalah salah satu cara untuk memastikan kebolehpercayaan data dalam MongoDB Ia boleh memberikan sandaran data yang berlebihan untuk mengelakkan kehilangan data. MongoDB melaksanakan replikasi data melalui set replika, yang terdiri daripada berbilang nod, termasuk nod primer (utama) dan berbilang nod hamba (sekunder).
> rs.initiate()
Arahan ini akan memulakan set replika tempatan. Jika anda ingin mencipta set replika pada hos yang berbeza, anda boleh menggunakan bentuk arahan berikut:
> rs.initiate({_id: "replicaSet", members: [{_id: 0, host: "host1:port1"}, {_id: 1, host: "host2:port2"}, {_id: 2, host: "host3:port3"}]})
di mana "host1" kepada "host3" mewakili nama hos atau alamat IP yang berbeza, dan "port1" kepada "port3" mewakili nombor port yang berbeza. "_id" ialah pengecam unik set replika dan "ahli" ialah tatasusunan yang mengandungi maklumat tentang nod induk dan nod hamba.
> rs.add("host:port")
di mana "host" dan "port" mewakili hos dan nombor port nod hamba.
> rs.status()
Arahan ini boleh melihat status set replika, termasuk maklumat mengenai nod induk dan nod hamba.
Pengguna boleh melakukan operasi baca pada nod hamba melalui arahan berikut:
> db.collection.find()
di mana "koleksi" mewakili nama koleksi dan "cari()" mewakili mencari dokumen dalam keseluruhan koleksi.
2. Perkongsian Data
Perkongsian data ialah salah satu cara untuk memastikan kebolehskalaan data dalam MongoDB Ia boleh membahagikan data kepada berbilang serpihan dan menyimpannya pada pelayan serpihan yang berbeza. Setiap pelayan shard boleh mengurus dan memproses datanya sendiri secara bebas.
> mongod --shardsvr --replSet shard1 --port port
di mana "shard1" ialah nama pelayan shard dan "port" mewakili nombor port bagi pelayan serpihan.
> sh.addShard("host:port")
di mana "hos" dan "port" mewakili hos dan nombor port pelayan shard yang akan ditambahkan.
> sh.enableSharding("db")
di mana "db" mewakili pangkalan data untuk dipecahkan. .
> sh.shardCollection("db.collection", {"field": "hashed"})
di mana "koleksi" mewakili nama koleksi dan "cari()" mewakili mencari dokumen dalam keseluruhan koleksi.
> db.collection.find()
Atas ialah kandungan terperinci Cara menggunakan MongoDB untuk melaksanakan fungsi replikasi dan sharding data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!