2009-10-12 9 views
8

मैं couchdb के बारे में बहुत कुछ सुनता हूं, लेकिन इसके बारे में कुछ दस्तावेज़ पढ़ने के बाद, मुझे अभी भी इसका उपयोग क्यों नहीं किया जाता है और कैसे।कॉचडब क्या है, इसके लिए मुझे इसका उपयोग कैसे करना चाहिए?

क्या आप मेरे लिए इस रहस्य को स्पष्ट कर सकते हैं?

+0

कृपया हमें संबोधित न करें जैसे यह एक मंच पोस्ट या ईमेल है। –

+2

मैंने अच्छा होने की कोशिश की, लेकिन अगर आपको यह पसंद नहीं है 没关系। – Natim

+1

मुझे लगता है कि जब आपका प्रश्न विनम्र ईमेल के रूप में संबोधित किया जाता है तो यह "कालातीत" नहीं लगता है। किसी भी तरह से, यह एक अच्छा इशारा था। –

उत्तर

12

यह एक गैर-रिलेशनल डेटाबेस, ओपन-सोर्स, वितरित (वृद्धिशील, द्विदिश प्रतिकृति), स्कीमा-मुक्त है। एक कॉच डीबी डेटाबेस दस्तावेजों का संग्रह है; प्रत्येक दस्तावेज़ स्ट्रिंग "कुंजी" और संबंधित "मान" का एक गुच्छा है (जो संख्याएं, तार, सूचियां, तिथियां, ... हो सकता है)। आपके पास सूचकांक, प्रश्न, विचार हो सकते हैं।

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

लेकिन यदि आपका पूरा काम खुशी से एक रिलेशनल डेटाबेस में फिट बैठता है, तो शायद आप उत्पादन कार्य के लिए उपयोग करना जारी रखना चाहते हैं (भले ही कुछ गैर-रिलेशनल डीबी के साथ "चारों ओर खेलना" अभी भी आपके समय के लायक है व्यक्तिगत विकास और उन्नयन, यह एक रिलेशनल डीबी से बड़े उत्पादन प्रणालियों को स्थानांतरित करने से काफी अलग है! -)।

+1

यह भी ध्यान दें कि कॉच डीबी संस्करणित है: प्रत्येक दस्तावेज़ का प्रत्येक संस्करण रखा जाता है और आप आसानी से पिछले संस्करण पर वापस जा सकते हैं। –

+7

@ डेलरोथ, आप पिछले संस्करणों को वापस करने के बारे में गलत हैं। कॉचडब एपीआई संदर्भ से: "आप सहमति नियंत्रण से किसी भी अन्य उद्देश्य के लिए दस्तावेज़ संशोधन पर भरोसा नहीं कर सकते हैं। कॉम्पैक्शन के कारण, संशोधन किसी भी समय गायब हो सकते हैं। आप क्लाइंट संशोधन प्रणाली के लिए उनका उपयोग नहीं कर सकते हैं।" – abbot

1

पढ़ने जाना चाहिए के शब्दों में wikipedia

से यह एक संबंधपरक डेटाबेस प्रबंधन प्रणाली नहीं है। पंक्तियों और स्तंभों में डेटा संग्रहीत करने के बजाय, डेटाबेस JSON दस्तावेज़ों का संग्रह प्रबंधित करता है। संग्रह में दस्तावेज़ों को स्कीमा साझा करने की आवश्यकता नहीं है, लेकिन विचारों के माध्यम से क्वेरी क्षमताओं को बनाए रखना चाहिए।

CouchDB, में यह तालिकाओं के भीतर पंक्तियों के रूप में डेटा का प्रतिनिधित्व नहीं करता है कि एक पारंपरिक संबंधपरक डेटाबेस से डेटा भंडारण के लिए एक अलग मॉडल उपलब्ध कराता है बजाय इसे "दस्तावेज़" JSON प्रारूप में के रूप में डेटा संग्रहीत करता है।

डाटा स्टोरेज मॉडल में यह अंतर है जो MySQL और SQL सर्वर जैसे उत्पादों से CouchDB को अलग करता है।

CouchDB को programatic पहुँच के संदर्भ में, यह आप अपने कोड से HTTP अनुरोध भेज कर उपयोग कर सकते हैं जो एक REST API को उजागर करता है

मुझे आशा है कि यह कुछ हद तक उपयोगी है, हालांकि मैं acknowlege यह मेरी कम से कम नहीं दी जा सकती है उत्पाद

+0

ठीक है, लेकिन जिसमें क्या मुझे किसी वेबसाइट में उदाहरण के लिए गैर-संबंध डेटाबेस का उपयोग करना चाहिए? – Natim

+0

@ नटिम जब आपके पास स्टोर करने के लिए डेटा है, लेकिन यह बहुत ही रिलेशनल नहीं है और आसानी से कठोर स्कीमा के अनुरूप नहीं है। –

+0

क्या आप मुझे एक उदाहरण दे सकते हैं? 'आसानी से एक कठोर स्कीमा' – Natim

1

मैं एक विशेषज्ञ से दूर कर रहा हूँ (सभी मेरे द्वारा की गई है यह कुछ ... के साथ चारों ओर खेलने) लेकिन यहाँ के साथ परिचित है कि कैसे मैं इसे का उपयोग करने का सोच रहा हूँ:

