2013-03-09 8 views
5

मैं एल्गोरिदम के बारे में प्रलेखन नहीं ढूंढ पा रहा हूं कि mongodb संग्रह या shard कुंजी के लिए उपयोग कर रहा है।mongodb shard key हैश एल्गोरिदम

क्या कोई इस के साथ मदद कर सकता है या कोई संदर्भ पोस्ट कर सकता है?

+3

आप स्रोत डाउनलोड कर सकते हैं और इसे पढ़ सकते हैं। – bmargulies

+0

क्या आप जो खोज रहे हैं उस पर आप स्पष्टीकरण दे सकते हैं? क्या आप समझ रहे हैं कि हैश शेर्डिंग कैसे काम करती है, या सिर्फ सामान्य रूप से संग्रहित संग्रह कैसे काम करते हैं? आपका शीर्षक "हैश" को संदर्भित करता है, जो कि एक विशिष्ट प्रकार का शेरिंग है, जबकि आपका प्रश्न विवरण यह दर्शाता है कि संग्रहित संग्रह सामान्य रूप से कैसे काम करते हैं। –

+0

यह आपको शुरू करना चाहिए, http://docs.mongodb.org/manual/core/sharding-shard-key/ MangoDB 2.4 के बाद से आप इन-बिल्ट हैश कुंजी का उपयोग कर सकते हैं, हालांकि यदि आप sharding कुंजी पर अधिक नियंत्रण चाहते हैं अपना खुद का निर्माण कर सकते हैं –

उत्तर

0

ठीकरा कुंजियों के बारे में आधिकारिक दस्तावेज़

http://docs.mongodb.org/manual/core/sharded-clusters/

है अपने 'एल्गोरिथ्म' क्लस्टर का मतलब है, तो आप के माध्यम से सहायता प्राप्त कर सकते हैं:

http://docs.mongodb.org/manual/core/sharded-cluster-operations/

2

आप में कैसे अधिक रुचि रखते हैं सामान्य कार्यों में अनुक्रमण इस प्रस्तुति को आंतरिक के बारे में जांचें: http://www.mongodb.com/presentations/storage-engine-internals या यह एक http://www.mongodb.com/presentations/mongodbs-storage-engine-bit-bit

एक व्यक्तिगत शार्ड क्लस्टर की पूरी संरचना के बारे में ज्यादा नहीं जानता है, यह आंतरिक रूप से उसी इंडेक्सिंग एल्गोरिदम का उपयोग करता है, केवल मेटाडेटा परत है जो जानता है कि कौन सा डेटापार्ट विशिष्ट शार्ड से संबंधित है।

कुछ विशेष मामलों में, जो इस डॉक्स में वर्णित हैं: http://docs.mongodb.org/manual/core/indexes/ तो जो इस तरह से शामिल नहीं है में प्रस्तुतियों ऊपर भू-स्थानिक अनुक्रमित और विशेष है जो टुकड़ों में बंटी सूचकांक (DOCS) है। यह एक भी ठीकरा कुंजी के रूप में प्रयोग किया जाता है किया जा सकता है और टुकड़ों में बांटा सूचकांक कहा जाता है और इस मामले में sharding हैश आधारित sharding.check THIS और THIS

बारे हैशिंग एल्गोरिथ्म जो इस के लिए प्रयोग किया जाता है है: इस फाइल में प्रयोग किया जाता md5: https://github.com/mongodb/mongo/blob/master/src/mongo/db/hasher.cpp

यहां लागू किया: https://github.com/mongodb/mongo/blob/master/src/mongo/util/md5.cpp

वर्तमान ठीकरा कुंजी के रूप में एक व्यक्ति के क्षेत्र में कम से कम इस https://github.com/mongodb/mongo/blob/master/src/mongo/db/index/hash_access_method.cpp स्रोत फ़ाइल में टिप्पणी से बाहर पढ़ा जा सकता है के लिए ही काम करता है।

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