MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

मोंगो में प्रत्येक शार्ड के लिए शार्डिंग रेंज को कैसे परिभाषित करें?

तुम कर सकते हो। टुकड़ों को मैन्युअल रूप से पूर्व-विभाजित करना संभव है, इसका वर्णन यहां किया गया है:http://www। mongodb.org/display/DOCS/Splitting+Chunks

ध्यान से सोचें कि आप अपने टुकड़ों को कैसे विभाजित करते हैं। यदि आप इसे बुरी तरह से करते हैं तो आपको कई प्रदर्शन समस्याएं हो सकती हैं, लेकिन यदि आप अपनी चाबियों के बारे में पर्याप्त जानते हैं तो आप बहुत कुछ हासिल कर सकते हैं।

अगर आप ऐसा करते हैं तो आप शायद बैलेंसर को बंद करना चाहते हैं:

> use config
> db.settings.update({_id: "balancer"}, {$set: {stopped: true}}, true);

(यह यहां बताया गया है:http://www.mongodb.org/display/DOCS /शेयरिंग+प्रशासन )

यह एक उदाहरण है कि आप इसे कैसे कर सकते हैं। आप जो करना चाहते हैं उसके आधार पर आपको इसे संशोधित करना होगा (मुझे लगता है कि आपकी शार्ड कुंजी का नाम x नहीं है , उदाहरण के लिए, और आपकी सीमा -1000 से 2000 तक नहीं है)।

> use admin
> db.runCommand({split: "my_db.my_coll", middle: {x: 0}})
> db.runCommand({split: "my_db.my_coll", middle: {x: 1000}})
> db.runCommand({movechunk: "my_db.my_coll", find: {x:   -1}, to: "shard_1_name"})
> db.runCommand({movechunk: "my_db.my_coll", find: {x:    0}, to: "shard_2_name"})
> db.runCommand({movechunk: "my_db.my_coll", find: {x: 1000}, to: "shard_3_name"})

split आदेश विखंडू बनाते हैं। प्रत्येक कमांड मध्य मान वाले चंक को दो भागों में विभाजित करता है, इसलिए पहले खंड को विभाजित करता है जिसमें min_value -> max_value होता है min_value -> 0 . में और 0 -> max_value . फिर दूसरा कमांड 1000 वाले चंक को विभाजित करता है, पिछले कमांड द्वारा बनाए गए दूसरे चंक को दो नए चंक्स में विभाजित करता है। उस आदेश के बाद आपके पास तीन भाग होते हैं:

  • min_value -> 0
  • 0 -> 1000
  • 1000 -> max_value

निम्नलिखित तीन कमांड इन चंक्स को अलग-अलग शार्क में ले जाते हैं। डॉक्स का कहना है कि कमांड find . में मान वाले चंक को स्थानांतरित करेगा , इसलिए मैंने तीन मूल्यों को चुना जो मुझे पता है कि अलग-अलग हिस्सों में हैं और इनका उपयोग किया है (बीएसओएन में min_key के लिए एक प्रतीक है और max_key , लेकिन मुझे यकीन नहीं है कि इस संदर्भ में इसका सही तरीके से उपयोग कैसे किया जाए)।

इस पेज को भी पढ़ें http://www.mongodb.org/display/DOCS/Moving +चंक्स




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. उच्च उपलब्धता के लिए ओपन edX MongoDB डेटाबेस कैसे परिनियोजित करें

  2. AddToSet के साथ अपडेट करें MongoDB C# के साथ शून्य मान अपडेट नहीं कर रहा है

  3. _id . का उपयोग करके mLab संग्रह से किसी ऑब्जेक्ट को कैसे अपडेट करें

  4. मैं मोंगोडीबी सी # ड्राइवर का उपयोग करके मोंगोडीबी संग्रह की तारीख कैसे प्राप्त करूं?

  5. जांचें कि क्या सरणी में प्रत्येक तत्व स्थिति से मेल खाता है