आमतौर पर जब मैं मैं एक ऐप डिज़ाइन कर रहा हूं मुझे लोड बैलेंसर के पीछे ऐप सर्वर का गुच्छा मिला है। अक्सर बार, मुझे चिपचिपा सत्र मिलते हैं ताकि प्रत्येक उपयोगकर्ता उस सत्र के दौरान उसी ऐप सर्वर पर वापस जा सके। मैं जो करने की सोच रहा हूं उसके पास प्रत्येक ऐप सर्वर से जुड़ा एक कॉचडब उदाहरण है।

इस तरह आप उस स्थानीय कॉचडब का उपयोग उपयोगकर्ता प्राथमिकताओं, उत्पाद डेटा तक पहुंचने के लिए कर सकते हैं ... जो भी डेटा आपको मिला है उसे पूरी तरह से अद्यतित नहीं होना चाहिए।

तो ... अब आपको इन स्थानीय कॉच डीबी पर डेटा मिला है। कॉच डीबी प्रतिकृति की अनुमति देता है। तो, प्रत्येक निश्चित समय अवधि, डेटा को वापस (प्रत्येक एक्स सेकंड?) को अपने सहकर्मियों में अद्यतित रखने के लिए मर्ज करें।

पूरी तरह से आपको विवादों के बारे में चिंता करने की ज़रूरत नहीं है b/c प्रत्येक ऐससेवर के पास स्वयं का कॉच डीबी है और उपयोगकर्ता एप्सर्वर से जुड़े हुए हैं, और आपको अंतिम स्थिरता मिली है क्योंकि आपको प्रतिकृति मिल गई है।

क्या यह आपके प्रश्न का उत्तर देता है?

+0

के अनुरूप नहीं है अगर मैं अच्छी तरह से समझता हूं, तो कॉच डीबी अपाचे के अंदर निर्मित है? तो जैसे ही आप एक अपाचे सर्वर से कनेक्शन प्राप्त करते हैं, तो आप अच्छे CouchDB सर्वर से कनेक्ट होने के लिए निश्चित हैं? एसक्यूएल सर्वर के साथ ऐसा करना मुश्किल क्यों है? – Natim

+0

1) नहीं, सोफेडीबी अपाचे के अंदर नहीं बनाया गया है ... लेकिन जो मैं सोच रहा हूं वह एक ऐपसेवर उदाहरण के लिए एक कॉचडब लगा रहा है। चूंकि कॉच डीबी नोड्स, सिद्धांत रूप में, दोहराए जाएंगे, हम किसी भी विवाद को रोकना चाहते हैं। लोड बैलेंसर्स और चिपचिपा सत्र यह सुनिश्चित करने का एक तरीका है कि डेटा नोड्स एक नोड में तब तक रहें जब तक कि यह शेष नोड्स तक प्रचारित न हो जाए। 2) ठीक है, मेरे दिमाग में, हाँ। मैं आपके फ़ायरवॉल के बाहर कोच डीबी का पर्दाफाश नहीं करूँगा क्योंकि वर्तमान में किसी भी व्यक्ति को सोफेडब डेटा के माध्यम से जाने और गड़बड़ करने से रोकने की कोई सुरक्षा नहीं है। 3) यह अधिक कठिन नहीं है ... मैं कहूंगा कि वे दोनों आसान हैं। –

1

एक अच्छा उदाहरण यह है कि जब आप कहते हैं कि किसी वेबसाइट या एप्लिकेशन में लोगों के डेटा से निपटना है। यदि आप डेटा को डिज़ाइन करने और व्यक्तियों की जानकारी को अलग रखने की इच्छा रखते हैं, तो यह कॉच डीबी के लिए एक अच्छा मामला बनाता है, जो संबंधपरक तालिकाओं के बजाय दस्तावेज़ों में डेटा संग्रहीत करता है। एक उत्पादन परिनियोजन में, मेरे उपयोगकर्ता 10% लोगों के बारे में विज्ञापन डेटा और कुछ अन्य मजेदार विवरणों को अन्य चयनित 5% के लिए जोड़ सकते हैं। एक संबंधपरक संदर्भ में, यह रिडंडेंसी के भार को जोड़ सकता है लेकिन कॉच डीबी के लिए नहीं।

और यह केवल इस तथ्य के बारे में नहीं है कि कॉच डीबी गैर-संबंधपरक है: यदि आप उस पर अधिक ध्यान केंद्रित कर रहे हैं, तो आप बिंदु खो रहे हैं। CouchDB को वेब में प्लग किया गया है, आपको केवल प्रारंभ करने की आवश्यकता है HTTP बनाने और बनाने के लिए HTTP (GET/PUT/POST/DELETE ...), और यह रीस्टफुल है, साथ ही तथ्य यह है कि यह सहकर्मी साझा करने के लिए सहकर्मी और महान है । यह 'कोचएप्स' के रूप में जाना जाने वाला वेब एप्लिकेशन भी प्रदान कर सकता है, जहां कॉच डीबी पूरी तरह से छवियों, सीएसएस, मार्कअप को डिज़ाइन दस्तावेजों नामक विशेष दस्तावेजों के तहत संग्रहीत डेटा के रूप में रखती है।

Check out this collection of videos introducing non-relational databases, the one on CouchDB should give you a better idea

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

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