बहु-मॉडल डेटाबेस
डेटाबेस डिज़ाइन के क्षेत्र में, बहु-मॉडल डेटाबेस डेटाबेस प्रबंधन प्रणाली है जिसे एकल, एकीकृत बैकएंड के विरुद्ध कई डेटाबेस मॉडल का समर्थन करने के लिए डिज़ाइन किया गया है। इसके विपरीत, अधिकांश डेटाबेस प्रबंधन प्रणालियाँ एकल डेटा मॉडल के आसपास व्यवस्थित होती हैं जो यह निर्धारित करती हैं कि डेटा को कैसे व्यवस्थित, संग्रहीत और हेरफेर किया जा सकता है।[1] दस्तावेज़-उन्मुख डेटाबेस, ग्राफ डेटाबेस, संबंध का डेटाबेस और की-वैल्यू डेटाबेस | की-वैल्यू मॉडल डेटा मॉडल के उदाहरण हैं जो बहु-मॉडल डेटाबेस द्वारा समर्थित हो सकते हैं।
पृष्ठभूमि
1970 में एडगर एफ. कॉड द्वारा प्रकाशन के बाद संबंधपरक मॉडल डेटा मॉडल लोकप्रिय हो गया। स्केलेबिलिटी # हॉरिजॉन्टल और वर्टिकल स्केलिंग और दोष सहिष्णुता के लिए बढ़ती आवश्यकताओं के कारण, NoSQL डेटाबेस 2009 के बाद प्रमुख हो गए। NoSQL डेटाबेस विभिन्न प्रकार के डेटा मॉडल का उपयोग करते हैं, साथ में दस्तावेज़-उन्मुख डेटाबेस, ग्राफ़ डेटाबेस और कुंजी-मूल्य मॉडल लोकप्रिय हैं।[2] बहु-मॉडल डेटाबेस डेटाबेस है जो से अधिक मॉडल में डेटा को स्टोर, इंडेक्स और क्वेरी कर सकता है। कुछ समय के लिए, डेटाबेस ने मुख्य रूप से केवल मॉडल का समर्थन किया है, जैसे: संबंधपरक डेटाबेस, दस्तावेज़-उन्मुख डेटाबेस, ग्राफ़ डेटाबेस या tiktor। डेटाबेस जो इनमें से कई को जोड़ता है वह बहु-मॉडल है।
कुछ समय के लिए, यह सब भूल गया था (या अप्रासंगिक माना जाता था) कि रिलेशनल के अलावा कोई अन्य डेटाबेस मॉडल भी थे। संबंधपरक मॉडल और तीसरे सामान्य रूप की धारणा सभी डेटा संग्रहण के लिए डिफ़ॉल्ट मानक थे। हालाँकि, रिलेशनल डेटा मॉडलिंग के प्रभुत्व से पहले, लगभग 1980 से 2005 तक, पदानुक्रमित डेटाबेस मॉडल का आमतौर पर उपयोग किया जाता था। 2000 या 2010 के बाद से, कई NoSQL मॉडल जो गैर-संबंधपरक हैं, जिनमें दस्तावेज़, ट्रिपल, की-वैल्यू स्टोर और ग्राफ़ शामिल हैं, लोकप्रिय हैं। यकीनन, भू-स्थानिक डेटा, टेम्पोरल डेटा और टेक्स्ट डेटा भी अलग-अलग मॉडल हैं, हालांकि अनुक्रमित, क्वेरी करने योग्य टेक्स्ट डेटा को आमतौर पर डेटाबेस के बजाय खोज इंजन कहा जाता है।[citation needed] पहली बार मल्टी-मॉडल शब्द को डेटाबेस से जोड़ा गया है, 30 मई, 2012 को कोलोन, जर्मनी में, लुका गरुल्ली के मुख्य नोट NoSQL एडॉप्शन - व्हाट्स द नेक्स्ट स्टेप के दौरान? .[3][4] Luca Garulli ने पहली पीढ़ी के NoSQL उत्पादों के नए उत्पादों में विकास की कल्पना की, जिसमें कई उपयोग मामलों द्वारा उपयोग की जाने वाली अधिक सुविधाएँ हैं।
बहु-मॉडल डेटाबेस के विचार को 1990 के दशक की शुरुआत में ऑब्जेक्ट-रिलेशनल डेटाबेस | ऑब्जेक्ट-रिलेशनल डेटा मैनेजमेंट सिस्टम्स (ORDBMS) और 1980 के दशक की शुरुआत में फ़ेडरेटेड और एकीकृत DBMSs तक अधिक व्यापक दायरे में देखा जा सकता है। ORDBMS सिस्टम DBMS कर्नेल में डोमेन विशिष्ट डेटा प्रकार, फ़ंक्शंस और इंडेक्स कार्यान्वयन को प्लग करके विभिन्न प्रकार के डेटा जैसे रिलेशनल, ऑब्जेक्ट, टेक्स्ट और स्थानिक का प्रबंधन करता है। मार्टिन फाउलर द्वारा वर्णित बहु-मॉडल क्षमता प्राप्त करने के लिए, बहु-मॉडल डेटाबेस सबसे प्रत्यक्ष रूप से बहु-डेटाबेस उत्पादों को साथ बुनाई के बहुभाषा दृढ़ता दृष्टिकोण की प्रतिक्रिया है, प्रत्येक अलग मॉडल को सौंपता है।[5] इस रणनीति के दो प्रमुख नुकसान हैं: यह परिचालन जटिलता में उल्लेखनीय वृद्धि की ओर जाता है, और अलग-अलग डेटा स्टोरों में डेटा स्थिरता बनाए रखने के लिए कोई समर्थन नहीं है, इसलिए बहु-मॉडल डेटाबेस ने इस अंतर को भरना शुरू कर दिया है।
बहु-मॉडल डेटाबेस का उद्देश्य बहुभाषाविद दृढ़ता के डेटा मॉडलिंग लाभों की पेशकश करना है,[5]इसके नुकसान के बिना। परिचालन जटिलता, विशेष रूप से, एकल डेटा स्टोर के उपयोग के माध्यम से कम हो जाती है।[2]
डेटाबेस
बहु-मॉडल डेटाबेस में शामिल हैं (वर्णमाला क्रम में):
- AllegroGraph - दस्तावेज़ (JSON, JSON-LD), ग्राफ़
- ArangoDB - दस्तावेज़ (JSON), ग्राफ़, की-वैल्यू
- आर्केडडीबी - दस्तावेज़ (जेएसओएन), ग्राफ, कुंजी-मूल्य, समय-श्रृंखला, एसक्यूएल, साइफर (क्वेरी भाषा), ग्रेमलिन (क्वेरी भाषा)
- Cosmos DB - दस्तावेज़ (JSON), ग्राफ़,[6] की-वैल्यू, एसक्यूएल
- काउचबेस - दस्तावेज़ (JSON), की-वैल्यू, N1QL
- डेटास्टैक्स - कुंजी-मूल्य, सारणीबद्ध, ग्राफ
- EnterpriseDB - दस्तावेज़ (XML और JSON), की-वैल्यू
- MarkLogic - दस्तावेज़ (XML और JSON), ग्राफ़ ट्रिपलस्टोर, बाइनरी, SQL
- Microsoft Azure SQL डेटाबेस - संबंधपरक, दस्तावेज़ (JSON), ग्राफ़, XML
- Oracle डाटाबेस - रिलेशनल, डॉक्यूमेंट (JSON और XML), ग्राफ ट्रिपलस्टोर, प्रॉपर्टी ग्राफ, की-वैल्यू, ऑब्जेक्ट्स
- ओरिएंटडीबी - दस्तावेज़ (जेएसओएन), ग्राफ, कुंजी-मूल्य, प्रतिक्रियाशील, एसक्यूएल
- PostgreSQL - रिलेशनल, डॉक्यूमेंट (JSON और XML), की-वैल्यू, ग्राफ, एरेज़, ऑब्जेक्ट्स
- रेडिस - की-वैल्यू, डॉक्यूमेंट (JSON), प्रॉपर्टी ग्राफ, स्ट्रीमिंग, टाइम-सीरीज़
- सैप हाना - संबंधपरक, दस्तावेज़ (जेएसओएन), ग्राफ, स्ट्रीमिंग
- कलाप्रवीण व्यक्ति यूनिवर्सल सर्वर - ओरेकल डाटाबेस, डॉक्यूमेंट (XML), ट्रिपलस्टोर
बहु-मॉडल डेटाबेस बेंचमार्किंग
जैसा कि बहु-मॉडल डेटा से निपटने के लिए अधिक से अधिक प्लेटफॉर्म प्रस्तावित हैं, बहु-मॉडल डेटाबेस बेंचमार्किंग पर कुछ कार्य हैं। उदाहरण के लिए, प्लूसीनिक,[7] ओलिविएरा,[8] और यूनीबेंच[9] मौजूदा मल्टी-मॉडल डेटाबेस की समीक्षा की और क्रमशः मल्टी-मॉडल डेटाबेस और अन्य SQL और NoSQL डेटाबेस की तुलना करने के लिए मूल्यांकन प्रयास किया। उन्होंने बताया कि एकल-मॉडल डेटाबेस की तुलना में मल्टी-मॉडल डेटाबेस के लाभ इस प्रकार हैं:
- they are able to ingest a variety of data formats such as CSV (including Graph, Relational), JSON into storage without any additional efforts.
- they can employ a unified query language such as AQL, Orient SQL, SQL/XML, SQL/JSON to retrieve correlated multi-model data, such as graph-JSON-key/value, XML-relational, and JSON-relational in a single platform.
- they are able to support multi-model ACID transactions in the stand-alone mode.
वास्तु
उपलब्ध मल्टी-मॉडल डेटाबेस के बीच मुख्य अंतर उनके आर्किटेक्चर से संबंधित है। बहु-मॉडल डेटाबेस इंजन के भीतर या इंजन के शीर्ष पर विभिन्न परतों के माध्यम से विभिन्न मॉडलों का समर्थन कर सकते हैं। कुछ उत्पाद इंजन प्रदान कर सकते हैं जो दस्तावेज़ों और ग्राफ़ का समर्थन करता है जबकि अन्य कुंजी-कुंजी स्टोर के शीर्ष पर परतें प्रदान करते हैं।[10] स्तरित वास्तुकला के साथ, प्रत्येक डेटा मॉडल अपने घटक-आधारित सॉफ़्टवेयर इंजीनियरिंग के माध्यम से प्रदान किया जाता है।
उपयोगकर्ता परिभाषित डेटा मॉडल
डेटा स्टोर में कई डेटा मॉडल पेश करने के अलावा, कुछ डेटाबेस डेवलपर्स को कस्टम डेटा मॉडल को आसानी से परिभाषित करने की अनुमति देते हैं। यह क्षमता उच्च प्रदर्शन और मापनीयता के साथ एसीआईडी लेनदेन द्वारा सक्षम है। कस्टम डेटा मॉडल के लिए समवर्ती अद्यतनों का समर्थन करने के लिए, डेटाबेस को कई कुंजियों में अद्यतनों को सिंक्रनाइज़ करने में सक्षम होना चाहिए। ACID लेन-देन, यदि वे पर्याप्त रूप से निष्पादक हैं, तो ऐसे तुल्यकालन की अनुमति दें।[11] JSON दस्तावेज़, ग्राफ़ और रिलेशनल टेबल सभी को इस तरह से लागू किया जा सकता है जो अंतर्निहित डेटा स्टोर की क्षैतिज मापनीयता और दोष-सहिष्णुता को प्राप्त करता है।
यह भी देखें
- बहु-मॉडल डेटाबेस की तुलना
- अम्ल
- बड़ा डेटा
- नोएसक्यूएल
- संरचित भंडारण सॉफ्टवेयर की तुलना
- डेटाबेस लेनदेन
- डेटा विश्लेषण
- वितरित डेटाबेस
- वितरित एसक्यूएल
- वितरित लेनदेन
- दस्तावेज़-उन्मुख डेटाबेस
- ग्राफ डेटाबेस
- संबंधपरक मॉडल
संदर्भ
- ↑ The 451 Group, "Neither Fish Nor Fowl: The Rise of Multi-Model Databases"
- ↑ 2.0 2.1 Infoworld, "The Rise of the Multi-Model Database"
- ↑ "Multi-Model storage 1/2 one product". 2012-06-01.
- ↑ "Nosql Matters Conference 2012 | NoSQL Matters CGN 2012" (PDF). 2012.nosql-matters.org. Retrieved 2017-01-12.
- ↑ 5.0 5.1 Polyglot Persistence
- ↑ "Build an Azure Cosmos DB .NET Framework, Core application using the Gremlin API".
- ↑ Ewa Pluciennik and Kamil Zgorzalek. "The Multi-model Databases - A Review". Bdas 2017: 141–152.
- ↑ Fábio Roberto Oliveira, Luis del Val Cura. "Performance Evaluation of NoSQL Multi-Model Data Stores in Polyglot Persistence Applications". Ideas '16: 230–235.
- ↑ Chao Zhang, Jiaheng Lu, Pengfei Xu, Yuxing Chen. "UniBench: A Benchmark for Multi-Model Database Management Systems" (PDF). TPCTC 2018.
{{cite journal}}
: CS1 maint: multiple names: authors list (link) - ↑ "layer"
- ↑ ODBMS, "Polyglot Persistence or Multiple Data Models?"