अपाचे काउचडीबी: Difference between revisions
(Created page with "{{Short description|Document-oriented NoSQL database}} {{Infobox software | name = Apache CouchDB | logo = Apache CouchDB logo.svg | logo size = 100px | screenshot = Apache Co...") |
No edit summary |
||
| Line 21: | Line 21: | ||
| license = [[Apache License 2.0]] | | license = [[Apache License 2.0]] | ||
}} | }} | ||
'''अपाचे काउचडीबी''' एक ओपन-सोर्स डॉक्यूमेंट-उन्मुख नोएसक्यूएल डेटाबेस है, जिसे एर्लैंग में कार्यान्वित किया गया है। | |||
काउचडीबी अपने डेटा को स्टोर करने, ट्रांसफर करने और प्रोसेस करने के लिए कई फॉर्मेट और प्रोटोकॉल का उपयोग करता है। यह डेटा संग्रहीत करने के लिए जेसन का उपयोग करता है, मैपरेड्युस का उपयोग करके अपनी क्वेरी भाषा के रूप में जावास्क्रिप्ट का उपयोग करता है, और एपीआई के लिए एचटीटीपी का उपयोग करता है।<ref name="official-website">{{cite web|url=http://couchdb.apache.org/|title=अपाचे काउचडीबी|last=Apache Software Foundation|access-date=15 April 2012}}</ref> | |||
[[ | CouchDB पहली बार 2005 में जारी किया गया था और बाद में 2008 में [[अपाचे सॉफ्टवेयर फाउंडेशन]] प्रोजेक्ट बन गया था। | ||
CouchDB [[बहुसंस्करण समवर्ती नियंत्रण]] (MVCC) का एक रूप लागू करता है, इसलिए यह लिखने के दौरान डेटाबेस फ़ाइल को लॉक नहीं करता है। विवादों को हल करने के लिए आवेदन पर छोड़ दिया गया है। किसी विरोध को हल करने में आम तौर पर पहले डेटा को किसी एक | |||
अन्य विशेषताओं में अंतिम स्थिरता के साथ | [[ संबंध का डेटाबेस | संबंध का डेटाबेस]] के विपरीत, CouchDB डेटाबेस डेटा और रिश्तों को तालिकाओं में संग्रहीत नहीं करता है। इसके बजाय, प्रत्येक डेटाबेस स्वतंत्र डॉक्यूमेंटों का एक संग्रह है। प्रत्येक डॉक्यूमेंट अपना स्वयं का डेटा और स्व-निहित स्कीमा बनाए रखता है। एक एप्लिकेशन कई डेटाबेस तक पहुंच सकता है, जैसे एक उपयोगकर्ता के मोबाइल फोन पर संग्रहीत और दूसरा सर्वर पर। डॉक्यूमेंट मेटाडेटा में संशोधन जानकारी शामिल है, जिससे डेटाबेस के डिस्कनेक्ट होने के दौरान होने वाले किसी भी अंतर को मर्ज करना संभव हो जाता है। | ||
CouchDB [[बहुसंस्करण समवर्ती नियंत्रण]] (MVCC) का एक रूप लागू करता है, इसलिए यह लिखने के दौरान डेटाबेस फ़ाइल को लॉक नहीं करता है। विवादों को हल करने के लिए आवेदन पर छोड़ दिया गया है। किसी विरोध को हल करने में आम तौर पर पहले डेटा को किसी एक डॉक्यूमेंट में मर्ज करना, फिर पुराने डॉक्यूमेंट को हटाना शामिल होता है।<ref>{{cite web|last=Smith|first=Jason|title=What is the CouchDB replication protocol? Is it like Git?|url=https://stackoverflow.com/a/4766398/395287|work=StackOverflow|publisher=Stack Exchange|access-date=14 April 2012}}</ref> | |||
अन्य विशेषताओं में अंतिम स्थिरता के साथ डॉक्यूमेंट-स्तरीय [[ACID]] शब्दार्थ, (वृद्धिशील) MapReduce, और (वृद्धिशील) प्रतिकृति शामिल हैं। CouchDB की विशिष्ट विशेषताओं में से एक [[मल्टी-मास्टर प्रतिकृति]] है, जो इसे उच्च-प्रदर्शन सिस्टम बनाने के लिए सभी मशीनों में स्केल करने की अनुमति देती है। फ़ॉक्सटन (पूर्व में फ़्यूटन) नामक एक अंतर्निहित वेब एप्लिकेशन प्रशासन में सहायता करता है। | |||
== इतिहास == | == इतिहास == | ||
| Line 46: | Line 48: | ||
; प्रतिकृति के साथ वितरित वास्तुकला | ; प्रतिकृति के साथ वितरित वास्तुकला | ||
: CouchDB को द्वि-दिशात्मक प्रतिकृति (या सिंक्रनाइज़ेशन) और ऑफ़लाइन ऑपरेशन को ध्यान में रखकर डिज़ाइन किया गया था। इसका मतलब है कि एकाधिक प्रतिकृतियां एक ही डेटा की अपनी प्रतियां रख सकती हैं, इसे संशोधित कर सकती हैं, और फिर बाद में उन परिवर्तनों को सिंक कर सकती हैं। | : CouchDB को द्वि-दिशात्मक प्रतिकृति (या सिंक्रनाइज़ेशन) और ऑफ़लाइन ऑपरेशन को ध्यान में रखकर डिज़ाइन किया गया था। इसका मतलब है कि एकाधिक प्रतिकृतियां एक ही डेटा की अपनी प्रतियां रख सकती हैं, इसे संशोधित कर सकती हैं, और फिर बाद में उन परिवर्तनों को सिंक कर सकती हैं। | ||
; | ; डॉक्यूमेंट भंडारण | ||
: CouchDB डेटा को | : CouchDB डेटा को डॉक्यूमेंटों के रूप में संग्रहीत करता है, JSON के रूप में व्यक्त एक या अधिक फ़ील्ड/मूल्य जोड़े के रूप में। फ़ील्ड मान स्ट्रिंग, संख्या या दिनांक जैसी सरल चीजें हो सकते हैं; लेकिन ऐरे डेटा संरचना और सहयोगी ऐरे का भी उपयोग किया जा सकता है। CouchDB डेटाबेस में प्रत्येक डॉक्यूमेंट की एक अद्वितीय आईडी होती है और कोई आवश्यक डॉक्यूमेंट स्कीमा नहीं होता है। | ||
; अंततः संगति | ; अंततः संगति | ||
: CouchDB उपलब्धता और विभाजन सहनशीलता दोनों प्रदान करने में सक्षम होने के लिए अंतिम स्थिरता की गारंटी देता है। | : CouchDB उपलब्धता और विभाजन सहनशीलता दोनों प्रदान करने में सक्षम होने के लिए अंतिम स्थिरता की गारंटी देता है। | ||
; मानचित्र/दृश्य और अनुक्रमणिका कम करें | ; मानचित्र/दृश्य और अनुक्रमणिका कम करें | ||
: संग्रहीत डेटा को दृश्यों का उपयोग करके संरचित किया जाता है। CouchDB में, प्रत्येक दृश्य का निर्माण एक जावास्क्रिप्ट फ़ंक्शन द्वारा किया जाता है जो मानचित्र के आधे भाग (उच्च-क्रम फ़ंक्शन)/रिड्यूस ऑपरेशन के रूप में कार्य करता है। फ़ंक्शन एक | : संग्रहीत डेटा को दृश्यों का उपयोग करके संरचित किया जाता है। CouchDB में, प्रत्येक दृश्य का निर्माण एक जावास्क्रिप्ट फ़ंक्शन द्वारा किया जाता है जो मानचित्र के आधे भाग (उच्च-क्रम फ़ंक्शन)/रिड्यूस ऑपरेशन के रूप में कार्य करता है। फ़ंक्शन एक डॉक्यूमेंट लेता है और उसे वापस लौटाए जाने वाले एकल मान में बदल देता है। CouchDB दृश्यों को अनुक्रमित कर सकता है और उन अनुक्रमणिकाओं को डॉक्यूमेंटों के जोड़े जाने, हटाए जाने या अद्यतन किए जाने पर अद्यतन रख सकता है। | ||
; HTTP एपीआई | ; HTTP एपीआई | ||
: सभी आइटम में एक अद्वितीय यूआरआई होता है जो HTTP के माध्यम से उजागर होता है। यह सभी संसाधनों पर चार बुनियादी क्रिएट, रीड, अपडेट और डिलीट (क्रिएट, रीड, अपडेट, डिलीट) संचालन के लिए हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल#रिक्वेस्ट विधियों POST, GET, PUT और DELETE का उपयोग करता है। | : सभी आइटम में एक अद्वितीय यूआरआई होता है जो HTTP के माध्यम से उजागर होता है। यह सभी संसाधनों पर चार बुनियादी क्रिएट, रीड, अपडेट और डिलीट (क्रिएट, रीड, अपडेट, डिलीट) संचालन के लिए हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल#रिक्वेस्ट विधियों POST, GET, PUT और DELETE का उपयोग करता है। | ||
| Line 81: | Line 83: | ||
== डेटा हेरफेर: | == डेटा हेरफेर: डॉक्यूमेंट और विचार == | ||
CouchDB JSON | CouchDB JSON डॉक्यूमेंटों के संग्रह का प्रबंधन करता है। डॉक्यूमेंटों को दृश्यों के माध्यम से व्यवस्थित किया जाता है। दृश्यों को [[समग्र कार्य]]ों के साथ परिभाषित किया जाता है और फ़िल्टर की गणना समानांतर में की जाती है, बिल्कुल MapReduce की तरह। | ||
दृश्य आम तौर पर डेटाबेस में संग्रहीत होते हैं और उनकी अनुक्रमणिकाएँ लगातार अद्यतन की जाती हैं। CouchDB बाहरी सॉकेट सर्वर और JSON-आधारित प्रोटोकॉल का उपयोग करके एक व्यू सिस्टम का समर्थन करता है।<ref name="Apache, View Server" >[http://wiki.apache.org/couchdb/ViewServer View Server Documentation] {{Webarchive|url=https://web.archive.org/web/20081020160035/http://wiki.apache.org/couchdb/ViewServer |date=2008-10-20 }} on wiki.apache.org</ref> परिणामस्वरूप, व्यू सर्वर विभिन्न भाषाओं में विकसित किए गए हैं (जावास्क्रिप्ट डिफ़ॉल्ट है, लेकिन PHP, रूबी, पायथन और एरलांग भी हैं)। | दृश्य आम तौर पर डेटाबेस में संग्रहीत होते हैं और उनकी अनुक्रमणिकाएँ लगातार अद्यतन की जाती हैं। CouchDB बाहरी सॉकेट सर्वर और JSON-आधारित प्रोटोकॉल का उपयोग करके एक व्यू सिस्टम का समर्थन करता है।<ref name="Apache, View Server" >[http://wiki.apache.org/couchdb/ViewServer View Server Documentation] {{Webarchive|url=https://web.archive.org/web/20081020160035/http://wiki.apache.org/couchdb/ViewServer |date=2008-10-20 }} on wiki.apache.org</ref> परिणामस्वरूप, व्यू सर्वर विभिन्न भाषाओं में विकसित किए गए हैं (जावास्क्रिप्ट डिफ़ॉल्ट है, लेकिन PHP, रूबी, पायथन और एरलांग भी हैं)। | ||
| Line 181: | Line 183: | ||
== यह भी देखें == | == यह भी देखें == | ||
{{Portal|Free and open-source software}} | {{Portal|Free and open-source software}} | ||
* | * डॉक्यूमेंट-उन्मुख डेटाबेस | ||
* [[एक्सएमएल डेटाबेस]] | * [[एक्सएमएल डेटाबेस]] | ||
Revision as of 10:11, 4 July 2023
CouchDB's Fauxton Administration Interface, User database | |
| Original author(s) | Damien Katz, Jan Lehnardt, Naomi Slater, Christopher Lenz, J. Chris Anderson, Paul Davis, Adam Kocoloski, Jason Davies, Benoît Chesneau, Filipe Manana, Robert Newson |
|---|---|
| Developer(s) | Apache Software Foundation |
| Initial release | 2005 |
| Stable release | Script error: The module returned a nil value. It is supposed to return an export table.
/ Script error: The module returned a nil value. It is supposed to return an export table. |
| Written in | Erlang, JavaScript, C, C++ |
| Operating system | Cross-platform |
| Type | Document-oriented database |
| License | Apache License 2.0 |
अपाचे काउचडीबी एक ओपन-सोर्स डॉक्यूमेंट-उन्मुख नोएसक्यूएल डेटाबेस है, जिसे एर्लैंग में कार्यान्वित किया गया है।
काउचडीबी अपने डेटा को स्टोर करने, ट्रांसफर करने और प्रोसेस करने के लिए कई फॉर्मेट और प्रोटोकॉल का उपयोग करता है। यह डेटा संग्रहीत करने के लिए जेसन का उपयोग करता है, मैपरेड्युस का उपयोग करके अपनी क्वेरी भाषा के रूप में जावास्क्रिप्ट का उपयोग करता है, और एपीआई के लिए एचटीटीपी का उपयोग करता है।[1]
CouchDB पहली बार 2005 में जारी किया गया था और बाद में 2008 में अपाचे सॉफ्टवेयर फाउंडेशन प्रोजेक्ट बन गया था।
संबंध का डेटाबेस के विपरीत, CouchDB डेटाबेस डेटा और रिश्तों को तालिकाओं में संग्रहीत नहीं करता है। इसके बजाय, प्रत्येक डेटाबेस स्वतंत्र डॉक्यूमेंटों का एक संग्रह है। प्रत्येक डॉक्यूमेंट अपना स्वयं का डेटा और स्व-निहित स्कीमा बनाए रखता है। एक एप्लिकेशन कई डेटाबेस तक पहुंच सकता है, जैसे एक उपयोगकर्ता के मोबाइल फोन पर संग्रहीत और दूसरा सर्वर पर। डॉक्यूमेंट मेटाडेटा में संशोधन जानकारी शामिल है, जिससे डेटाबेस के डिस्कनेक्ट होने के दौरान होने वाले किसी भी अंतर को मर्ज करना संभव हो जाता है।
CouchDB बहुसंस्करण समवर्ती नियंत्रण (MVCC) का एक रूप लागू करता है, इसलिए यह लिखने के दौरान डेटाबेस फ़ाइल को लॉक नहीं करता है। विवादों को हल करने के लिए आवेदन पर छोड़ दिया गया है। किसी विरोध को हल करने में आम तौर पर पहले डेटा को किसी एक डॉक्यूमेंट में मर्ज करना, फिर पुराने डॉक्यूमेंट को हटाना शामिल होता है।[2] अन्य विशेषताओं में अंतिम स्थिरता के साथ डॉक्यूमेंट-स्तरीय ACID शब्दार्थ, (वृद्धिशील) MapReduce, और (वृद्धिशील) प्रतिकृति शामिल हैं। CouchDB की विशिष्ट विशेषताओं में से एक मल्टी-मास्टर प्रतिकृति है, जो इसे उच्च-प्रदर्शन सिस्टम बनाने के लिए सभी मशीनों में स्केल करने की अनुमति देती है। फ़ॉक्सटन (पूर्व में फ़्यूटन) नामक एक अंतर्निहित वेब एप्लिकेशन प्रशासन में सहायता करता है।
इतिहास
काउच अविश्वसनीय कमोडिटी हार्डवेयर के क्लस्टर का संक्षिप्त रूप है।[3] CouchDB प्रोजेक्ट अप्रैल 2005 में IBM के पूर्व लोटस नोट्स डेवलपर डेमियन काट्ज़ द्वारा बनाया गया था। उन्होंने इस परियोजना को लगभग दो वर्षों तक स्व-वित्त पोषित किया और इसे जीएनयू जनरल पब्लिक लाइसेंस के तहत एक ओपन-सोर्स प्रोजेक्ट के रूप में जारी किया।
फरवरी 2008 में, यह अपाचे इनक्यूबेटर प्रोजेक्ट बन गया और इसके बजाय अपाचे लाइसेंस के तहत पेश किया गया।[4] कुछ महीनों के बाद, यह एक शीर्ष-स्तरीय परियोजना में शामिल हो गया।[5] इसके परिणामस्वरूप जुलाई 2010 में पहला स्थिर संस्करण जारी किया गया।[6] 2012 की शुरुआत में, काट्ज़ ने काउचबेस सर्वर पर ध्यान केंद्रित करने के लिए परियोजना छोड़ दी।[7] काट्ज़ के जाने के बाद से, अपाचे काउचडीबी परियोजना जारी रही, अप्रैल 2012 में 1.2 और अप्रैल 2013 में 1.3 जारी किया गया। जुलाई 2013 में, काउचडीबी समुदाय ने बिगकाउच, धुंधलापन के काउचडीबी के क्लस्टर संस्करण के लिए कोडबेस को अपाचे परियोजना में विलय कर दिया।[8] बिगकाउच क्लस्टरिंग फ्रेमवर्क अपाचे काउचडीबी की वर्तमान रिलीज में शामिल है।[9] नेटिव क्लस्टरिंग संस्करण 2.0.0 पर समर्थित है। और नया मैंगो क्वेरी सर्वर जावास्क्रिप्ट या मैपरेडस के बिना CouchDB क्वेरी करने का एक सरल JSON-आधारित तरीका प्रदान करता है।
मुख्य विशेषताएं
- एसिड शब्दार्थ
- CouchDB परमाणुता, स्थिरता, अलगाव, स्थायित्व शब्दार्थ प्रदान करता है।[10] यह बहु-संस्करण समवर्ती नियंत्रण के एक फॉर्म को लागू करके ऐसा करता है, जिसका अर्थ है कि CouchDB बिना किसी विरोध के समवर्ती पाठकों और लेखकों की उच्च मात्रा को संभाल सकता है।
- ऑफ़लाइन के लिए निर्मित
- CouchDB उन उपकरणों (जैसे स्मार्टफोन) की नकल कर सकता है जो ऑफ़लाइन हो सकते हैं और डिवाइस के वापस ऑनलाइन होने पर आपके लिए डेटा सिंक को संभाल सकते हैं।
- प्रतिकृति के साथ वितरित वास्तुकला
- CouchDB को द्वि-दिशात्मक प्रतिकृति (या सिंक्रनाइज़ेशन) और ऑफ़लाइन ऑपरेशन को ध्यान में रखकर डिज़ाइन किया गया था। इसका मतलब है कि एकाधिक प्रतिकृतियां एक ही डेटा की अपनी प्रतियां रख सकती हैं, इसे संशोधित कर सकती हैं, और फिर बाद में उन परिवर्तनों को सिंक कर सकती हैं।
- डॉक्यूमेंट भंडारण
- CouchDB डेटा को डॉक्यूमेंटों के रूप में संग्रहीत करता है, JSON के रूप में व्यक्त एक या अधिक फ़ील्ड/मूल्य जोड़े के रूप में। फ़ील्ड मान स्ट्रिंग, संख्या या दिनांक जैसी सरल चीजें हो सकते हैं; लेकिन ऐरे डेटा संरचना और सहयोगी ऐरे का भी उपयोग किया जा सकता है। CouchDB डेटाबेस में प्रत्येक डॉक्यूमेंट की एक अद्वितीय आईडी होती है और कोई आवश्यक डॉक्यूमेंट स्कीमा नहीं होता है।
- अंततः संगति
- CouchDB उपलब्धता और विभाजन सहनशीलता दोनों प्रदान करने में सक्षम होने के लिए अंतिम स्थिरता की गारंटी देता है।
- मानचित्र/दृश्य और अनुक्रमणिका कम करें
- संग्रहीत डेटा को दृश्यों का उपयोग करके संरचित किया जाता है। CouchDB में, प्रत्येक दृश्य का निर्माण एक जावास्क्रिप्ट फ़ंक्शन द्वारा किया जाता है जो मानचित्र के आधे भाग (उच्च-क्रम फ़ंक्शन)/रिड्यूस ऑपरेशन के रूप में कार्य करता है। फ़ंक्शन एक डॉक्यूमेंट लेता है और उसे वापस लौटाए जाने वाले एकल मान में बदल देता है। CouchDB दृश्यों को अनुक्रमित कर सकता है और उन अनुक्रमणिकाओं को डॉक्यूमेंटों के जोड़े जाने, हटाए जाने या अद्यतन किए जाने पर अद्यतन रख सकता है।
- HTTP एपीआई
- सभी आइटम में एक अद्वितीय यूआरआई होता है जो HTTP के माध्यम से उजागर होता है। यह सभी संसाधनों पर चार बुनियादी क्रिएट, रीड, अपडेट और डिलीट (क्रिएट, रीड, अपडेट, डिलीट) संचालन के लिए हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल#रिक्वेस्ट विधियों POST, GET, PUT और DELETE का उपयोग करता है।
CouchDB फ़ॉक्सटन नामक वेब के माध्यम से सुलभ एक अंतर्निहित प्रशासन इंटरफ़ेस भी प्रदान करता है।[11]
मामलों और उत्पादन परिनियोजन का उपयोग करें
CouchDB की प्रतिकृति और सिंक्रनाइज़ेशन क्षमताएं इसे मोबाइल उपकरणों में उपयोग करने के लिए आदर्श बनाती हैं, जहां नेटवर्क कनेक्शन की गारंटी नहीं है, और एप्लिकेशन को ऑफ़लाइन काम करते रहना चाहिए।
CouchDB उन अनुप्रयोगों के लिए उपयुक्त है जिनमें डेटा जमा होता है, कभी-कभी बदलता रहता है, जिस पर पूर्व-परिभाषित क्वेरी चलायी जानी हैं और जहां संस्करण बनाना महत्वपूर्ण है (उदाहरण के लिए सीआरएम, सीएमएस सिस्टम)। मास्टर-मास्टर प्रतिकृति एक विशेष रूप से दिलचस्प सुविधा है, जो आसान मल्टी-साइट तैनाती की अनुमति देती है।[12]
उपयोगकर्ता
CouchDB के उपयोगकर्ताओं में शामिल हैं:
- CERN लार्ज हैड्रान कोलाइडर में डेटा प्रबंधन प्रणाली के लिए डेटाबेस के रूप में CouchDB का उपयोग करता है।[13]
- रेड क्रॉस आपदा क्षेत्रों में इलेक्ट्रॉनिक रूप से केसवर्क पूरा करने के लिए iDAT एप्लिकेशन का उपयोग करता है। यहां CouchDB का उपयोग मल्टी-नोड पीयर-टू-पीयर ऑफ़लाइन-प्रथम डेटाबेस के रूप में किया जाता है।[14]
- आईबीएम क्लाउड सेवाएं बुनियादी स्तर पर CouchDB पर आधारित हैं।[15]
- यूनाइटेड एयरलाइन्स 3,000 से अधिक विमानों में उड़ान के दौरान मनोरंजन प्रणालियों के लिए CouchDB का उपयोग करती है।[16][17]
- एमॅड्यूस आईटी समूह, उनके कुछ बैक-एंड सिस्टम के लिए।[citation needed]
- स्विस क्रेडिट , कमोडिटी विभाग में उनके बाज़ार ढांचे के लिए आंतरिक उपयोग के लिए।[18][better source needed]
- मीबो, उनके सोशल प्लेटफॉर्म (वेब और एप्लिकेशन) के लिए।[citation needed] Google द्वारा Meebo का अधिग्रहण कर लिया गया और अधिकांश उत्पाद 12 जुलाई 2012 को बंद कर दिए गए।[19]
- npm (सॉफ्टवेयर) अपने पैकेज रजिस्ट्री के लिए प्रतिकृति डेटाबेस के रूप में CouchDB का उपयोग करता है।[20]
- सोफोस, उनके कुछ बैक-एंड सिस्टम के लिए।[citation needed]
- बीबीसी, एक गतिशील सीएमएस-प्लेटफ़ॉर्म के लिए।[21]
- कैनोनिकल (कंपनी) ने 2009 में अपनी सिंक्रोनाइज़ेशन सेवा उबंटू वन के लिए इसका उपयोग शुरू किया,[22] लेकिन नवंबर 2011 में इसका उपयोग बंद कर दिया।[23]
- नहर+|कैनाल+, कैनाल+ ओवरसीज में अंतरराष्ट्रीय ऑन-डिमांड प्लेटफॉर्म के लिए।
- प्रोटोग्रिड, उनके तीव्र अनुप्रयोग विकास ढांचे के लिए स्टोरेज बैक-एंड के रूप में [24]
डेटा हेरफेर: डॉक्यूमेंट और विचार
CouchDB JSON डॉक्यूमेंटों के संग्रह का प्रबंधन करता है। डॉक्यूमेंटों को दृश्यों के माध्यम से व्यवस्थित किया जाता है। दृश्यों को समग्र कार्यों के साथ परिभाषित किया जाता है और फ़िल्टर की गणना समानांतर में की जाती है, बिल्कुल MapReduce की तरह।
दृश्य आम तौर पर डेटाबेस में संग्रहीत होते हैं और उनकी अनुक्रमणिकाएँ लगातार अद्यतन की जाती हैं। CouchDB बाहरी सॉकेट सर्वर और JSON-आधारित प्रोटोकॉल का उपयोग करके एक व्यू सिस्टम का समर्थन करता है।[25] परिणामस्वरूप, व्यू सर्वर विभिन्न भाषाओं में विकसित किए गए हैं (जावास्क्रिप्ट डिफ़ॉल्ट है, लेकिन PHP, रूबी, पायथन और एरलांग भी हैं)।
HTTP के माध्यम से डेटा तक पहुंच
एप्लिकेशन HTTP के माध्यम से CouchDB के साथ इंटरैक्ट करते हैं। निम्नलिखित कमांड-लाइन उपयोगिता cURL का उपयोग करके कुछ उदाहरण प्रदर्शित करता है। ये उदाहरण मानते हैं कि CouchDB पोर्ट 5984 पर स्थानीय होस्ट (127.0.0.1) पर चल रहा है।
| Action | Request | Response |
|---|---|---|
| Accessing server information | curl http://127.0.0.1:5984/
|
{
"couchdb": "Welcome",
"version":"1.1.0"
}
|
| Creating a database named wiki | curl -X PUT http://127.0.0.1:5984/wiki
|
{"ok": true}
|
| Attempting to create a second database named wiki | curl -X PUT http://127.0.0.1:5984/wiki
|
{
"error":"file_exists",
"reason":"The database could not be created, the file already exists."
}
|
| Retrieve information about the wiki database | curl http://127.0.0.1:5984/wiki
|
{
"db_name": "wiki",
"doc_count": 0,
"doc_del_count": 0,
"update_seq": 0,
"purge_seq": 0,
"compact_running": false,
"disk_size": 79,
"instance_start_time": "1272453873691070",
"disk_format_version": 5
}
|
| Delete the database wiki | curl -X DELETE http://127.0.0.1:5984/wiki
|
{"ok": true}
|
| Create a document, asking CouchDB to supply a document id | curl -X POST -H "Content-Type: application/json" --data \
'{ "text" : "Wikipedia on CouchDB", "rating": 5 }' \
http://127.0.0.1:5984/wiki
|
{
"ok": true,
"id": "123BAC",
"rev": "946B7D1C"
}
|
| get a list of databases | curl http://127.0.0.1:5984/_all_dbs
|
["_replicator","_users","wiki"]
|
मुक्त स्रोत घटक
CouchDB में इसके डिफ़ॉल्ट पैकेज के हिस्से के रूप में कई अन्य ओपन सोर्स प्रोजेक्ट शामिल हैं।
| Component | Description | License |
|---|---|---|
| Erlang | Erlang is a general-purpose concurrent programming language and runtime system. The sequential subset of Erlang is a functional language with strict evaluation, single assignment, and dynamic typing | Apache 2.0 (Release 18.0 and later) Erlang Public License (Earlier releases) |
| ICU | International Components for Unicode (ICU) is an open-source project of mature C/C++ and Java libraries for Unicode support, software internationalization and software globalization | Unicode License |
| jQuery | jQuery is a lightweight cross-browser JavaScript library that emphasizes interaction between JavaScript and HTML | MIT License |
| OpenSSL | OpenSSL is an open-source implementation of the SSL and TLS protocols. The core library (written in the C programming language) implements the basic cryptographic functions and provides various utility functions | Apache 1.0 and the four-clause BSD License |
| SpiderMonkey | SpiderMonkey is a performant JavaScript engine maintained by the Mozilla Foundation. It contains an interpreter, a JIT compiler and a garbage collector | MPL 2.0 |
यह भी देखें
- डॉक्यूमेंट-उन्मुख डेटाबेस
- एक्सएमएल डेटाबेस
संदर्भ
- ↑ Apache Software Foundation. "अपाचे काउचडीबी". Retrieved 15 April 2012.
- ↑ Smith, Jason. "What is the CouchDB replication protocol? Is it like Git?". StackOverflow. Stack Exchange. Retrieved 14 April 2012.
- ↑ "काउचडीबी की खोज". Developer Works. IBM. March 31, 2009. Retrieved September 30, 2016.
- ↑ Apache mailing list announcement on mail-archives.apache.org
- ↑ Re: Proposed Resolution: Establish CouchDB TLP on mail-archives.apache.org
- ↑ "CouchDB NoSQL Database Ready for Production Use", article from PC World of July 2010
- ↑ Katz, Damien. "CouchDB का भविष्य". Retrieved 15 April 2012.
- ↑ Slater, Noah. "बिगकाउच में आपका स्वागत है". Retrieved 25 July 2013.
- ↑ "'2.0'". 20 September 2016. Retrieved 13 January 2017.
- ↑ CouchDB, Technical Overview Archived October 20, 2011, at the Wayback Machine
- ↑ "काउचडीबी-फॉक्सटन". GitHub. apache. Retrieved 2 May 2023.
- ↑ Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase comparison from Kristóf Kovács
- ↑ "लार्ज हैड्रॉन कोलाइडर वैज्ञानिक CouchDB का उपयोग क्यों कर रहे हैं?". ReadWrite (in English). 2010-08-26. Retrieved 2022-03-29.
- ↑ iDAT, Red Cross Code, 2021-07-31, retrieved 2022-03-29
- ↑ "डेटाबेस-डीप-डाइव्स-काउचडीबी". www.ibm.com (in English). Retrieved 2022-03-29.
- ↑ "डेटाबेस-डीप-डाइव्स-काउचडीबी". www.ibm.com (in English). Retrieved 2022-03-29.
- ↑ "United Airlines Streamlines Operations With Couchbase | Case Study". www.couchbase.com. Retrieved 2022-03-29.
- ↑ "CouchDB in the wild" Archived 2017-07-20 at the Wayback Machine article of the product's Web, a list of software projects and websites using CouchDB
- ↑ Cutler, Kim-Mai (9 June 2012). "Meebo Gets The Classic Google Acq-hire Treatment: Most Products To Shut Down Soon". TechCrunch. AOL Inc. Retrieved 7 January 2016.
- ↑ "एनपीएम-रजिस्ट्री-काउचएप". GitHub. npm. 17 June 2015. Retrieved 7 January 2016.
- ↑ CouchDB at the BBC as a fault tolerant, scalable, multi-data center key-value store
- ↑ Email from Elliot Murphy (Canonical) Archived 2011-05-05 at the Wayback Machine to the CouchDB-Devel list
- ↑ Canonical Drops CouchDB From Ubuntu One (Slashdot)
- ↑ "Protogrid - Über uns".
- ↑ View Server Documentation Archived 2008-10-20 at the Wayback Machine on wiki.apache.org
ग्रन्थसूची
- Anderson, J. Chris; Slater, Noah; Lehnardt, Jan (November 15, 2009), CouchDB: The Definitive Guide (1st ed.), O'Reilly Media, p. 300, ISBN 978-0-596-15816-3
- Lennon, Joe (December 15, 2009), Beginning CouchDB (1st ed.), Apress, p. 300, ISBN 978-1-4302-7237-3, archived from the original on December 5, 2010, retrieved November 1, 2009
- Holt, Bradley (March 7, 2011), Writing and Querying MapReduce Views in CouchDB (1st ed.), O'Reilly Media, p. 76, ISBN 978-1-4493-0312-9
- Holt, Bradley (April 11, 2011), Scaling CouchDB (1st ed.), O'Reilly Media, p. 72, ISBN 978-1-4493-0343-3
- Brown, MC (October 31, 2011), Getting Started with CouchDB (1st ed.), O'Reilly Media, p. 50, ISBN 978-1-4493-0755-4
- Thompson, Mick (August 2, 2011), Getting Started with GEO, CouchDB, and Node.js (1st ed.), O'Reilly Media, p. 64, ISBN 978-1-4493-0752-3
बाहरी संबंध
- Official website
- CouchDB: The Definitive Guide
- Complete HTTP API Reference
- Simple PHP5 library to communicate with CouchDB
- Asynchronous CouchDB client for Java
- Asynchronous CouchDB client for Scala
- Lehnardt, Jan (2008). "Couch DB at 10,000 feet". Erlang eXchange 2008. Archived from the original on 9 November 2012. Retrieved 15 April 2012.
- Lenhardt, Jan (2009). "CouchDB for Erlang Developers". Erlang Factory London 2009. Archived from the original on 19 June 2011. Retrieved 15 April 2012.
- Katz, Damien (January 2009). "CouchDB and Me". RubyFringe. InfoQ. Archived from the original on 27 April 2011. Retrieved 15 April 2012.