2013-06-02 6 views
5

MongoDB 2.4, एक नई सुविधा है कि मैं सभी लोगों को देखने के आसपास के बारे में बात कर रहा है इसलिए यहाँ मेरी सवाल यह है:हैश इंडेक्स क्या है? (अगर वे सरल हैं खेद)

  • करता MongoDB उन्हें ठीकरा कुंजी निर्दिष्ट किए बिना प्रबंधन? या व्यवस्थापक कुंजी चुनता है?
  • क्या होस्टस्पॉट समस्या में होने का कोई जोखिम है, या डिस्क IO lags है क्योंकि हैश और हैश शब्द यादृच्छिक है?
+1

तुम अब भी एक महत्वपूर्ण निर्दिष्ट करने की आवश्यकता है, यह hashs, आंतरिक रूप से (क्या MongoDB देखता है) कुंजी। हैश इंडेक्स को विशेष रूप से हॉट स्पॉट समस्या को रोकने के लिए डिज़ाइन किया गया है, यह कैसे बनाया गया है, मुझे अभी तक – Sammaye

+0

के साथ कोई समस्या नहीं दिखाई दे रही है, इसलिए एक अतिरिक्त कुंजी MD5 (एक कुंजी) की शुरुआत से क्यों नहीं उपयोग करें, या यह बस जोड़ें जगह की बर्बादी? और जैसा कि मैंने पढ़ा है, यह डिस्क पढ़ने के लिए दर्दनाक है, क्योंकि यह यादृच्छिक है और स्मृति में नहीं रखा गया है? –

+1

क्योंकि यह उत्कृष्ट शार्ड कुंजी खोजने से भारी है, आपको केवल हश की आवश्यकता होती है जब आपको ऑब्जेक्ट आईडी – Sammaye

उत्तर

4

विचार (उदाहरण के लिए यह होगा- बढ़ रही है और हाल ही में प्रविष्टियों पर एक हॉटस्पॉट बनाने हैं) है कि आप एक क्षेत्र आप ठीकरा महत्वपूर्ण यह है कि बुरा लिखने वितरण देने के लिए होता है के रूप में उपयोग करना चाहते हैं पर एक टुकड़े किए गए सूचकांक बना सकते हैं ।

हैश इंडेक्स में संग्रहीत हैश 128 बिट एमडी 5 हैश के 64 बिट्स है। लक्ष्य हैशिंग तंत्र के बारे में जानने के लिए आवेदन के बिना कुंजी के हैश मूल्य द्वारा शेरिंग की अनुमति देना है।

आप इस यहाँ पर अधिक जानकारी प्राप्त कर सकते हैं: http://docs.mongodb.org/manual/core/sharded-cluster-internals/#sharding-hashed-shard-key-internals

+0

धन्यवाद, इस बारे में क्या "वर्कलोड के लिए जहां दस्तावेज़ों की श्रेणियां प्राप्त करना अधिक महत्वपूर्ण है (यानी सभी उपयोगकर्ताओं के हालिया दस्तावेज मिलते हैं), शर्ड कुंजी के अन्य विकल्प बेहतर अनुकूल हो सकते हैं।" http://blog.mongodb.org/post/47633823714/new-hash-based-sharding-feature-in-mongodb-2-4 –

+2

यह आपके द्वारा किए जा रहे प्रश्नों के प्रकार पर निर्भर करता है। यदि उनमें से एक बड़ा हिस्सा एकल शर्दी मूल्य (आईडी द्वारा) है तो आप ठीक हैं, या यदि उनमें से कुछ या पर्याप्त अन्य (अनुक्रमित) विशेषता हैं। समस्याग्रस्त मामला तब होगा जब आप हमेशा इस आईडी के इस आईडी की सीमा में रिकॉर्ड "से पूछते हैं - जो हैश इंडेक्स का उपयोग करने में सक्षम नहीं होगा। –

+0

और '_id' के बारे में क्या है क्योंकि mongodb स्वचालित रूप से उन्हें अनुक्रमित करता है, क्या यह उनके लिए एक शर्ट इंडेक्स भी स्वचालित रूप से जोड़ देगा? –

संबंधित मुद्दे