अपाचे काउचडीबी: Difference between revisions

From Vigyanwiki
No edit summary
 
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Short description|Document-oriented NoSQL database}}
{{Short description|Document-oriented NoSQL database}}
{{Infobox software
{{Infobox software
| name = Apache CouchDB
| name = अपाचे काउचडीबी
| logo = Apache CouchDB logo.svg
| logo = Apache CouchDB logo.svg
| logo size = 100px
| logo size = 100px
| screenshot = Apache CouchDB v2.1.1 Fauxton Console.png
| screenshot = Apache CouchDB v2.1.1 Fauxton Console.png
| screenshot size = 300px
| screenshot size = 300px
| caption = CouchDB's Fauxton Administration Interface, User database
| caption = काउचडीबी  का फॉक्सटन एडमिनिस्ट्रेशन इंटरफ़ेस, उपयोगकर्ता डेटाबेस
| collapsible =  
| collapsible =  
| author = Damien Katz, Jan Lehnardt, Naomi Slater, Christopher Lenz, J. Chris Anderson, Paul Davis, Adam Kocoloski, Jason Davies, Benoît Chesneau, Filipe Manana, Robert Newson
| author = डेमियन काट्ज़, जान लेहनार्ड्ट, नाओमी स्लेटर, क्रिस्टोफर लेन्ज़, जे. क्रिस एंडरसन, पॉल डेविस, एडम कोकोलोस्की, जेसन डेविस, बेनोइट चेसन्यू, फ़िलिप मनाना, रॉबर्ट न्यूज़न
| developer = [[Apache Software Foundation]]
| developer = [[अपाचे सॉफ्टवेयर फाउंडेशन]]
| released = {{Start date and age|2005}}
| released = {{प्रारंभ तिथि और आयु|2005}}
| latest release version = {{wikidata|property|edit|reference|P348}}
| latest release version = {{विकीडेटा|संपत्ति|संपादित करें|संदर्भ|पी348}}
| latest release date    = {{start date and age|{{wikidata|qualifier|P348|P577}}}}
| latest release date    = {{आरंभ तिथि और आयु|{{wikidata|qualifier|P348|P577}}}}
| latest preview version =  
| latest preview version =  
| latest preview date =  
| latest preview date =  
| programming language = [[Erlang (programming language)|Erlang]], [[JavaScript]], [[C (programming language)|C]], [[C++]]
| programming language = [[एरलांग (प्रोग्रामिंग भाषा)|एरलांग]], [[जावास्क्रिप्ट]], [[C (प्रोग्रामिंग भाषा)|C ]], [[C ++]]
| operating system = [[Cross-platform]]
| operating system = [[क्रॉस-प्लेटफ़ॉर्म]]
| language =  
| language =  
| genre = [[Document-oriented database]]
| genre = [[डॉक्यूमेंट-ओरिएंटेड डेटाबेस]]
| license = [[Apache License 2.0]]
| 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>
काउचडीबी अपने डेटा को स्टोर करने, ट्रांसफर करने और प्रोसेस करने के लिए कई फॉर्मेट और प्रोटोकॉल का उपयोग करता है। यह डेटा संग्रहीत करने के लिए जेसन का उपयोग करता है, मैपरेड्युस का उपयोग करके अपनी क्वेरी भाषा के रूप में जावास्क्रिप्ट का उपयोग करता है, और एपीआई के लिए एचटीटीपी का उपयोग करता है।<ref name="official-website">{{cite web|url=http://couchdb.apache.org/|title=अपाचे काउचडीबी|last=Apache Software Foundation|access-date=15 April 2012}}</ref>
Line 27: Line 27:
काउचडीबी पहली बार 2005 में जारी किया गया था और बाद में 2008 में [[अपाचे सॉफ्टवेयर फाउंडेशन]] प्रोजेक्ट बन गया था।
काउचडीबी पहली बार 2005 में जारी किया गया था और बाद में 2008 में [[अपाचे सॉफ्टवेयर फाउंडेशन]] प्रोजेक्ट बन गया था।


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


काउचडीबी मल्टी वर्जन कॉन्करेंसी कंट्रोल (एमवीसीसी) का एक रूप प्रयुक्त करता है, इसलिए यह लिखने के दौरान डेटाबेस फ़ाइल को लॉक नहीं करता है। विवादों को हल करने के लिए एप्लिकेशन पर छोड़ दिया जाता है। किसी विवाद को सुलझाने में आम तौर पर पहले डेटा को किसी एक डाक्यूमेंट में मर्ज करना और फिर पुराने डाक्यूमेंट को हटाना शामिल होता है।<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>
काउचडीबी मल्टी वर्जन कॉन्करेंसी कंट्रोल (एमवीसीसी) का एक रूप प्रयुक्त करता है, इसलिए यह लिखने के दौरान डेटाबेस फ़ाइल को लॉक नहीं करता है। विवादों को हल करने के लिए एप्लिकेशन पर छोड़ दिया जाता है। किसी विवाद को सुलझाने में सामान्यतः पहले डेटा को किसी डाक्यूमेंट में मर्ज करना और फिर पुराने डाक्यूमेंट को हटाना सम्मिलित होता है।<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>


अन्य सुविधाओं में अंतिम स्थिरता के साथ डाक्यूमेंट-स्तरीय एसीआईडी शब्दार्थ, (वार्धिक) मैपरेड्युस, और (वार्धिक) प्रतिकृति शामिल हैं। काउचडीबी की विशिष्ट विशेषताओं में से एक मल्टी-मास्टर प्रतिकृति है, जो इसे उच्च-प्रदर्शन प्रणाली बनाने के लिए मशीनों में स्केल करने की अनुमति देती है। फ़ॉक्सटन (पूर्व में फ़्यूटन) नामक एक अंतर्निर्मित वेब एप्लिकेशन प्रबंधन में सहायता करता है।
अन्य सुविधाओं में अंतिम स्थिरता के साथ डाक्यूमेंट-स्तरीय एसीआईडी शब्दार्थ, (वार्धिक) मैपरेड्युस, और (वार्धिक) प्रतिकृति सम्मिलित हैं। काउचडीबी की विशिष्ट विशेषताओं में से मल्टी-मास्टर प्रतिकृति है, जो इसे उच्च-प्रदर्शन प्रणाली बनाने के लिए मशीनों में स्केल करने की अनुमति देती है। फ़ॉक्सटन (पूर्व में फ़्यूटन) नामक अंतर्निर्मित वेब एप्लिकेशन प्रबंधन में सहायता करता है।


== इतिहास ==
== इतिहास ==
काउच अविश्वसनीय कमोडिटी हार्डवेयर के क्लस्टर का संक्षिप्त रूप है।<ref>{{Cite web |title= काउचडीबी की खोज|work= Developer Works |publisher= IBM |date= March 31, 2009 |url= http://www.ibm.com/developerworks/opensource/library/os-couchdb/index.html |access-date= September 30, 2016 }}</ref> काउचडीबी परियोजना अप्रैल 2005 में आईबीएम के पूर्व [[लोटस नोट्स]] डेवलपर डेमियन काट्ज़ द्वारा बनाई गई थी। उन्होंने लगभग दो वर्षों तक इस परियोजना को स्वयं वित्त पोषित किया और इसे [[जीएनयू जनरल पब्लिक लाइसेंस]] के तहत एक ओपन-सोर्स प्रोजेक्ट के रूप में जारी किया था।
काउच अविश्वसनीय कमोडिटी हार्डवेयर के क्लस्टर का संक्षिप्त रूप है।<ref>{{Cite web |title= काउचडीबी की खोज|work= Developer Works |publisher= IBM |date= March 31, 2009 |url= http://www.ibm.com/developerworks/opensource/library/os-couchdb/index.html |access-date= September 30, 2016 }}</ref> काउचडीबी परियोजना अप्रैल 2005 में आईबीएम के पूर्व [[लोटस नोट्स]] डेवलपर डेमियन काट्ज़ द्वारा बनाई गई थी। उन्होंने लगभग दो वर्षों तक इस परियोजना को स्वयं वित्त पोषित किया और इसे [[जीएनयू जनरल पब्लिक लाइसेंस]] के तहत ओपन-सोर्स प्रोजेक्ट के रूप में जारी किया था।


फरवरी 2008 में, यह [[अपाचे इनक्यूबेटर]] प्रोजेक्ट बन गया और इसके बजाय [[अपाचे लाइसेंस]] के अंतर्गत प्रस्तुत किया गया।<ref>[http://mail-archives.apache.org/mod_mbox/incubator-general/200802.mbox/%3c3d4032300802121136p361b52ceyfc0f3b0ad81a1793@mail.gmail.com%3e Apache mailing list announcement] on mail-archives.apache.org</ref> कुछ महीनों के बाद, यह एक शीर्ष-स्तरीय परियोजना में शामिल हो गया।<ref>[http://mail-archives.apache.org/mod_mbox/incubator-couchdb-dev/200811.mbox/%3c3F352A54-5FC8-4CB0-8A6B-7D3446F07462@jaguNET.com%3e Re: Proposed Resolution: Establish CouchDB TLP] on mail-archives.apache.org</ref> इसके परिणामस्वरूप जुलाई 2010 में पहला स्थिर संस्करण जारी किया गया था।<ref>[https://www.pcworld.com/article/201046/couchdb_nosql_database_ready_for_production_use.html "CouchDB NoSQL Database Ready for Production Use"], article from PC World of July 2010</ref>
फरवरी 2008 में, यह [[अपाचे इनक्यूबेटर]] प्रोजेक्ट बन गया और इसके बजाय [[अपाचे लाइसेंस]] के अंतर्गत प्रस्तुत किया गया।<ref>[http://mail-archives.apache.org/mod_mbox/incubator-general/200802.mbox/%3c3d4032300802121136p361b52ceyfc0f3b0ad81a1793@mail.gmail.com%3e Apache mailing list announcement] on mail-archives.apache.org</ref> कुछ महीनों के बाद, यह शीर्ष-स्तरीय परियोजना में सम्मिलित हो गया।<ref>[http://mail-archives.apache.org/mod_mbox/incubator-couchdb-dev/200811.mbox/%3c3F352A54-5FC8-4CB0-8A6B-7D3446F07462@jaguNET.com%3e Re: Proposed Resolution: Establish CouchDB TLP] on mail-archives.apache.org</ref> इसके परिणामस्वरूप जुलाई 2010 में पहला स्थिर संस्करण जारी किया गया था।<ref>[https://www.pcworld.com/article/201046/couchdb_nosql_database_ready_for_production_use.html "CouchDB NoSQL Database Ready for Production Use"], article from PC World of July 2010</ref>


2012 की शुरुआत में, काट्ज़ ने [[काउचबेस सर्वर]] पर ध्यान केंद्रित करने के लिए प्रोजेक्ट छोड़ दिया था।<ref>{{cite web|last=Katz|first=Damien|title=CouchDB का भविष्य|url=http://damienkatz.net/2012/01/the_future_of_couchdb.html|access-date=15 April 2012}}</ref>
2012 की प्रारम्भ में, काट्ज़ ने [[काउचबेस सर्वर]] पर ध्यान केंद्रित करने के लिए प्रोजेक्ट छोड़ दिया था।<ref>{{cite web|last=Katz|first=Damien|title=CouchDB का भविष्य|url=http://damienkatz.net/2012/01/the_future_of_couchdb.html|access-date=15 April 2012}}</ref>


काट्ज़ के जाने के बाद से, अपाचे काउचडीबी परियोजना जारी रही, अप्रैल 2012 में 1.2 और अप्रैल 2013 में 1.3 जारी किया गया। जुलाई 2013 में, काउचडीबी समुदाय ने [[बिगकाउच]], क्लाउडेंट के काउचडीबी के क्लस्टर्ड संस्करण, के लिए कोडबेस को अपाचे प्रोजेक्ट में मर्ज कर दिया गया।<ref>{{cite web|last=Slater|first=Noah|title=बिगकाउच में आपका स्वागत है|url=https://blogs.apache.org/couchdb/entry/welcome_bigcouch|access-date=25 July 2013}}</ref> बिगकाउच क्लस्टरिंग ढांचा अपाचे काउचडीबी की वर्तमान रिलीज में शामिल है।<ref name="couch2bigcouch">{{cite web|url=https://blog.couchdb.org/2016/09/20/2-0/|title= '2.0'|date= 20 September 2016|access-date= 13 January 2017}}</ref>  
काट्ज़ के जाने के बाद से, अपाचे काउचडीबी परियोजना जारी रही, अप्रैल 2012 में 1.2 और अप्रैल 2013 में 1.3 जारी किया गया। जुलाई 2013 में, काउचडीबी समुदाय ने [[बिगकाउच]], क्लाउडेंट के काउचडीबी के क्लस्टर्ड संस्करण, के लिए कोडबेस को अपाचे प्रोजेक्ट में मर्ज कर दिया गया।<ref>{{cite web|last=Slater|first=Noah|title=बिगकाउच में आपका स्वागत है|url=https://blogs.apache.org/couchdb/entry/welcome_bigcouch|access-date=25 July 2013}}</ref> बिगकाउच क्लस्टरिंग ढांचा अपाचे काउचडीबी की वर्तमान रिलीज में सम्मिलित है।<ref name="couch2bigcouch">{{cite web|url=https://blog.couchdb.org/2016/09/20/2-0/|title= '2.0'|date= 20 September 2016|access-date= 13 January 2017}}</ref>  


संस्करण 2.0.0 पर नेटिव क्लस्टरिंग समर्थित है। और नया मैंगो क्वेरी सर्वर जावास्क्रिप्ट या मैपरेड्युस के बिना काउचडीबी क्वेरी करने के लिए एक सरल जेसन-आधारित विधि प्रदान करता है।
संस्करण 2.0.0 पर नेटिव क्लस्टरिंग समर्थित है। और नया मैंगो क्वेरी सर्वर जावास्क्रिप्ट या मैपरेड्युस के बिना काउचडीबी क्वेरी करने के लिए सरल जेसन-आधारित विधि प्रदान करता है।


== मुख्य विशेषताएं ==
== मुख्य विशेषताएं ==
;
;
;एसिड सिमेंटिक्स  
;एसिड सिमेंटिक्स  
: काउचडीबी एसिड सिमेंटिक्स प्रदान करता है।<ref name="ACID">[http://couchdb.apache.org/docs/overview.html CouchDB, Technical Overview] {{webarchive |url=https://web.archive.org/web/20111020074113/http://couchdb.apache.org/docs/overview.html |date=October 20, 2011 }}</ref> यह मल्टी-वर्जन कॉन्करेंसी कंट्रोल के एक फॉर्म को कार्यान्वित करके ऐसा करता है, जिसका अर्थ है कि काउचडीबी बिना किसी विरोध के समवर्ती पाठकों और लेखकों की एक बड़ी मात्रा को संभाल सकता है।
: काउचडीबी एसिड सिमेंटिक्स प्रदान करता है।<ref name="ACID">[http://couchdb.apache.org/docs/overview.html CouchDB, Technical Overview] {{webarchive |url=https://web.archive.org/web/20111020074113/http://couchdb.apache.org/docs/overview.html |date=October 20, 2011 }}</ref> यह मल्टी-वर्जन कॉन्करेंसी कंट्रोल के फॉर्म को कार्यान्वित करके ऐसा करता है, जिसका अर्थ है कि काउचडीबी बिना किसी विरोध के समवर्ती पाठकों और लेखकों की एक बड़ी मात्रा को संभाल सकता है।
; ऑफ़लाइन के लिए निर्मित
; ऑफ़लाइन के लिए निर्मित
: काउचडीबी उन उपकरणों (जैसे स्मार्टफोन) की नकल कर सकता है जो ऑफ़लाइन हो सकते हैं और डिवाइस के वापस ऑनलाइन होने पर आपके लिए डेटा सिंक को संभाल सकते हैं।
: काउचडीबी उन उपकरणों (जैसे स्मार्टफोन) की नकल कर सकता है जो ऑफ़लाइन हो सकते हैं और डिवाइस के वापस ऑनलाइन होने पर आपके लिए डेटा सिंक को संभाल सकते हैं।
Line 57: Line 57:
: काउचडीबी उपलब्धता और विभाजन सहनशीलता दोनों प्रदान करने में सक्षम होने के लिए अंतिम स्थिरता की प्रत्याभूति  देता है।
: काउचडीबी उपलब्धता और विभाजन सहनशीलता दोनों प्रदान करने में सक्षम होने के लिए अंतिम स्थिरता की प्रत्याभूति  देता है।
; मैप/रेड्यूस व्यूस एंड इन्डेक्सेस
; मैप/रेड्यूस व्यूस एंड इन्डेक्सेस
: संग्रहीत डेटा को व्यूस का उपयोग करके संरचित किया जाता है। काउचडीबी में, प्रत्येक व्यू का निर्माण एक जावास्क्रिप्ट फ़ंक्शन द्वारा किया जाता है जो मैप के आधे भाग (उच्च-क्रम फ़ंक्शन)/रिड्यूस ऑपरेशन के रूप में कार्य करता है। फ़ंक्शन एक डॉक्यूमेंट लेता है और उसे वापस लौटाए जाने वाले एकल मान में बदल देता है। काउचडीबी व्यूस को अनुक्रमित कर सकता है और उन इन्डेक्सेस को डाक्यूमेंट्स के जोड़े जाने, हटाए जाने या अद्यतन किए जाने पर अद्यतन रख सकता है।
: संग्रहीत डेटा को व्यूस का उपयोग करके संरचित किया जाता है। काउचडीबी में, प्रत्येक व्यू का निर्माण जावास्क्रिप्ट फ़ंक्शन द्वारा किया जाता है जो मैप के आधे भाग (उच्च-क्रम फ़ंक्शन)/रिड्यूस ऑपरेशन के रूप में कार्य करता है। फ़ंक्शन एक डॉक्यूमेंट लेता है और उसे वापस लौटाए जाने वाले एकल मान में बदल देता है। काउचडीबी व्यूस को अनुक्रमित कर सकता है और उन इन्डेक्सेस को डाक्यूमेंट्स के जोड़े जाने, हटाए जाने या अद्यतन किए जाने पर अद्यतन रख सकता है।
; एचटीटीपी एपीआई
; एचटीटीपी एपीआई
: सभी आइटम में एक अद्वितीय यूआरआई होता है जो एचटीटीपी के माध्यम से प्रदर्शित होता है। यह सभी संसाधनों पर चार बुनियादी सीआरयूडी (बनाएं, पढ़ें, अपडेट करें, हटाएं) संचालन के लिए एचटीटीपी विधियों पोस्ट, गेट, पुट और डिलीट का उपयोग करता है।
: सभी आइटम में अद्वितीय यूआरआई होता है जो एचटीटीपी के माध्यम से प्रदर्शित होता है। यह सभी संसाधनों पर चार बुनियादी सीआरयूडी (बनाएं, पढ़ें, अपडेट करें, हटाएं) संचालन के लिए एचटीटीपी विधियों पोस्ट, गेट, पुट और डिलीट का उपयोग करता है।


काउचडीबी फ़ॉक्सटन नामक वेब के माध्यम से सुलभ एक अंतर्निहित प्रशासन इंटरफ़ेस भी प्रदान करता है।<ref>{{cite web|url=https://github.com/apache/काउचडीबी-फॉक्सटन|title=काउचडीबी-फॉक्सटन|website=GitHub|publisher=apache|access-date=2 May 2023}}</ref>
काउचडीबी फ़ॉक्सटन नामक वेब के माध्यम से सुलभ अंतर्निहित प्रशासन इंटरफ़ेस भी प्रदान करता है।<ref>{{cite web|url=https://github.com/apache/काउचडीबी-फॉक्सटन|title=काउचडीबी-फॉक्सटन|website=GitHub|publisher=apache|access-date=2 May 2023}}</ref>
== उपयोग के स्थितियों और उत्पादन परिनियोजन ==
== उपयोग के स्थितियों और उत्पादन परिनियोजन ==
CouchDB की प्रतिकृति और सिंक्रनाइज़ेशन क्षमताएं इसे मोबाइल उपकरणों में उपयोग करने के लिए आदर्श बनाती हैं, जहां नेटवर्क कनेक्शन की गारंटी नहीं है, और एप्लिकेशन को ऑफ़लाइन काम करते रहना होगा।
काउचडीबी की प्रतिकृति और सिंक्रनाइज़ेशन क्षमताएं इसे मोबाइल उपकरणों में उपयोग करने के लिए आदर्श बनाती हैं, जहां नेटवर्क कनेक्शन की गारंटी नहीं है, और एप्लिकेशन को ऑफ़लाइन काम करते रहना होगा।


CouchDB उन अनुप्रयोगों के लिए उपयुक्त है, जिनमें डेटा जमा होता है, कभी-कभी बदलता रहता है, जिस पर पूर्व-परिभाषित क्वेरीज़ चलायी जानी हैं और जहां संस्करण बनाना महत्वपूर्ण है (उदाहरण के लिए सीआरएम, सीएमएस सिस्टम)। मास्टर-मास्टर प्रतिकृति एक विशेष रूप से दिलचस्प सुविधा है, जो आसान मल्टी-साइट परिनियोजन की अनुमति देती है।<ref name="Analyse Kristof Kovacs">[http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase comparison] from Kristóf Kovács</ref>
काउचडीबी उन अनुप्रयोगों के लिए उपयुक्त है, जिनमें डेटा जमा होता है, कभी-कभी बदलता रहता है, जिस पर पूर्व-परिभाषित क्वेरीज़ चलायी जानी हैं और जहां संस्करण बनाना महत्वपूर्ण है (उदाहरण के लिए सीआरएम, सीएमएस सिस्टम)। मास्टर-मास्टर प्रतिकृति एक विशेष रूप से दिलचस्प सुविधा है, जो आसान मल्टी-साइट परिनियोजन की अनुमति देती है।<ref name="Analyse Kristof Kovacs">[http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase comparison] from Kristóf Kovács</ref>


=== उपयोगकर्ता ===
=== उपयोगकर्ता ===
काउचडीबी के उपयोगकर्ताओं में शामिल हैं:
काउचडीबी के उपयोगकर्ताओं में सम्मिलित हैं:
* [[CERN|सीईआरएन]] [[ लार्ज हैड्रान कोलाइडर |लार्ज हैड्रान कोलाइडर]] में डेटा प्रबंधन प्रणाली के लिए डेटाबेस के रूप में काउचडीबी का उपयोग करता है।<ref>{{Cite web |date=2010-08-26 |title=लार्ज हैड्रॉन कोलाइडर वैज्ञानिक CouchDB का उपयोग क्यों कर रहे हैं?|url=https://readwrite.com/lhc-couchdb/ |access-date=2022-03-29 |website=ReadWrite |language=en-US}}</ref>
* [[CERN|सीईआरएन]] [[ लार्ज हैड्रान कोलाइडर |लार्ज हैड्रान कोलाइडर]] में डेटा प्रबंधन प्रणाली के लिए डेटाबेस के रूप में काउचडीबी का उपयोग करता है।<ref>{{Cite web |date=2010-08-26 |title=लार्ज हैड्रॉन कोलाइडर वैज्ञानिक CouchDB का उपयोग क्यों कर रहे हैं?|url=https://readwrite.com/lhc-couchdb/ |access-date=2022-03-29 |website=ReadWrite |language=en-US}}</ref>
* [[रेड क्रॉस]] आपदा क्षेत्रों में इलेक्ट्रॉनिक रूप से केसवर्क पूरा करने के लिए आईडीएटी एप्लिकेशन का उपयोग करता है। यहां काउचडीबी का उपयोग मल्टी-नोड पीयर-टू-पीयर ऑफ़लाइन-प्रथम डेटाबेस के रूप में किया जाता है।<ref>{{Citation |title=iDAT |date=2021-07-31 |url=https://github.com/redcross/idat |publisher=Red Cross Code |access-date=2022-03-29}}</ref>
* [[रेड क्रॉस]] आपदा क्षेत्रों में इलेक्ट्रॉनिक रूप से केसवर्क पूरा करने के लिए आईडीएटी एप्लिकेशन का उपयोग करता है। यहां काउचडीबी का उपयोग मल्टी-नोड पीयर-टू-पीयर ऑफ़लाइन-प्रथम डेटाबेस के रूप में किया जाता है।<ref>{{Citation |title=iDAT |date=2021-07-31 |url=https://github.com/redcross/idat |publisher=Red Cross Code |access-date=2022-03-29}}</ref>
Line 75: Line 75:
* [[एमॅड्यूस आईटी समूह]], उनके कुछ बैक-एंड सिस्टम के लिए।
* [[एमॅड्यूस आईटी समूह]], उनके कुछ बैक-एंड सिस्टम के लिए।
* [[ स्विस क्रेडिट |स्विस क्रेडिट]] , कमोडिटी विभाग में उनके बाज़ार ढांचे के लिए आंतरिक उपयोग के लिए है।<ref name="couchdbinthewild">[http://wiki.apache.org/couchdb/CouchDB_in_the_wild "CouchDB in the wild"] {{Webarchive|url=https://web.archive.org/web/20170720124015/http://wiki.apache.org/couchdb/CouchDB_in_the_wild |date=2017-07-20 }} article of the product's Web, a list of software projects and websites using CouchDB</ref>
* [[ स्विस क्रेडिट |स्विस क्रेडिट]] , कमोडिटी विभाग में उनके बाज़ार ढांचे के लिए आंतरिक उपयोग के लिए है।<ref name="couchdbinthewild">[http://wiki.apache.org/couchdb/CouchDB_in_the_wild "CouchDB in the wild"] {{Webarchive|url=https://web.archive.org/web/20170720124015/http://wiki.apache.org/couchdb/CouchDB_in_the_wild |date=2017-07-20 }} article of the product's Web, a list of software projects and websites using CouchDB</ref>
* [[मीबो]], उनके सोशल प्लेटफॉर्म (वेब ​​और एप्लिकेशन) के लिए। Google द्वारा Meebo का अधिग्रहण कर लिया गया और अधिकांश उत्पाद 12 जुलाई 2012 को बंद कर दिए गए है।<ref>{{cite web|url=https://techcrunch.com/2012/06/09/meebo-product-shutdown/ |title=Meebo Gets The Classic Google Acq-hire Treatment: Most Products To Shut Down Soon |first=Kim-Mai |last=Cutler |date=9 June 2012|access-date=7 January 2016|work=TechCrunch|publisher=AOL Inc.}}</ref>
* [[मीबो]], उनके सोशल प्लेटफॉर्म (वेब ​​और एप्लिकेशन) के लिए। गूगल द्वारा मीबो का अधिग्रहण कर लिया गया और अधिकांश उत्पाद 12 जुलाई 2012 को बंद कर दिए गए है।<ref>{{cite web|url=https://techcrunch.com/2012/06/09/meebo-product-shutdown/ |title=Meebo Gets The Classic Google Acq-hire Treatment: Most Products To Shut Down Soon |first=Kim-Mai |last=Cutler |date=9 June 2012|access-date=7 January 2016|work=TechCrunch|publisher=AOL Inc.}}</ref>
* एनपीएम (सॉफ्टवेयर) अपने पैकेज रजिस्ट्री के लिए प्रतिकृति डेटाबेस के रूप में काउचडीबी का उपयोग करता है।<ref>{{cite web|url=https://github.com/npm/एनपीएम-रजिस्ट्री-काउचएप|title=एनपीएम-रजिस्ट्री-काउचएप|website=GitHub|publisher=npm|date=17 June 2015|access-date=7 January 2016}}</ref>
* एनपीएम (सॉफ्टवेयर) अपने पैकेज रजिस्ट्री के लिए प्रतिकृति डेटाबेस के रूप में काउचडीबी का उपयोग करता है।<ref>{{cite web|url=https://github.com/npm/एनपीएम-रजिस्ट्री-काउचएप|title=एनपीएम-रजिस्ट्री-काउचएप|website=GitHub|publisher=npm|date=17 June 2015|access-date=7 January 2016}}</ref>
* [[सोफोस]], उनके कुछ बैक-एंड सिस्टम के लिए है।।
* [[सोफोस]], उनके कुछ बैक-एंड सिस्टम के लिए है।।
* [[बीबीसी]], एक गतिशील सीएमएस-प्लेटफ़ॉर्म के लिए है।<ref>[http://www.erlang-factory.com/conference/London2009/speakers/endafarrell CouchDB at the BBC as a fault tolerant, scalable, multi-data center key-value store]</ref>
* [[बीबीसी]], गतिशील सीएमएस-प्लेटफ़ॉर्म के लिए है।<ref>[http://www.erlang-factory.com/conference/London2009/speakers/endafarrell CouchDB at the BBC as a fault tolerant, scalable, multi-data center key-value store]</ref>
* [[कैनोनिकल (कंपनी)]] ने 2009 में अपनी सिंक्रोनाइज़ेशन सेवा उबंटू वन के लिए इसका उपयोग शुरू किया,<ref>[http://mail-archives.apache.org/mod_mbox/couchdb-dev/200910.mbox/%3C4AD53996.3090104@canonical.com%3E Email from Elliot Murphy (Canonical)] {{Webarchive|url=https://web.archive.org/web/20110505005955/http://mail-archives.apache.org/mod_mbox/couchdb-dev/200910.mbox/%3C4AD53996.3090104@canonical.com%3E |date=2011-05-05 }} to the CouchDB-Devel list</ref> लेकिन नवंबर 2011 में इसका उपयोग बंद कर दिया।<ref>[http://linux.slashdot.org/story/11/11/22/171228/canonical-drops-couchdb-from-ubuntu-one Canonical Drops CouchDB From Ubuntu One (Slashdot)]</ref>
* [[कैनोनिकल (कंपनी)]] ने 2009 में अपनी सिंक्रोनाइज़ेशन सेवा उबंटू वन के लिए इसका उपयोग प्रारम्भ किया,<ref>[http://mail-archives.apache.org/mod_mbox/couchdb-dev/200910.mbox/%3C4AD53996.3090104@canonical.com%3E Email from Elliot Murphy (Canonical)] {{Webarchive|url=https://web.archive.org/web/20110505005955/http://mail-archives.apache.org/mod_mbox/couchdb-dev/200910.mbox/%3C4AD53996.3090104@canonical.com%3E |date=2011-05-05 }} to the CouchDB-Devel list</ref> लेकिन नवंबर 2011 में इसका उपयोग बंद कर दिया।<ref>[http://linux.slashdot.org/story/11/11/22/171228/canonical-drops-couchdb-from-ubuntu-one Canonical Drops CouchDB From Ubuntu One (Slashdot)]</ref>
* कैनाल+ ओवरसीज़ में अंतर्राष्ट्रीय ऑन-डिमांड प्लेटफ़ॉर्म के लिए है।
* कैनाल+ ओवरसीज़ में अंतर्राष्ट्रीय ऑन-डिमांड प्लेटफ़ॉर्म के लिए है।
*[[प्रोटोग्रिड]], उनके तीव्र अनुप्रयोग विकास प्रारूप के लिए स्टोरेज बैक-एंड के रूप में है।<ref>{{Cite web|url=http://protogrid.com/bisc/de/001-about|title = Protogrid - Über uns}}</ref>
*[[प्रोटोग्रिड]], उनके तीव्र अनुप्रयोग विकास प्रारूप के लिए स्टोरेज बैक-एंड के रूप में है।<ref>{{Cite web|url=http://protogrid.com/bisc/de/001-about|title = Protogrid - Über uns}}</ref>
== डेटा मेनिपुलेशन: डॉक्यूमेंट और व्यूस ==
काउचडीबी जेसन डाक्यूमेंट्स के संग्रह का प्रबंधन करता है। दस्तावेज़ों को विचारों के माध्यम से व्यवस्थित किया जाता है। व्यूस को समग्र फ़ंक्शंस के साथ परिभाषित किया गया है और फ़िल्टर की गणना समानांतर में की जाती है, बिल्कुल MapReduce की तरह है।


व्यू सामान्यतः डेटाबेस में संग्रहीत होते हैं और उनकी अनुक्रमणिकाएँ लगातार अद्यतन होती रहती हैं। काउचडीबी बाहरी सॉकेट सर्वर और जेसन-आधारित प्रोटोकॉल का उपयोग करके एक व्यू सिस्टम का समर्थन करता है।<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> परिणामस्वरूप, व्यू सर्वर विभिन्न भाषाओं में विकसित किए गए हैं (जावास्क्रिप्ट डिफ़ॉल्ट है, लेकिन पीएचपी, रूबी, पायथन और एर्लैंग भी हैं)।


== डेटा हेरफेर: डॉक्यूमेंट और विचार ==
=== एचटीटीपी के माध्यम से डेटा एक्सेस करना ===
काउचडीबी JSON डॉक्यूमेंटों के संग्रह का प्रबंधन करता है। डॉक्यूमेंटों को व्यूस के माध्यम से व्यवस्थित किया जाता है। व्यूस को [[समग्र कार्य]]ों के साथ परिभाषित किया जाता है और फ़िल्टर की गणना समानांतर में की जाती है, बिल्कुल MapReduce की तरह।
एप्लिकेशन एचटीटीपी के माध्यम से काउचडीबी के साथ इंटरैक्ट करते हैं। निम्नलिखित कमांड-लाइन उपयोगिता [[cURL]] का उपयोग करके कुछ उदाहरण प्रदर्शित करता है। ये उदाहरण मानते हैं कि काउचडीबी पोर्ट 5984 पर [[ स्थानीय होस्ट |लोकल होस्ट]] (127.0.0.1) पर चल रहा है।
 
व्यू आम तौर पर डेटाबेस में संग्रहीत होते हैं और उनकी अनुक्रमणिकाएँ लगातार अद्यतन की जाती हैं। काउचडीबी बाहरी सॉकेट सर्वर और 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, रूबी, पायथन और एरलांग भी हैं)।
 
=== HTTP के माध्यम से डेटा तक पहुंच ===
एप्लिकेशन HTTP के माध्यम से काउचडीबी के साथ इंटरैक्ट करते हैं। निम्नलिखित कमांड-लाइन उपयोगिता [[cURL]] का उपयोग करके कुछ उदाहरण प्रदर्शित करता है। ये उदाहरण मानते हैं कि काउचडीबी पोर्ट 5984 पर [[ स्थानीय होस्ट ]] (127.0.0.1) पर चल रहा है।
 
{| class="wikitable"
{| class="wikitable"
!कार्य
!रिक्वेस्ट
!रिस्पांस
|-
|-
! Action !! Request !! Response
|सर्वर जानकारी तक पहुंच
|-
|
| Accessing server information
curl <nowiki>http://127.0.0.1:5984/</nowiki>
|| <syntaxhighlight lang="bash">curl http://127.0.0.1:5984/</syntaxhighlight>
|
|| <syntaxhighlight lang="javascript">{
{
  "couchdb": "Welcome",
  "couchdb": "Welcome",
  "version":"1.1.0"
  "version":"1.1.0"
}</syntaxhighlight>
}
|-
|-
| Creating a database named '''wiki'''
|'''विकि''' नाम का डेटाबेस बनाना
|| <syntaxhighlight lang="bash">curl -X PUT http://127.0.0.1:5984/wiki</syntaxhighlight>
|
|| <syntaxhighlight lang="javascript">{"ok": true}</syntaxhighlight>
curl -X PUT <nowiki>http://127.0.0.1:5984/wiki</nowiki>
|
{"ok": true}
|-
|-
| Attempting to create a second database named '''wiki'''
|'''विकि''' नाम से दूसरा डेटाबेस बनाने का प्रयास किया जा रहा है
|| <syntaxhighlight lang="bash">curl -X PUT http://127.0.0.1:5984/wiki</syntaxhighlight>
|
|| <syntaxhighlight lang="javascript">{
curl -X PUT <nowiki>http://127.0.0.1:5984/wiki</nowiki>
  "error":"file_exists",
|
  "reason":"The database could not be created, the file already exists."
{
}</syntaxhighlight>
  "error":"file_exists",
  "reason":"The database could not be created, the file already exists."
}
|-
|-
|| Retrieve information about the '''wiki''' database
|'''विकी''' डेटाबेस के बारे में जानकारी प्राप्त करें
|| <syntaxhighlight lang="bash">curl http://127.0.0.1:5984/wiki</syntaxhighlight>
|
|| <syntaxhighlight lang="javascript">{
curl <nowiki>http://127.0.0.1:5984/wiki</nowiki>
  "db_name": "wiki",
|
  "doc_count": 0,
{
  "doc_del_count": 0,
  "db_name": "wiki",
  "update_seq": 0,
  "doc_count": 0,
  "purge_seq": 0,
  "doc_del_count": 0,
  "compact_running": false,
  "update_seq": 0,
  "disk_size": 79,
  "purge_seq": 0,
  "instance_start_time": "1272453873691070",
  "compact_running": false,
  "disk_format_version": 5
  "disk_size": 79,
}</syntaxhighlight>
  "instance_start_time": "1272453873691070",
  "disk_format_version": 5
}
|-
|-
| Delete the database '''wiki'''
|डेटाबेस '''विकी''' को हटाएँ
| <syntaxhighlight lang="bash">curl -X DELETE http://127.0.0.1:5984/wiki</syntaxhighlight>
|
| <syntaxhighlight lang="javascript">{"ok": true}</syntaxhighlight>
curl -X DELETE <nowiki>http://127.0.0.1:5984/wiki</nowiki>
|
{"ok": true}
|-
|-
| Create a document, asking काउचडीबी to supply a document id
|एक डॉक्यूमेंट बनाएँ, काउचडीबी से डॉक्यूमेंटआईडी प्रदान करने के लिए कहें
| <syntaxhighlight lang="bash">curl -X POST -H "Content-Type: application/json" --data \
|
'{ "text" : "Wikipedia on CouchDB", "rating": 5 }' \
curl -X POST -H "Content-Type: application/json" --data \
http://127.0.0.1:5984/wiki
'{ "text" : "Wikipedia on couchdb", "rating": 5 }' \
</syntaxhighlight>
<nowiki>http://127.0.0.1:5984/wiki</nowiki>
| <syntaxhighlight lang="javascript">{
|
  "ok": true,
{
  "id": "123BAC",
  "ok": true,
  "rev": "946B7D1C"
  "id": "123BAC",
}</syntaxhighlight>
  "rev": "946B7D1C"
}
|-
|-
|get a list of databases
|डेटाबेस की सूची प्राप्त करें
|<syntaxhighlight lang="bash">
|
curl http://127.0.0.1:5984/_all_dbs
curl <nowiki>http://127.0.0.1:5984/_all_dbs</nowiki>
</syntaxhighlight>
|
|<syntaxhighlight lang="javascript">
["_replicator","_users","wiki"]
["_replicator","_users","wiki"]
</syntaxhighlight>
|}
|}


 
==ओपन सोर्स घटक==
==मुक्त स्रोत घटक==
काउचडीबी में इसके डिफ़ॉल्ट पैकेज के हिस्से के रूप में कई अन्य ओपन सोर्स प्रोजेक्ट सम्मिलित हैं।
काउचडीबी में इसके डिफ़ॉल्ट पैकेज के हिस्से के रूप में कई अन्य ओपन सोर्स प्रोजेक्ट शामिल हैं।
{| class="wikitable sortable"
{| class="wikitable sortable" width = "100%"
!अवयव
! Component
!विवरण
! Description
!लाइसेंस
! License
|-
|-
| [[Erlang (programming language)|Erlang]]
|एरलांग
| Erlang is a general-purpose [[concurrent computing|concurrent]] [[programming language]] and [[Run time system|runtime]] system. The sequential subset of Erlang is a [[functional language]] with [[strict evaluation]], [[single assignment]], and [[dynamic typing]]
|एर्लैंग एक सामान्य प्रयोजन वाली समवर्ती प्रोग्रामिंग भाषा और रनटाइम प्रणाली है। एर्लैंग का अनुक्रमिक उपसमुच्चय सख्त मूल्यांकन , एकल असाइनमेंट और गतिशील टाइपिंग के साथ एक कार्यात्मक भाषा है।
| [[Apache License|Apache 2.0]] (Release 18.0 and later)<br />[[Erlang Public License]] (Earlier releases)
|अपाचे 2.0 (रिलीज़ 18.0 और बाद में)
एर्लांग पब्लिक लाइसेंस (पहले रिलीज़)
|-
|-
| [[International Components for Unicode|ICU]]
|आईसीयू
| International Components for Unicode (ICU) is an [[Open-source software|open-source]] project of mature [[C (programming language)|C]]/[[C++]] and [[Java (programming language)|Java]] libraries for [[Unicode]] support, software [[internationalization]] and software globalization
|यूनिकोड के लिए अंतर्राष्ट्रीय घटक (आईसीयू) यूनिकोड समर्थन, सॉफ्टवेयर अंतर्राष्ट्रीयकरण और सॉफ्टवेयर वैश्वीकरण के लिए परिपक्व C / C++ और जावा लाइब्रेरी का एक ओपन-सोर्स प्रोजेक्ट है।
| [[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 software|open-source]] implementation of the [[Transport Layer Security|SSL and TLS]] protocols. The core [[library (computer science)|library]] (written in the [[C (programming language)|C programming language]]) implements the basic [[cryptography|cryptographic]] functions and provides various utility functions
|ओपनएसएसएल एसएसएल और टीएलएस प्रोटोकॉल का ओपन-सोर्स कार्यान्वयन है। कोर लाइब्रेरी ( C प्रोग्रामिंग भाषा में लिखी गई ) बुनियादी क्रिप्टोग्राफ़िक फ़ंक्शंस को कार्यान्वित करती है और विभिन्न उपयोगिता फ़ंक्शंस प्रदान करती है।
| [[Apache License|Apache 1.0]] and the [[BSD License#4-clause license (original "BSD License")|four-clause BSD License]]
|अपाचे 1.0 और चार खंड वाला बीएसडी लाइसेंस
|-
|-
| [[SpiderMonkey]]
|स्पाइडरमंकी
| SpiderMonkey is a performant [[JavaScript engine]] maintained by the [[Mozilla Foundation]]. It contains an [[Interpreted language|interpreter]], a [[JIT compiler]] and a [[Garbage collection (computer science)|garbage collector]]
|स्पाइडरमंकी मोज़िला फाउंडेशन द्वारा संचालित परफॉर्मेंट जावास्क्रिप्ट इंजन है । इसमें दुभाषिया , जेआईटी कंपाइलर और गार्बेज संग्रहकर्ता सम्मिलित है।
| [[Mozilla Public License|MPL 2.0]]
|एमपीएल 2.0
|}
|}


== यह भी देखें ==
== यह भी देखें ==
{{Portal|Free and open-source software}}
{{Portal|Free and open-source software}}
* डॉक्यूमेंट-उन्मुख डेटाबेस
* डॉक्यूमेंट-ओरिएंटेड डेटाबेस  
* [[एक्सएमएल डेटाबेस]]
* [[एक्सएमएल डेटाबेस]]


Line 215: Line 221:
{{Authority control}}
{{Authority control}}


{{DEFAULTSORT:CouchDB}}[[Category: अपाचे सॉफ्टवेयर फाउंडेशन प्रोजेक्ट्स|काउचडीबी]] [[Category: क्लाइंट-सर्वर डेटाबेस प्रबंधन प्रणाली]] [[Category: क्रॉस-प्लेटफ़ॉर्म सॉफ़्टवेयर]] [[Category: Linux के लिए डेटाबेस-संबंधित सॉफ़्टवेयर]] [[Category: वितरित कंप्यूटिंग वास्तुकला]] [[Category: दस्तावेज़-उन्मुख डेटाबेस]] [[Category: एरलांग (प्रोग्रामिंग भाषा)]] [[Category: मुफ़्त डेटाबेस प्रबंधन प्रणालियाँ]] [[Category: नोएसक्यूएल]] [[Category: संरचित भंडारण]] [[Category: यूनिक्स नेटवर्क से संबंधित सॉफ्टवेयर]] [[Category: एर्लांग में प्रोग्राम किया गया मुफ्त सॉफ्टवेयर]] [[Category: 2005 सॉफ्टवेयर]]
{{DEFAULTSORT:CouchDB}}
 
 


[[Category: Machine Translated Page]]
[[Category:2005 सॉफ्टवेयर|CouchDB]]
[[Category:Created On 26/06/2023]]
[[Category:CS1 English-language sources (en)]]
[[Category:Collapse templates|CouchDB]]
[[Category:Created On 26/06/2023|CouchDB]]
[[Category:Linux के लिए डेटाबेस-संबंधित सॉफ़्टवेयर|CouchDB]]
[[Category:Lua-based templates|CouchDB]]
[[Category:Machine Translated Page|CouchDB]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists|CouchDB]]
[[Category:Official website not in Wikidata|CouchDB]]
[[Category:Pages with empty portal template|CouchDB]]
[[Category:Pages with script errors|CouchDB]]
[[Category:Portal templates with redlinked portals|CouchDB]]
[[Category:Sidebars with styles needing conversion|CouchDB]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready|CouchDB]]
[[Category:Templates generating microformats|CouchDB]]
[[Category:Templates that add a tracking category|CouchDB]]
[[Category:Templates that are not mobile friendly|CouchDB]]
[[Category:Templates that generate short descriptions|CouchDB]]
[[Category:Templates using TemplateData|CouchDB]]
[[Category:Webarchive template wayback links]]
[[Category:Wikipedia metatemplates|CouchDB]]
[[Category:अपाचे सॉफ्टवेयर फाउंडेशन प्रोजेक्ट्स|काउचडीबी]]
[[Category:एरलांग (प्रोग्रामिंग भाषा)|CouchDB]]
[[Category:एर्लांग में प्रोग्राम किया गया मुफ्त सॉफ्टवेयर|CouchDB]]
[[Category:क्रॉस-प्लेटफ़ॉर्म सॉफ़्टवेयर|CouchDB]]
[[Category:क्लाइंट-सर्वर डेटाबेस प्रबंधन प्रणाली|CouchDB]]
[[Category:दस्तावेज़-उन्मुख डेटाबेस|CouchDB]]
[[Category:नोएसक्यूएल|CouchDB]]
[[Category:मुफ़्त डेटाबेस प्रबंधन प्रणालियाँ|CouchDB]]
[[Category:यूनिक्स नेटवर्क से संबंधित सॉफ्टवेयर|CouchDB]]
[[Category:वितरित कंप्यूटिंग वास्तुकला|CouchDB]]
[[Category:संरचित भंडारण|CouchDB]]

Latest revision as of 19:34, 5 July 2023

अपाचे काउचडीबी
Original author(s)डेमियन काट्ज़, जान लेहनार्ड्ट, नाओमी स्लेटर, क्रिस्टोफर लेन्ज़, जे. क्रिस एंडरसन, पॉल डेविस, एडम कोकोलोस्की, जेसन डेविस, बेनोइट चेसन्यू, फ़िलिप मनाना, रॉबर्ट न्यूज़न
Developer(s)अपाचे सॉफ्टवेयर फाउंडेशन
Stable release
Written inएरलांग, जावास्क्रिप्ट, C , C ++
Operating systemक्रॉस-प्लेटफ़ॉर्म
Typeडॉक्यूमेंट-ओरिएंटेड डेटाबेस
Licenseअपाचे लाइसेंस 2.0

अपाचे काउचडीबी ओपन-सोर्स डॉक्यूमेंट-उन्मुख नोएसक्यूएल डेटाबेस है, जिसे एर्लैंग में कार्यान्वित किया गया है।

काउचडीबी अपने डेटा को स्टोर करने, ट्रांसफर करने और प्रोसेस करने के लिए कई फॉर्मेट और प्रोटोकॉल का उपयोग करता है। यह डेटा संग्रहीत करने के लिए जेसन का उपयोग करता है, मैपरेड्युस का उपयोग करके अपनी क्वेरी भाषा के रूप में जावास्क्रिप्ट का उपयोग करता है, और एपीआई के लिए एचटीटीपी का उपयोग करता है।[1]

काउचडीबी पहली बार 2005 में जारी किया गया था और बाद में 2008 में अपाचे सॉफ्टवेयर फाउंडेशन प्रोजेक्ट बन गया था।

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

काउचडीबी मल्टी वर्जन कॉन्करेंसी कंट्रोल (एमवीसीसी) का एक रूप प्रयुक्त करता है, इसलिए यह लिखने के दौरान डेटाबेस फ़ाइल को लॉक नहीं करता है। विवादों को हल करने के लिए एप्लिकेशन पर छोड़ दिया जाता है। किसी विवाद को सुलझाने में सामान्यतः पहले डेटा को किसी डाक्यूमेंट में मर्ज करना और फिर पुराने डाक्यूमेंट को हटाना सम्मिलित होता है।[2]

अन्य सुविधाओं में अंतिम स्थिरता के साथ डाक्यूमेंट-स्तरीय एसीआईडी शब्दार्थ, (वार्धिक) मैपरेड्युस, और (वार्धिक) प्रतिकृति सम्मिलित हैं। काउचडीबी की विशिष्ट विशेषताओं में से मल्टी-मास्टर प्रतिकृति है, जो इसे उच्च-प्रदर्शन प्रणाली बनाने के लिए मशीनों में स्केल करने की अनुमति देती है। फ़ॉक्सटन (पूर्व में फ़्यूटन) नामक अंतर्निर्मित वेब एप्लिकेशन प्रबंधन में सहायता करता है।

इतिहास

काउच अविश्वसनीय कमोडिटी हार्डवेयर के क्लस्टर का संक्षिप्त रूप है।[3] काउचडीबी परियोजना अप्रैल 2005 में आईबीएम के पूर्व लोटस नोट्स डेवलपर डेमियन काट्ज़ द्वारा बनाई गई थी। उन्होंने लगभग दो वर्षों तक इस परियोजना को स्वयं वित्त पोषित किया और इसे जीएनयू जनरल पब्लिक लाइसेंस के तहत ओपन-सोर्स प्रोजेक्ट के रूप में जारी किया था।

फरवरी 2008 में, यह अपाचे इनक्यूबेटर प्रोजेक्ट बन गया और इसके बजाय अपाचे लाइसेंस के अंतर्गत प्रस्तुत किया गया।[4] कुछ महीनों के बाद, यह शीर्ष-स्तरीय परियोजना में सम्मिलित हो गया।[5] इसके परिणामस्वरूप जुलाई 2010 में पहला स्थिर संस्करण जारी किया गया था।[6]

2012 की प्रारम्भ में, काट्ज़ ने काउचबेस सर्वर पर ध्यान केंद्रित करने के लिए प्रोजेक्ट छोड़ दिया था।[7]

काट्ज़ के जाने के बाद से, अपाचे काउचडीबी परियोजना जारी रही, अप्रैल 2012 में 1.2 और अप्रैल 2013 में 1.3 जारी किया गया। जुलाई 2013 में, काउचडीबी समुदाय ने बिगकाउच, क्लाउडेंट के काउचडीबी के क्लस्टर्ड संस्करण, के लिए कोडबेस को अपाचे प्रोजेक्ट में मर्ज कर दिया गया।[8] बिगकाउच क्लस्टरिंग ढांचा अपाचे काउचडीबी की वर्तमान रिलीज में सम्मिलित है।[9]

संस्करण 2.0.0 पर नेटिव क्लस्टरिंग समर्थित है। और नया मैंगो क्वेरी सर्वर जावास्क्रिप्ट या मैपरेड्युस के बिना काउचडीबी क्वेरी करने के लिए सरल जेसन-आधारित विधि प्रदान करता है।

मुख्य विशेषताएं

एसिड सिमेंटिक्स
काउचडीबी एसिड सिमेंटिक्स प्रदान करता है।[10] यह मल्टी-वर्जन कॉन्करेंसी कंट्रोल के फॉर्म को कार्यान्वित करके ऐसा करता है, जिसका अर्थ है कि काउचडीबी बिना किसी विरोध के समवर्ती पाठकों और लेखकों की एक बड़ी मात्रा को संभाल सकता है।
ऑफ़लाइन के लिए निर्मित
काउचडीबी उन उपकरणों (जैसे स्मार्टफोन) की नकल कर सकता है जो ऑफ़लाइन हो सकते हैं और डिवाइस के वापस ऑनलाइन होने पर आपके लिए डेटा सिंक को संभाल सकते हैं।
प्रतिकृति के साथ वितरित आर्किटेक्चर
काउचडीबी को द्वि-दिशात्मक प्रतिकृति (या सिंक्रनाइज़ेशन) और ऑफ-लाइन ऑपरेशन को ध्यान में रखकर डिजाइन किया गया था। इसका मतलब है कि कई प्रतिकृतियां एक ही डेटा की अपनी प्रतियां रख सकती हैं, इसे संशोधित कर सकती हैं और फिर बाद में उन परिवर्तनों को सिंक कर सकती हैं।
डॉक्यूमेंट स्टोरेज
काउचडीबी डेटा को "डाक्यूमेंट्स" के रूप में संग्रहीत करता है, जेसन के रूप में एक या अधिक फ़ील्ड/वैल्यू जोड़े के रूप में अभिव्यक्त करते हैं। फ़ील्ड वैल्यू स्ट्रिंग, संख्याएं या दिनांक जैसी साधारण चीजें हो सकती हैं; लेकिन आदेशित सूचियाँ और सहयोगी सरणियाँ भी उपयोग की जा सकती हैं। काउचडीबी डेटाबेस में प्रत्येक दस्तावेज़ की एक विशिष्ट आईडी होती है और कोई आवश्यक डॉक्यूमेंट स्कीमा नहीं होती है।
अंततः संगति
काउचडीबी उपलब्धता और विभाजन सहनशीलता दोनों प्रदान करने में सक्षम होने के लिए अंतिम स्थिरता की प्रत्याभूति देता है।
मैप/रेड्यूस व्यूस एंड इन्डेक्सेस
संग्रहीत डेटा को व्यूस का उपयोग करके संरचित किया जाता है। काउचडीबी में, प्रत्येक व्यू का निर्माण जावास्क्रिप्ट फ़ंक्शन द्वारा किया जाता है जो मैप के आधे भाग (उच्च-क्रम फ़ंक्शन)/रिड्यूस ऑपरेशन के रूप में कार्य करता है। फ़ंक्शन एक डॉक्यूमेंट लेता है और उसे वापस लौटाए जाने वाले एकल मान में बदल देता है। काउचडीबी व्यूस को अनुक्रमित कर सकता है और उन इन्डेक्सेस को डाक्यूमेंट्स के जोड़े जाने, हटाए जाने या अद्यतन किए जाने पर अद्यतन रख सकता है।
एचटीटीपी एपीआई
सभी आइटम में अद्वितीय यूआरआई होता है जो एचटीटीपी के माध्यम से प्रदर्शित होता है। यह सभी संसाधनों पर चार बुनियादी सीआरयूडी (बनाएं, पढ़ें, अपडेट करें, हटाएं) संचालन के लिए एचटीटीपी विधियों पोस्ट, गेट, पुट और डिलीट का उपयोग करता है।

काउचडीबी फ़ॉक्सटन नामक वेब के माध्यम से सुलभ अंतर्निहित प्रशासन इंटरफ़ेस भी प्रदान करता है।[11]

उपयोग के स्थितियों और उत्पादन परिनियोजन

काउचडीबी की प्रतिकृति और सिंक्रनाइज़ेशन क्षमताएं इसे मोबाइल उपकरणों में उपयोग करने के लिए आदर्श बनाती हैं, जहां नेटवर्क कनेक्शन की गारंटी नहीं है, और एप्लिकेशन को ऑफ़लाइन काम करते रहना होगा।

काउचडीबी उन अनुप्रयोगों के लिए उपयुक्त है, जिनमें डेटा जमा होता है, कभी-कभी बदलता रहता है, जिस पर पूर्व-परिभाषित क्वेरीज़ चलायी जानी हैं और जहां संस्करण बनाना महत्वपूर्ण है (उदाहरण के लिए सीआरएम, सीएमएस सिस्टम)। मास्टर-मास्टर प्रतिकृति एक विशेष रूप से दिलचस्प सुविधा है, जो आसान मल्टी-साइट परिनियोजन की अनुमति देती है।[12]

उपयोगकर्ता

काउचडीबी के उपयोगकर्ताओं में सम्मिलित हैं:

  • सीईआरएन लार्ज हैड्रान कोलाइडर में डेटा प्रबंधन प्रणाली के लिए डेटाबेस के रूप में काउचडीबी का उपयोग करता है।[13]
  • रेड क्रॉस आपदा क्षेत्रों में इलेक्ट्रॉनिक रूप से केसवर्क पूरा करने के लिए आईडीएटी एप्लिकेशन का उपयोग करता है। यहां काउचडीबी का उपयोग मल्टी-नोड पीयर-टू-पीयर ऑफ़लाइन-प्रथम डेटाबेस के रूप में किया जाता है।[14]
  • आईबीएम क्लाउड सेवाएं बुनियादी स्तर पर काउचडीबी पर आधारित हैं।[15]
  • यूनाइटेड एयरलाइन्स 3,000 से अधिक विमानों में उड़ान के दौरान मनोरंजन प्रणालियों के लिए काउचडीबी का उपयोग करती है।[16][17]
  • एमॅड्यूस आईटी समूह, उनके कुछ बैक-एंड सिस्टम के लिए।
  • स्विस क्रेडिट , कमोडिटी विभाग में उनके बाज़ार ढांचे के लिए आंतरिक उपयोग के लिए है।[18]
  • मीबो, उनके सोशल प्लेटफॉर्म (वेब ​​और एप्लिकेशन) के लिए। गूगल द्वारा मीबो का अधिग्रहण कर लिया गया और अधिकांश उत्पाद 12 जुलाई 2012 को बंद कर दिए गए है।[19]
  • एनपीएम (सॉफ्टवेयर) अपने पैकेज रजिस्ट्री के लिए प्रतिकृति डेटाबेस के रूप में काउचडीबी का उपयोग करता है।[20]
  • सोफोस, उनके कुछ बैक-एंड सिस्टम के लिए है।।
  • बीबीसी, गतिशील सीएमएस-प्लेटफ़ॉर्म के लिए है।[21]
  • कैनोनिकल (कंपनी) ने 2009 में अपनी सिंक्रोनाइज़ेशन सेवा उबंटू वन के लिए इसका उपयोग प्रारम्भ किया,[22] लेकिन नवंबर 2011 में इसका उपयोग बंद कर दिया।[23]
  • कैनाल+ ओवरसीज़ में अंतर्राष्ट्रीय ऑन-डिमांड प्लेटफ़ॉर्म के लिए है।
  • प्रोटोग्रिड, उनके तीव्र अनुप्रयोग विकास प्रारूप के लिए स्टोरेज बैक-एंड के रूप में है।[24]

डेटा मेनिपुलेशन: डॉक्यूमेंट और व्यूस

काउचडीबी जेसन डाक्यूमेंट्स के संग्रह का प्रबंधन करता है। दस्तावेज़ों को विचारों के माध्यम से व्यवस्थित किया जाता है। व्यूस को समग्र फ़ंक्शंस के साथ परिभाषित किया गया है और फ़िल्टर की गणना समानांतर में की जाती है, बिल्कुल MapReduce की तरह है।

व्यू सामान्यतः डेटाबेस में संग्रहीत होते हैं और उनकी अनुक्रमणिकाएँ लगातार अद्यतन होती रहती हैं। काउचडीबी बाहरी सॉकेट सर्वर और जेसन-आधारित प्रोटोकॉल का उपयोग करके एक व्यू सिस्टम का समर्थन करता है।[25] परिणामस्वरूप, व्यू सर्वर विभिन्न भाषाओं में विकसित किए गए हैं (जावास्क्रिप्ट डिफ़ॉल्ट है, लेकिन पीएचपी, रूबी, पायथन और एर्लैंग भी हैं)।

एचटीटीपी के माध्यम से डेटा एक्सेस करना

एप्लिकेशन एचटीटीपी के माध्यम से काउचडीबी के साथ इंटरैक्ट करते हैं। निम्नलिखित कमांड-लाइन उपयोगिता cURL का उपयोग करके कुछ उदाहरण प्रदर्शित करता है। ये उदाहरण मानते हैं कि काउचडीबी पोर्ट 5984 पर लोकल होस्ट (127.0.0.1) पर चल रहा है।

कार्य रिक्वेस्ट रिस्पांस
सर्वर जानकारी तक पहुंच
curl http://127.0.0.1:5984/
{
  "couchdb": "Welcome",
  "version":"1.1.0"
}
विकि नाम का डेटाबेस बनाना
curl -X PUT http://127.0.0.1:5984/wiki
{"ok": true}
विकि नाम से दूसरा डेटाबेस बनाने का प्रयास किया जा रहा है
curl -X PUT http://127.0.0.1:5984/wiki
{
  "error":"file_exists",
  "reason":"The database could not be created, the file already exists."
}
विकी डेटाबेस के बारे में जानकारी प्राप्त करें
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
}
डेटाबेस विकी को हटाएँ
curl -X DELETE http://127.0.0.1:5984/wiki
{"ok": true}
एक डॉक्यूमेंट बनाएँ, काउचडीबी से डॉक्यूमेंटआईडी प्रदान करने के लिए कहें
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"
}
डेटाबेस की सूची प्राप्त करें
curl http://127.0.0.1:5984/_all_dbs
["_replicator","_users","wiki"]

ओपन सोर्स घटक

काउचडीबी में इसके डिफ़ॉल्ट पैकेज के हिस्से के रूप में कई अन्य ओपन सोर्स प्रोजेक्ट सम्मिलित हैं।

अवयव विवरण लाइसेंस
एरलांग एर्लैंग एक सामान्य प्रयोजन वाली समवर्ती प्रोग्रामिंग भाषा और रनटाइम प्रणाली है। एर्लैंग का अनुक्रमिक उपसमुच्चय सख्त मूल्यांकन , एकल असाइनमेंट और गतिशील टाइपिंग के साथ एक कार्यात्मक भाषा है। अपाचे 2.0 (रिलीज़ 18.0 और बाद में)

एर्लांग पब्लिक लाइसेंस (पहले रिलीज़)

आईसीयू यूनिकोड के लिए अंतर्राष्ट्रीय घटक (आईसीयू) यूनिकोड समर्थन, सॉफ्टवेयर अंतर्राष्ट्रीयकरण और सॉफ्टवेयर वैश्वीकरण के लिए परिपक्व C / C++ और जावा लाइब्रेरी का एक ओपन-सोर्स प्रोजेक्ट है। यूनिकोड लाइसेंस
जेक्वेरी जेक्वेरी साधारण क्रॉस-ब्राउज़र जावास्क्रिप्ट लाइब्रेरी है जो जावास्क्रिप्ट और एचटीएमएल के बीच इंटरैक्शन पर जोर देती है। एमआईटी लाइसेंस
ओपनएसएसएल ओपनएसएसएल एसएसएल और टीएलएस प्रोटोकॉल का ओपन-सोर्स कार्यान्वयन है। कोर लाइब्रेरी ( C प्रोग्रामिंग भाषा में लिखी गई ) बुनियादी क्रिप्टोग्राफ़िक फ़ंक्शंस को कार्यान्वित करती है और विभिन्न उपयोगिता फ़ंक्शंस प्रदान करती है। अपाचे 1.0 और चार खंड वाला बीएसडी लाइसेंस
स्पाइडरमंकी स्पाइडरमंकी मोज़िला फाउंडेशन द्वारा संचालित परफॉर्मेंट जावास्क्रिप्ट इंजन है । इसमें दुभाषिया , जेआईटी कंपाइलर और गार्बेज संग्रहकर्ता सम्मिलित है। एमपीएल 2.0

यह भी देखें

संदर्भ

  1. Apache Software Foundation. "अपाचे काउचडीबी". Retrieved 15 April 2012.
  2. Smith, Jason. "What is the CouchDB replication protocol? Is it like Git?". StackOverflow. Stack Exchange. Retrieved 14 April 2012.
  3. "काउचडीबी की खोज". Developer Works. IBM. March 31, 2009. Retrieved September 30, 2016.
  4. Apache mailing list announcement on mail-archives.apache.org
  5. Re: Proposed Resolution: Establish CouchDB TLP on mail-archives.apache.org
  6. "CouchDB NoSQL Database Ready for Production Use", article from PC World of July 2010
  7. Katz, Damien. "CouchDB का भविष्य". Retrieved 15 April 2012.
  8. Slater, Noah. "बिगकाउच में आपका स्वागत है". Retrieved 25 July 2013.
  9. "'2.0'". 20 September 2016. Retrieved 13 January 2017.
  10. CouchDB, Technical Overview Archived October 20, 2011, at the Wayback Machine
  11. "काउचडीबी-फॉक्सटन". GitHub. apache. Retrieved 2 May 2023.
  12. Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase comparison from Kristóf Kovács
  13. "लार्ज हैड्रॉन कोलाइडर वैज्ञानिक CouchDB का उपयोग क्यों कर रहे हैं?". ReadWrite (in English). 2010-08-26. Retrieved 2022-03-29.
  14. iDAT, Red Cross Code, 2021-07-31, retrieved 2022-03-29
  15. "डेटाबेस-डीप-डाइव्स-काउचडीबी". www.ibm.com (in English). Retrieved 2022-03-29.
  16. "डेटाबेस-डीप-डाइव्स-काउचडीबी". www.ibm.com (in English). Retrieved 2022-03-29.
  17. "United Airlines Streamlines Operations With Couchbase | Case Study". www.couchbase.com. Retrieved 2022-03-29.
  18. "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
  19. 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.
  20. "एनपीएम-रजिस्ट्री-काउचएप". GitHub. npm. 17 June 2015. Retrieved 7 January 2016.
  21. CouchDB at the BBC as a fault tolerant, scalable, multi-data center key-value store
  22. Email from Elliot Murphy (Canonical) Archived 2011-05-05 at the Wayback Machine to the CouchDB-Devel list
  23. Canonical Drops CouchDB From Ubuntu One (Slashdot)
  24. "Protogrid - Über uns".
  25. View Server Documentation Archived 2008-10-20 at the Wayback Machine on wiki.apache.org


ग्रन्थसूची


बाहरी संबंध