2009-10-23 9 views
8

मैं अपने सिर को कोचडीबी और कैसंड्रा जैसे कुंजी-मूल्य स्टोरों के चारों ओर लपेटने की कोशिश कर रहा हूं। मैं समझता हूं कि वे क्यों उपयोगी हैं लेकिन जहां तक ​​वे आरडीबीएमएस जैसे MySQL को प्रतिस्थापित करते हैं, मुझे यह नहीं मिलता है।कुंजी-मूल्य स्टोर को समझना

चलो कहते हैं कि यह है चलो मेरी क्या मैं स्टोर करने के लिए की जरूरत है:

{123456: {'model' : 'Ford' 
      'color': 'blue' 
      'MPG': 23}} 

तब मैं सभी कारों है कि नीले रंग के होते खोजने की जरूरत है।

कुंजी-मूल्य स्टोर मूल्य का उपयोग करके कुंजी को कैसे क्वेरी करता है? मैंने कुछ पढ़ा जहां नक्शा-कमी का उपयोग किया जा सकता है लेकिन कुछ परियोजनाओं के स्रोत को देखते हुए मुझे एक उदाहरण नहीं मिल रहा है।

मुझे बताएं कि क्या मैं सही सवाल पूछ रहा हूं।

उत्तर

8

अनिवार्य रूप से, जब आप कुंजी-मान भंडार का उपयोग कर रहे हैं, तो आप एक ही घटक है कि एक संबंधपरक डेटाबेस आंतरिक रूप से है के बाहर एक डेटाबेस बना रहे हैं। ऐसा करने का कारण स्केलिंग और प्रदर्शन, या केवल सरलता के लिए अधिक नियंत्रण और लचीलापन होना है।

इस मामले में, आपको तालिका पंक्तियों और सूचकांक के बराबर दो अलग-अलग चीजों के रूप में स्टोर करने की आवश्यकता है। तो अगर आप रंग पर अनुक्रमित करना चाहते हैं, तो आप एक सूचकांक तालिका के बराबर में

{'blue': {123456}} 

स्टोर करने के लिए की जरूरत है।

बेशक, कुछ महत्वपूर्ण मूल्य स्टोर आपके लिए अनुक्रमण और खोज तंत्र प्रदान करते हैं, इसलिए कोई सामान्य नियम नहीं है जो सभी फिट बैठता है।

+0

क्या यह होना चाहिए: {{'रंग': 'नीला'}: [123456]} अन्यथा यह कैसे पता चलेगा कि नीला क्या संदर्भ दे रहा था। टेक्स्ट के बारे में क्या? {'Lorem ipsum dolor sit amet, consectetuer aditiscing elit ...': [123456]} कुंजी-मूल्य स्टोर खोजों की तरह कर सकते हैं? – user142006

+1

मैं मान रहा था कि सूचकांक में केवल एक कुंजी के रूप में रंग होना होगा। इसका विवरण उस कुंजी-मूल्य स्टोर पर निर्भर करता है जिसका आप उपयोग करने जा रहे हैं। आपने अपने उत्तर में दो अलग-अलग लोगों का उल्लेख किया है, इसलिए मैंने माना कि प्रश्न सामान्य कुंजी-मूल्य स्टोर प्रश्न से अधिक था। रेडिस, हाडोप, टोक्यो कैबिनेट, मेटाकिट, बर्कले डीबी, जीडीबीएम सभी प्रमुख मूल्य स्टोर्स के लिए अलग-अलग क्षमताओं प्रदान करते हैं। –

2

आप एक अलग कुंजी/मूल्य स्टोर को बनाए रखना चाहते हैं जो अनिवार्य रूप से एक सूचकांक है। इसमें कुंजी के रूप में "नीला" होगा, और उसके बाद "मुख्य" कारों की दुकानों से सभी आईडी की एक सूची नीली होगी।

हां, यह नियमित rdbms की अनुक्रमणिका कार्यक्षमता को डुप्लिकेट कर रहा है।

यह एक अच्छा लेख है कि कैसे मित्रफिड टीम ने इस समस्या से संपर्क किया और इस तर्क पर अपने तर्क के साथ बस गए (मुझे पता है, एक अजीब बात है क्योंकि उन्होंने आरडीबीएमएस को एक कुंजी/मूल्य स्टोर के रूप में इस्तेमाल किया था, लेकिन बात करने वाले अंक कर रहे हैं ध्वनि सिद्धांत):
http://bret.appspot.com/entry/how-friendfeed-uses-mysql

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