दस्तावेज़-उन्मुख डेटाबेस: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 77: Line 77:
=== संबंधपरक डेटाबेस से संबंध ===
=== संबंधपरक डेटाबेस से संबंध ===


संबंधपरक डेटाबेस में, डेटा को पहले कई पूर्वनिर्धारित प्रकारों में वर्गीकृत किया जाता है और प्रत्येक प्रकार की अलग-अलग प्रविष्टियाँ आलेख रखने के लिए तालिकाएँ बनाई जाती हैं। तालिकाएँ प्रत्येक आलेख के क्षेत्र में डेटा को परिभाषित करती हैं, जिसका अर्थ है कि तालिका में प्रत्येक आलेख का समग्र रूप समान है। व्यवस्थापक तालिकाओं के बीच संबंधों को भी परिभाषित करता है और कुछ निश्चित क्षेत्रों का चयन करता है। जो उनके अनुसार खोज के लिए सबसे अधिक उपयोग किए जाएंगे और उन पर अनुक्रमणिका को परिभाषित करता है। संबंधात्मक बनावट में महत्वपूर्ण अवधारणा यह है कि कोई भी डेटा जिसे दोहराया जा सकता है, सामान्य रूप से अपनी तालिका में रखा जाता है और यदि ये उदाहरण -दूसरे से संबंधित हैं। तो उन्हें साथ समूहित करने के लिए कॉलम चुना जाता है, विदेशी कुंजी। इस रचना को [[डेटाबेस सामान्यीकरण]] के रूप में जाना जाता है।<ref>{{cite web |url=https://support.microsoft.com/en-ca/kb/283878 |title=डेटाबेस सामान्यीकरण मूल बातें का विवरण|website=Microsoft}}</ref>उदाहरण के लिए, पता पुस्तिका एप्लिकेशन को सामान्यतः संपर्क नाम, वैकल्पिक छवि, अधिक फ़ोन नंबर, अधिक डाक पते, और अधिक ईमेल पते संग्रहीत करने की आवश्यकता होगी। विहित संबंधपरक डेटाबेस में डेटा के प्रत्येक बिट के लिए पूर्वनिर्धारित क्षेत्रों के साथ इन पंक्तियों में से प्रत्येक के लिए तालिकाएँ बनाई जाएंगी। संपर्क तालिका में FIRST_NAME, उपनाम और छवि कॉलम सम्मलित हो सकते हैं, जबकि फ़ोन नंबर तालिका में देश कोड, क्षेत्र कोड, फोन नंबर और घर, काम, आदि सम्मलित हो सकते हैं। फ़ोन नंबर तालिका में विदेशी कुंजी स्तंभ, संपर्क_आईडी भी सम्मलित है, जिसमें संपर्क बनाए जाने के समय निर्दिष्ट विशिष्ट आईडी संख्या होती है। मूल संपर्क को फिर से बनाने के लिए, डेटाबेस इंजन तालिकाओं के समूह में संबंधित वस्तुओं को देखने के लिए विदेशी कुंजियों का उपयोग करता है और मूल डेटा का पुनर्निर्माण करता है।
संबंधपरक डेटाबेस में, डेटा को पहले कई पूर्वनिर्धारित प्रकारों में वर्गीकृत किया जाता है और प्रत्येक प्रकार की अलग-अलग प्रविष्टियाँ आलेख रखने के लिए तालिकाएँ बनाई जाती हैं। तालिकाएँ प्रत्येक आलेख के क्षेत्र में डेटा को परिभाषित करती हैं, जिसका अर्थ है कि तालिका में प्रत्येक आलेख का समग्र रूप समान है। व्यवस्थापक तालिकाओं के बीच संबंधों को भी परिभाषित करता है और कुछ निश्चित क्षेत्रों का चयन करता है। जो उनके अनुसार खोज के लिए सबसे अधिक उपयोग किए जाएंगे और उन पर अनुक्रमणिका को परिभाषित करता है। संबंधात्मक बनावट में महत्वपूर्ण अवधारणा यह है कि कोई भी डेटा जिसे दोहराया जा सकता है, सामान्य रूप से अपनी तालिका में रखा जाता है और यदि ये उदाहरण -दूसरे से संबंधित हैं। तो उन्हें साथ समूहित करने के लिए कॉलम चुना जाता है, विदेशी कुंजी। इस रचना को [[डेटाबेस सामान्यीकरण]] के रूप में जाना जाता है।<ref>{{cite web |url=https://support.microsoft.com/en-ca/kb/283878 |title=डेटाबेस सामान्यीकरण मूल बातें का विवरण|website=Microsoft}}</ref>उदाहरण के लिए, पता पुस्तिका एप्लिकेशन को सामान्यतः संपर्क नाम, वैकल्पिक छवि, अधिक फ़ोन नंबर, अधिक डाक पते, और अधिक ईमेल पते संग्रहीत करने की आवश्यकता होगी। विहित संबंधपरक डेटाबेस में डेटा के प्रत्येक बिट के लिए पूर्वनिर्धारित क्षेत्रों के साथ इन पंक्तियों में से प्रत्येक के लिए तालिकाएँ बनाई जाएंगी। संपर्क तालिका में FIRST_नाम, उपनाम और छवि कॉलम सम्मलित हो सकते हैं, जबकि फ़ोन नंबर तालिका में देश कोड, क्षेत्र कोड, फोन नंबर और घर, काम, आदि सम्मलित हो सकते हैं। फ़ोन नंबर तालिका में विदेशी कुंजी स्तंभ, संपर्क_आईडी भी सम्मलित है, जिसमें संपर्क बनाए जाने के समय निर्दिष्ट विशिष्ट आईडी संख्या होती है। मूल संपर्क को फिर से बनाने के लिए, डेटाबेस इंजन तालिकाओं के समूह में संबंधित वस्तुओं को देखने के लिए विदेशी कुंजियों का उपयोग करता है और मूल डेटा का पुनर्निर्माण करता है।


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


== कार्यान्वयन ==
== कार्यान्वयन ==
{{main cat|Document-oriented databases}}
{{main cat|दस्तावेज़-उन्मुख डेटाबेस}}


{| class="wikitable sortable"
{| class="wikitable sortable"
|-
|-
! Name
! नाम
! Publisher
! Publisher
! License
! License
Line 97: Line 97:
! [[Representational State Transfer|RESTful]] एपीआई
! [[Representational State Transfer|RESTful]] एपीआई
|-
|-
| [[Aerospike (database)|Aerospike]]
| [[Aerospike (database)|एयरोस्पाइक]]
| [[Aerospike (company)|Aerospike]]
| [[Aerospike (company)|एयरोस्पाइक]]
| {{Open source|[[GNU Affero General Public License|AGPL]]}} and [[proprietary software|Proprietary]]
| {{Open source|[[GNU Affero General Public License|AGPL]]}} and [[proprietary software|Proprietary]]
| [[C (programming language)|C]], [[C Sharp (programming language)|C#]], [[Java (programming language)|Java]], [[Scala (programming language)|Scala]], [[Python (programming language)|Python]], [[Node.js]], [[PHP]], [[Go (programming language)|Go]], [[Rust (programming language)|Rust]], [[Spring Framework]]  
| [[C (programming language)|C]], [[C Sharp (programming language)|C#]], [[Java (programming language)|Java]], [[Scala (programming language)|Scala]], [[Python (programming language)|Python]], [[Node.js]], [[PHP]], [[Go (programming language)|Go]], [[Rust (programming language)|Rust]], [[Spring Framework]]  
|Aerospike is a flash-optimized and in-memory distributed key value नोएसक्यूएल database which also supports a document store model.<ref>{{cite web |title=Documentation {{!}} Aerospike - Key-Value Store |url=https://docs.aerospike.com/docs/guide/kvs.html |website=docs.aerospike.com |access-date=3 May 2021}}</ref>
|एयरोस्पाइक एक फ्लैश-ऑप्टिमाइज्ड और इन-मेमोरी डिस्ट्रीब्यूटेड की वैल्यू नोक्यूएल डेटाबेस है जो एक डॉक्यूमेंट स्टोर मॉडल को भी सपोर्ट करता है।<ref>{{cite web |title=Documentation {{!}} Aerospike - Key-Value Store |url=https://docs.aerospike.com/docs/guide/kvs.html |website=docs.aerospike.com |access-date=3 May 2021}}</ref>
| {{yes}}<ref>{{cite web |title=Documentation {{!}} Aerospike |url=https://docs.aerospike.com/docs/client/rest/index.html |website=docs.aerospike.com |access-date=3 May 2021}}</ref>
| {{yes}}<ref>{{cite web |title=Documentation {{!}} Aerospike |url=https://docs.aerospike.com/docs/client/rest/index.html |website=docs.aerospike.com |access-date=3 May 2021}}</ref>
|-
|-
Line 108: Line 108:
| {{proprietary}}
| {{proprietary}}
| [[Java (programming language)|Java]], [[Python (programming language)|Python]], [[Common Lisp (programming language)|Common Lisp]], [[Ruby (programming language)|Ruby]], [[Scala (programming language)|Scala]], [[C Sharp (programming language)|C#]], [[Perl]]
| [[Java (programming language)|Java]], [[Python (programming language)|Python]], [[Common Lisp (programming language)|Common Lisp]], [[Ruby (programming language)|Ruby]], [[Scala (programming language)|Scala]], [[C Sharp (programming language)|C#]], [[Perl]]
| The database platform supports document store and graph data models in a single database. Supports [[JSON|जेएसओएन]], [[JSON-LD|जेएसओएन-LD]], [[Resource Description Framework|RDF]], full-text search, [[ACID]], [[Two-phase commit protocol|two-phase commit]], [[Multi-master replication|Multi-Master Replication]], [[Prolog]] and [[SPARQL]].
| डेटाबेस प्लेटफ़ॉर्म एक ही डेटाबेस में दस्तावेज़ स्टोर और ग्राफ़ डेटा मॉडल का समर्थन करता है। [[कामओएन]], [[कामओएन-एलडी, आरडीएफ, पूर्ण-पाठ खोज, एसीआईडी]], दो चरण की प्रतिबद्धता, [[मल्टी-मास्टर प्रतिकृति, प्रोलॉग]] और [[एसपीएआरक्यूएल]] का समर्थन करता है।
| {{yes}}<ref>{{cite web|url=https://franz.com/agraph/support/documentation/current/http-protocol.html|title=HTTP Protocol for AllegroGraph}}</ref>
| {{yes}}<ref>{{cite web|url=https://franz.com/agraph/support/documentation/current/http-protocol.html|title=HTTP Protocol for AllegroGraph}}</ref>
|-
|-
Line 115: Line 115:
| {{Open source|[[Apache License]]}}
| {{Open source|[[Apache License]]}}
| [[C (programming language)|C]], [[C Sharp (programming language)|C#]], [[Java (programming language)|Java]], [[Python (programming language)|Python]], [[Node.js]], [[PHP]], [[Scala (programming language)|Scala]], [[Go (programming language)|Go]], [[Ruby (programming language)|Ruby]], [[Elixir]]
| [[C (programming language)|C]], [[C Sharp (programming language)|C#]], [[Java (programming language)|Java]], [[Python (programming language)|Python]], [[Node.js]], [[PHP]], [[Scala (programming language)|Scala]], [[Go (programming language)|Go]], [[Ruby (programming language)|Ruby]], [[Elixir]]
| The database system supports document store as well as key/value and graph data models with one database core and a unified query language AQL (ArangoDB Query Language).
| डेटाबेस सिस्टम एक डेटाबेस कोर और एक एकीकृत क्वेरी भाषा AQL (ए रेंजो डी बी क्वेरी भाषा) के साथ दस्तावेज़ स्टोर के साथ-साथ कुंजी/मान और ग्राफ़ डेटा मॉडल का समर्थन करता है।
| {{yes}}<ref>{{Cite web|url=https://www.arangodb.com/|title=Multi-model highly available NoSQL database|website=ArangoDB}}</ref>
| {{yes}}<ref>{{Cite web|url=https://www.arangodb.com/|title=Multi-model highly available NoSQL database|website=ArangoDB}}</ref>
|-
|-
Line 122: Line 122:
| {{Open source|[[Apache License]]}}
| {{Open source|[[Apache License]]}}
| [[Java (programming language)|Java]]
| [[Java (programming language)|Java]]
| Multi-model database supporting document, graph, and key/value models, queried by a SQL dialect.
| बहु-मॉडल डेटाबेस समर्थन दस्तावेज़, ग्राफ़, और कुंजी/मान मॉडल, SQL बोली द्वारा पूछे गए।
| {{yes}}<ref>{{Cite web|url=https://docs.arcadedb.com/#HTTP-API|title=HTTP API|website=ArcadeDB}}</ref>
| {{yes}}<ref>{{Cite web|url=https://docs.arcadedb.com/#HTTP-API|title=HTTP API|website=ArcadeDB}}</ref>
|-
|-
Line 129: Line 129:
| {{Open source|[[BSD License]]}}
| {{Open source|[[BSD License]]}}
| [[Java (programming language)|Java]], [[XQuery]]
| [[Java (programming language)|Java]], [[XQuery]]
| Support for एक्सएमएल, जेएसओएन and binary formats; client-/server based architecture; concurrent structural and full-text searches and updates.
| निर्धारण, कार्यओएन और बाइनरी स्वरूपों के लिए समर्थन; क्लाइंट-/सर्वर आधारित आर्किटेक्चर; समवर्ती संरचनात्मक और पूर्ण-पाठ खोज और अद्यतन।
| {{yes}}
| {{yes}}
|-
|-
Line 136: Line 136:
| {{proprietary}}
| {{proprietary}}
| [[Java (programming language)|Java]], [[C Sharp (programming language)|C#]], [[Node.js]]
| [[Java (programming language)|Java]], [[C Sharp (programming language)|C#]], [[Node.js]]
| Commonly used in Health, Business and Government applications.
| आमतौर पर स्वास्थ्य, व्यापार और सरकारी अनुप्रयोगों में उपयोग किया जाता है।
| {{yes}}
| {{yes}}
|-
|-
Line 143: Line 143:
| {{proprietary}}
| {{proprietary}}
| [[Erlang (programming language)|Erlang]], [[Java (programming language)|Java]], [[Scala (programming language)|Scala]], and [[C (programming language)|C]]
| [[Erlang (programming language)|Erlang]], [[Java (programming language)|Java]], [[Scala (programming language)|Scala]], and [[C (programming language)|C]]
| Distributed database service based on [[BigCouch]], the company's [[Open-source model|open source]] fork of the [[Apache Software Foundation|अपाचे]]-backed [[CouchDB]] project. Uses जेएसओएन model.
| बिग काउच पर आधारित वितरित डेटाबेस सेवा, कंपनी का अपाचे समर्थित काउचडीबी प्रोजेक्ट का ओपन सोर्स फोर्क। कामओन मॉडल का उपयोग करता है।
| {{yes}}
| {{yes}}
|-
|-

Revision as of 14:05, 1 March 2023

दस्तावेज़-उन्मुख डेटाबेस, दस्तावेज़ भंडार , कंप्यूटर प्रोग्राम और डेटा भंडारण प्रणाली है। जिसे दस्तावेज़-उन्मुख जानकारी को संग्रहीत करने, पुनर्प्राप्त करने और प्रबंधित करने के लिए रचना किया गया है, जिसे अर्ध-संरचित मॉडल के रूप में भी जाना जाता है।[1]दस्तावेज़-उन्मुख डेटाबेस नोएसक्यूएल डेटाबेस की मुख्य श्रेणियों में से हैं और दस्तावेज़-उन्मुख डेटाबेस शब्द की लोकप्रियता बढ़ी है[2] नोएसक्यूएल शब्द के उपयोग के साथ ही एक्सएमएल डेटाबेस दस्तावेज़-उन्मुख डेटाबेस का उपवर्ग है जो एक्सएमएल दस्तावेज़ों के साथ काम करने के लिए अनुकूलित है। ग्राफ डेटाबेस समान हैं, किन्तु और परत जोड़ते हैं, संबंधपरक जो उन्हें तेजी से पार करने के लिए दस्तावेज़ों को लिंक करने की अनुमति देता है।

दस्तावेज़-उन्मुख डेटाबेस स्वाभाविक रूप से मौलिक मूल्य डेटाबेस भंडार अन्य नोएसक्यूएल डेटाबेस अवधारणा का उपवर्ग है। यह अंतर डेटा संसाधित करने के प्रणाली में निहित है। मौलिक मूल्य भंडार में डेटा को डेटाबेस के लिए स्वाभाविक रूप से अपारदर्शी माना जाता है, जबकि दस्तावेज़-उन्मुख प्रणाली मेटा डेटा निकालने के लिए दस्तावेज़ में आंतरिक संरचना पर निर्भर करती है जिसे डेटाबेस इंजन आगे अनुकूलन के लिए उपयोग करता है। चूंकि प्रणाली में उपकरणों के कारण अंतर अधिकांशतः नगण्य होता है,[lower-alpha 1] वैचारिक रूप से दस्तावेज़-भंडार को आधुनिक प्रोग्रामिंग तकनीकों के साथ समृद्ध अनुभव प्रदान करने के लिए रचना किया गया है।

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

दस्तावेज़

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

दस्तावेज़ भंडार में दस्तावेज़ मोटे प्रकार से किसी वस्तु की प्रोग्रामिंग अवधारणा के बराबर होते हैं। उन्हें मानक स्कीमा का पालन करने की आवश्यकता नहीं है, न ही उनके पास सभी समान खंड, छेद, भाग या कुंजियाँ होंगी। सामान्यतः वस्तुओं का उपयोग करने वाले प्रोग्राम में कई अलग-अलग प्रकार की वस्तुएं होती हैं और उन वस्तुओं में अधिकांशतः कई वैकल्पिक क्षेत्र होते हैं। प्रत्येक वस्तु, यहां तक ​​कि ही वर्ग की भी, बहुत अलग दिख सकती है। दस्तावेज़ भंडार समान हैं कि वे ही भंडार में विभिन्न प्रकार के दस्तावेज़ों को अनुमति देते हैं, उनके भीतर क्षेत्र वैकल्पिक होने की अनुमति देते हैं। अधिकांशतः उन्हें विभिन्न संकेतीकरण प्रणाली का उपयोग करके कूटलेखन करने की अनुमति देते हैं। उदाहरण के लिए, निम्नलिखित जेएसओएन में कूटलेखनेड दस्तावेज़ है।

{
    "FirstName": "Bob", 
    "Address": "5 Oak St.", 
    "Hobby": "sailing"
}

्सएमएल में दूसरा दस्तावेज़ कूटलेखन किया जा सकता है:

  <contact>
    <firstname>Bob</firstname>
    <lastname>Smith</lastname>
    <phone type="Cell">(123) 555-0178</phone>
    <phone type="Work">(890) 555-0133</phone>
    <address>
      <type>Home</type>
      <street1>123 Back St.</street1>
      <city>Boys</city>
      <state>AR</state>
      <zip>32225</zip>
      <country>US</country>
    </address>
  </contact>

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

दस्तावेज़ डेटाबेस सामान्यतः अतिरिक्त मेटाडेटा को दस्तावेज़ सामग्री के साथ संबद्ध और संग्रहीत करने के लिए प्रदान करते हैं। वह मेटाडेटा सुविधाओं से संबंधित हो सकता है, जो डेटाभंडार दस्तावेज़ों को व्यवस्थित करने, सुरक्षा प्रदान करने और अन्य कार्यान्वयन विशिष्ट सुविधाओं के लिए प्रदान करता है।

सीआरयूडी संचालन

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

  • निर्माण या सम्मिलन
  • पुनर्प्राप्ति या क्वेरी, खोज, पढ़ना या खोजना
  • अपडेट करें या संपादित करें
  • हटाना

कुंजी

दस्तावेज़ों को डेटाबेस में अद्वितीय कुंजी के माध्यम से संबोधित किया जाता है, जो उस दस्तावेज़ का प्रतिनिधित्व करता है। यह कुंजी साधारण पहचानकर्ता ( आईडी), सामान्यतः शृंखला (कंप्यूटर विज्ञान), यूआरआई पथ (कंप्यूटिंग) है। डेटाबेस से दस्तावेज़ को पुनः प्राप्त करने के लिए कुंजी का उपयोग किया जा सकता है। सामान्यतः डेटाबेस दस्तावेज़ पुनर्प्राप्ति को गति देने के लिए कुंजी पर डाटाबेस अनुक्रमणिका रखता है और कुछ स्थितियों में डेटाबेस में दस्तावेज़ बनाने और सम्मिलित करने के लिए कुंजी की आवश्यकता होती है।

पुनर्प्राप्ति

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

यह यहाँ है कि दस्तावेज़ भंडार मौलिक मूल्य भंडार से सबसे अधिक भिन्न होता है। सिद्धांत रूप में, मौलिक मूल्य भंडार में मान भंडार के लिए अपारदर्शी होते हैं, वे अनिवार्य रूप से काला बॉक्स होते हैं। वे दस्तावेज़ भंडार के समान खोज प्रणाली की प्रस्तुत कर सकते हैं, किन्तु सामग्री के संगठन के बारे में कम समझ हो सकती है। दस्तावेज़ भंडार सामग्री को वर्गीकृत करने के लिए दस्तावेज़ में मेटाडेटा का उपयोग करते हैं। उदाहरण के लिए, उन्हें यह समझने की अनुमति देता है कि अंकों की श्रृंखला फ़ोन नंबर है और दूसरा डाक कोड है। यह उन्हें उन प्रकार के डेटा पर खोज करने की अनुमति देता है, उदाहरण के लिए, 555 वाले सभी फ़ोन नंबर, जो ज़िप कोड 55555 को अनदेखा कर देंगे।

संपादन

दस्तावेज़ डेटाबेस सामान्यतः दस्तावेज़ की सामग्री मेटाडेटा को अद्यतन या संपादित करने के लिए कुछ तंत्र प्रदान करते हैं, तो पूरे दस्तावेज़ के प्रतिस्थापन की अनुमति देकर दस्तावेज़ के अलग-अलग संरचनात्मक टुकड़े हैं।

संगठन

दस्तावेज़ डेटाबेस कार्यान्वयन दस्तावेज़ों को व्यवस्थित करने के विभिन्न विधियों को प्रस्तुत करता है, जिसमें की धारणाएँ भी सम्मलित हैं।

  • संग्रह: दस्तावेजों के समूह जहां कार्यान्वयन के आधार पर संग्रह के अंदर रहने के लिए दस्तावेज़ को लागू किया जा सकता है, और कई संग्रहों में रहने की अनुमति दी जा सकती है।
  • टैग और अदृश्य मेटाडेटा: दस्तावेज़ सामग्री के बाहर अतिरिक्त डेटा हैं।
  • निर्देशिका पदानुक्रम: पेड़ जैसी संरचना में व्यवस्थित दस्तावेजों के समूह सामान्यतः पथ यूआरआई पर आधारित होते हैं।

कभी-कभी ये संगठनात्मक विचार इस बात में भिन्न होते हैं कि वे कितने तार्किक विरूद्ध भौतिक हैं, जैसे डिस्क पर मेमोरी में अभ्यावेदन।

अन्य डेटाबेस से संबंध

मौलिक मूल्य भंडार से संबंध

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

खोज इंजन से संबंध

अपाचे सोलर और एलास्टिकसेअर्च जैसे कुछ खोज इंजन उर्फ सूचना पुनर्प्राप्ति प्रणाली दस्तावेज़-उन्मुख डेटाबेस की परिभाषा में उपयुक्त होने के लिए दस्तावेज़ों पर पर्याप्त मुख्य संचालन प्रदान करते हैं।

संबंधपरक डेटाबेस से संबंध

संबंधपरक डेटाबेस में, डेटा को पहले कई पूर्वनिर्धारित प्रकारों में वर्गीकृत किया जाता है और प्रत्येक प्रकार की अलग-अलग प्रविष्टियाँ आलेख रखने के लिए तालिकाएँ बनाई जाती हैं। तालिकाएँ प्रत्येक आलेख के क्षेत्र में डेटा को परिभाषित करती हैं, जिसका अर्थ है कि तालिका में प्रत्येक आलेख का समग्र रूप समान है। व्यवस्थापक तालिकाओं के बीच संबंधों को भी परिभाषित करता है और कुछ निश्चित क्षेत्रों का चयन करता है। जो उनके अनुसार खोज के लिए सबसे अधिक उपयोग किए जाएंगे और उन पर अनुक्रमणिका को परिभाषित करता है। संबंधात्मक बनावट में महत्वपूर्ण अवधारणा यह है कि कोई भी डेटा जिसे दोहराया जा सकता है, सामान्य रूप से अपनी तालिका में रखा जाता है और यदि ये उदाहरण -दूसरे से संबंधित हैं। तो उन्हें साथ समूहित करने के लिए कॉलम चुना जाता है, विदेशी कुंजी। इस रचना को डेटाबेस सामान्यीकरण के रूप में जाना जाता है।[3]उदाहरण के लिए, पता पुस्तिका एप्लिकेशन को सामान्यतः संपर्क नाम, वैकल्पिक छवि, अधिक फ़ोन नंबर, अधिक डाक पते, और अधिक ईमेल पते संग्रहीत करने की आवश्यकता होगी। विहित संबंधपरक डेटाबेस में डेटा के प्रत्येक बिट के लिए पूर्वनिर्धारित क्षेत्रों के साथ इन पंक्तियों में से प्रत्येक के लिए तालिकाएँ बनाई जाएंगी। संपर्क तालिका में FIRST_नाम, उपनाम और छवि कॉलम सम्मलित हो सकते हैं, जबकि फ़ोन नंबर तालिका में देश कोड, क्षेत्र कोड, फोन नंबर और घर, काम, आदि सम्मलित हो सकते हैं। फ़ोन नंबर तालिका में विदेशी कुंजी स्तंभ, संपर्क_आईडी भी सम्मलित है, जिसमें संपर्क बनाए जाने के समय निर्दिष्ट विशिष्ट आईडी संख्या होती है। मूल संपर्क को फिर से बनाने के लिए, डेटाबेस इंजन तालिकाओं के समूह में संबंधित वस्तुओं को देखने के लिए विदेशी कुंजियों का उपयोग करता है और मूल डेटा का पुनर्निर्माण करता है।

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

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

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

कार्यान्वयन

नाम Publisher License Languages supported Notes RESTful एपीआई
एयरोस्पाइक एयरोस्पाइक AGPL and Proprietary C, C#, Java, Scala, Python, Node.js, PHP, Go, Rust, Spring Framework एयरोस्पाइक एक फ्लैश-ऑप्टिमाइज्ड और इन-मेमोरी डिस्ट्रीब्यूटेड की वैल्यू नोक्यूएल डेटाबेस है जो एक डॉक्यूमेंट स्टोर मॉडल को भी सपोर्ट करता है।[5] Yes[6]
AllegroGraph Franz, Inc. Proprietary Java, Python, Common Lisp, Ruby, Scala, C#, Perl डेटाबेस प्लेटफ़ॉर्म एक ही डेटाबेस में दस्तावेज़ स्टोर और ग्राफ़ डेटा मॉडल का समर्थन करता है। कामओएन, कामओएन-एलडी, आरडीएफ, पूर्ण-पाठ खोज, एसीआईडी, दो चरण की प्रतिबद्धता, मल्टी-मास्टर प्रतिकृति, प्रोलॉग और एसपीएआरक्यूएल का समर्थन करता है। Yes[7]
ArangoDB ArangoDB Apache License C, C#, Java, Python, Node.js, PHP, Scala, Go, Ruby, Elixir डेटाबेस सिस्टम एक डेटाबेस कोर और एक एकीकृत क्वेरी भाषा AQL (ए रेंजो डी बी क्वेरी भाषा) के साथ दस्तावेज़ स्टोर के साथ-साथ कुंजी/मान और ग्राफ़ डेटा मॉडल का समर्थन करता है। Yes[8]
ArcadeDB Arcade Data Ltd Apache License Java बहु-मॉडल डेटाबेस समर्थन दस्तावेज़, ग्राफ़, और कुंजी/मान मॉडल, SQL बोली द्वारा पूछे गए। Yes[9]
BaseX BaseX Team BSD License Java, XQuery निर्धारण, कार्यओएन और बाइनरी स्वरूपों के लिए समर्थन; क्लाइंट-/सर्वर आधारित आर्किटेक्चर; समवर्ती संरचनात्मक और पूर्ण-पाठ खोज और अद्यतन। Yes
Caché InterSystems Corporation Proprietary Java, C#, Node.js आमतौर पर स्वास्थ्य, व्यापार और सरकारी अनुप्रयोगों में उपयोग किया जाता है। Yes
Cloudant Cloudant, Inc. Proprietary Erlang, Java, Scala, and C बिग काउच पर आधारित वितरित डेटाबेस सेवा, कंपनी का अपाचे समर्थित काउचडीबी प्रोजेक्ट का ओपन सोर्स फोर्क। कामओन मॉडल का उपयोग करता है। Yes
Clusterpoint Database Clusterpoint Ltd. Proprietary with free download JavaScript, SQL, PHP, C#, Java, Python, Node.js, C, C++, Distributed document-oriented एक्सएमएल / जेएसओएन database platform with ACID-compliant transactions; high-availability data replication and sharding; built-in full-text search engine with relevance ranking; JS/SQL query language; GIS; Available as pay-per-use database as a service or as an on-premise free software download. Yes
Couchbase Server Couchbase, Inc. Apache License C, C#, Java, Python, Node.js, PHP, SQL, Go, Spring Framework, LINQ Distributed नोएसक्यूएल Document Database, जेएसओएन model and SQL based Query Language. Yes[10]
CouchDB अपाचे Software Foundation Apache License Any language that can make HTTP requests जेएसओएन over REST/HTTP with Multi-Version Concurrency Control and limited ACID properties. Uses map and reduce for views and queries.[11] Yes[12]
CrateIO CRATE Technology GmbH Apache License Java Use familiar SQL syntax for real time distributed queries across a cluster. Based on Lucene / एलास्टिकसेअर्च ecosystem with built-in support for binary objects (BLOBs). Yes[13]
Cosmos DB Microsoft Proprietary C#, Java, Python, Node.js, JavaScript, SQL Platform-as-a-Service offering, part of the Microsoft Azure platform. Builds upon and extends the earlier Azure DocumentDB. Yes
DocumentDB Amazon Web Services Proprietary online service various, REST fully managed MongoDB v3.6-compatible database service Yes
DynamoDB Amazon Web Services Proprietary Java, JavaScript, Node.js, Go, C# .NET, Perl, PHP, Python, Ruby, Rust, Haskell, Erlang, Django, and Grails fully managed proprietary नोएसक्यूएल database service that supports key–value and document data structures Yes
एलास्टिकसेअर्च Shay Banon Dual-licensed under Server Side Public License and Elastic license. Java जेएसओएन, Search engine. Yes
eXist eXist LGPL XQuery, Java एक्सएमएल over REST/HTTP, WebDAV, Lucene Fulltext search, binary data support, validation, versioning, clustering, triggers, URL rewriting, collections, ACLS, XQuery Update Yes[14]
Informix IBM Proprietary, with no-cost editions[15] Various (Compatible with MongoDB एपीआई) आरडीबीMS with जेएसओएन, replication, sharding and ACID compliance. Yes
Jackrabbit अपाचे Foundation Apache License Java Java Content Repository implementation ?
HCL Notes (HCL Domino) HCL Proprietary LotusScript, Java, Notes Formula Language MultiValue Yes
MarkLogic MarkLogic Corporation Free Developer license or Commercial[16] Java, JavaScript, Node.js, XQuery, SPARQL, XSLT, C++ Distributed document-oriented database for जेएसओएन, एक्सएमएल, and RDF triples. Built-in full-text search, ACID transactions, high availability and disaster recovery, certified security. Yes
MongoDB MongoDB, Inc Server Side Public License for the DBMS, Apache 2 License for the client drivers[17] C, C++, C#, Java, Perl, PHP, Python, Go, Node.js, Ruby, Rust,[18] Scala[19] Document database with replication and sharding, बीएसओएन store (binary format जेएसओएन). Yes[20][21]
MUMPS Database ? Proprietary and Affero GPL[22] MUMPS Commonly used in health applications. ?
ObjectDatabase++ Ekky Software Proprietary C++, C#, TScript Binary Native C++ class structures ?
OpenLink Virtuoso OpenLink Software GPLv2[1] and proprietary C++, C#, Java, SPARQL Middleware and database engine hybrid Yes
OrientDB Orient Technologies Apache License Java जेएसओएन over HTTP, SQL support, ACID transactions Yes
Oracle नोएसक्यूएल Database Oracle Corp अपाचे and proprietary C, C#, Java, Python, node.js, Go Shared nothing, horizontally scalable database with support for schema-less जेएसओएन, fixed schema tables, and key/value pairs. Also supports ACID transactions. Yes
Qizx Qualcomm Proprietary REST, Java, XQuery, XSLT, C, C++, Python Distributed document-oriented एक्सएमएल database with integrated full-text search; support for जेएसओएन, text, and binaries. Yes
Redisजेएसओएन Redis Redis Source Available License (RSAL) Python जेएसओएन with integrated full-text search.[23] Yes
RethinkDB ? Apache License[24] C++, Python, JavaScript, Ruby, Java Distributed document-oriented जेएसओएन database with replication and sharding. No
SAP HANA SAP Proprietary SQL-like language ACID transaction supported, जेएसओएन only Yes
Sedna sedna.org Apache License C++, XQuery एक्सएमएल database No
SimpleDB Amazon Web Services Proprietary online service Erlang ?
अपाचे सोलर अपाचे Software Foundation Apache License[25] Java जेएसओएन, CSV, एक्सएमएल, and a few other formats.[26] Search engine. Yes[27]
TerminusDB TerminusDB Apache License Python, Node.js, JavaScript The database system supports document store as well as graph data models with one database core and a unified, datalog based query language WOQL (Web Object Query Language).[28] Yes
TokuMX Tokutek GNU Affero General Public License C++, C#, Go MongoDB with Fractal Tree indexing ?


्सएमएल डेटाबेस कार्यान्वयन

अधिकांश एक्सएमएल डेटाबेस दस्तावेज़-उन्मुख डेटाबेस हैं।

यह भी देखें

टिप्पणियाँ

  1. To the point that document-oriented and key-value systems can often be interchanged in operation.
  2. And key-value stores in general.


संदर्भ

  1. Drake, Mark (9 August 2019). "NoSQL डेटाबेस मैनेजमेंट सिस्टम और मॉडल की तुलना". DigitalOcean. Archived from the original on 13 August 2019. Retrieved 23 August 2019. Document-oriented databases, or document stores, are NoSQL databases that store data in the form of documents. Document stores are a type of key-value store: each document has a unique identifier — its key — and the document itself serves as the value.
  2. "DB-Engines Ranking per database model category".
  3. "डेटाबेस सामान्यीकरण मूल बातें का विवरण". Microsoft.
  4. Wambler, Scott. "वस्तु-संबंधपरक प्रतिबाधा बेमेल". Agile Data.
  5. "Documentation | Aerospike - Key-Value Store". docs.aerospike.com. Retrieved 3 May 2021.
  6. "Documentation | Aerospike". docs.aerospike.com. Retrieved 3 May 2021.
  7. "HTTP Protocol for AllegroGraph".
  8. "Multi-model highly available NoSQL database". ArangoDB.
  9. "HTTP API". ArcadeDB.
  10. Documentation Archived 2012-08-20 at the Wayback Machine. Couchbase. Retrieved on 2013-09-18.
  11. "Apache CouchDB". Apache Couchdb. Archived from the original on October 20, 2011.
  12. "HTTP_Document_API - Couchdb Wiki". Archived from the original on 2013-03-01. Retrieved 2011-10-14.
  13. "Crate SQL HTTP Endpoint (Archived copy)". Archived from the original on 2015-06-22. Retrieved 2015-06-22.
  14. eXist-db Open Source Native XML Database. Exist-db.org. Retrieved on 2013-09-18.
  15. "Compare the Informix Version 12 editions". 22 July 2016.
  16. "MarkLogic Licensing". Archived from the original on 2012-01-12. Retrieved 2011-12-28.
  17. "MongoDB Licensing".
  18. "The New MongoDB Rust Driver". MongoDB (in English). Retrieved 2018-02-01.
  19. "Community Supported Drivers Reference".
  20. "HTTP Interface — MongoDB Ecosystem". MongoDB Docs.
  21. "GitHub - mongodb/docs-ecosystem: MongoDB Ecosystem Documentation". June 27, 2019 – via GitHub.
  22. "GT.M High end TP database engine".
  23. "RedisJSON - a JSON data type for Redis".
  24. "Transferring copyright to The Linux Foundation, relicensing RethinkDB under ASLv2". github.com. Retrieved 27 January 2020.
  25. "solr/LICENSE.txt at main · apache/solr · GitHub". github.com. Retrieved 24 December 2022.
  26. "Response Writers :: Apache Solr Reference Guide". solr.apache.org. Retrieved 24 December 2022.
  27. "Managed Resources :: Apache Solr Reference Guide". solr.apache.org. Retrieved 24 December 2022.
  28. "TerminusX - Why TerminusX". terminusdb.com. Retrieved 2021-12-16.


अग्रिम पठन


बाहरी संबंध