डेटाबेस ग्रह पर लगभग हर डिजिटल प्लेटफॉर्म को शक्ति प्रदान करता है:वेबसाइटों से लेकर ब्लॉग तक, सोशल मीडिया से लेकर स्ट्रीमिंग सेवाओं तक। अधिकांश एंड-यूज़र डेटा स्टोर करने के लिए एक उपकरण के रूप में MySQL जैसे डेटाबेस को जानते हैं। यह एक बहुत ही सटीक, हालांकि मौलिक है, एक डेटाबेस क्या है इसका विवरण। हालांकि, वे इससे कहीं अधिक हैं।
डेटाबेस के विभिन्न प्रकार
सामान्य शब्द डेटाबेस अक्सर दो अलग और अलग घटकों को भ्रमित करता है:डेटाबेस और डेटाबेस प्रबंधन प्रणाली (DBMS)। डेटाबेस डेटा को स्टोर करता है और DBMS वह टूल या टूल का सेट है, जिसका उपयोग आप डेटा को मैनेज करने के लिए करते हैं। डीबीएमएस को यहां संबोधित किया गया है, क्योंकि इसमें ऐसे उपकरण शामिल हैं जो डेटाबेस प्रशासकों को डेटाबेस के साथ संचार करने की अनुमति देते हैं ताकि वे इसे पूरी तरह से प्रबंधित और नियंत्रित कर सकें।
डेटाबेस प्रबंधन प्रणाली तीन परतों में विभाजित हैं:
- ग्राहक :मान्य SQL क्वेरी का उपयोग करके कमांड लाइन या GUI स्क्रीन के माध्यम से अनुरोध करता है।
- सर्वर :सर्वर की सभी तार्किक कार्यक्षमता के लिए जिम्मेदार।
- संग्रहण :डेटा संग्रहण को संभालता है।
उन परतों के भीतर एक थ्रेड हैंडलर, एक क्वेरी भाषा, एक पार्सर, एक ऑप्टिमाइज़र, एक क्वेरी कैश, एक बफर, टेबल मेटाडेटा कैश और एक कुंजी कैश जैसे उपकरण हैं। डेटा को संग्रहीत और पुनर्प्राप्त करने के लिए उपयोग करने के लिए व्यवस्थापक, उपयोगकर्ताओं और सॉफ़्टवेयर के लिए एक शक्तिशाली प्रणाली बनाने के लिए ये टुकड़े एक साथ आते हैं।
डीबीएमएस का एक महत्वपूर्ण पहलू क्वेरी भाषा है। यह एक विशेष भाषा है जिसका उपयोग डेटाबेस के साथ बातचीत करने के लिए किया जाता है। यह एक बहुत ही विशेष भाषा है और इसका उपयोग डीबीएमएस द्वारा निर्धारित विनिर्देशों के अनुसार किया जाना चाहिए। कुछ DBMS की अपनी, मालिकाना, क्वेरी भाषाएं होती हैं, लेकिन सबसे लोकप्रिय हैं:
- एसक्यूएल - संरचित क्वेरी भाषा बाजार में सबसे व्यापक रूप से उपयोग की जाने वाली क्वेरी भाषाओं में से एक है और इसका उपयोग MS SQL और MySQL द्वारा किया जाता है।
- XQuery - डेटा निकालने और हेरफेर करने के लिए XML फ़ाइल स्वरूप का उपयोग करता है।
- OQL - ऑब्जेक्ट-ओरिएंटेड डेटाबेस के लिए ऑब्जेक्ट क्वेरी लैंग्वेज डिफ़ॉल्ट भाषा है जो अक्सर बिग डेटा उपयोग के मामलों में उपयोग की जाती है।
- एसक्यूएल/एक्सएमएल - SQL और XQuery का संयोजन और XML डेटा पर SQL कथनों का समर्थन करता है।
- ग्राफक्यूएल - एक ओपन-सोर्स भाषा जो एपीआई के साथ काम करने में सक्षम है और एक रनटाइम भी है जिसका इस्तेमाल मौजूदा डेटा के खिलाफ प्रश्नों के लिए किया जा सकता है।
- LINQ - भाषा एकीकृत क्वेरी एक्सएमएल दस्तावेज़ और रिलेशनल डेटाबेस जैसे विभिन्न स्रोतों से डेटा निकालती है और संसाधित करती है।
रिलेशनल और नॉन-रिलेशनल डेटाबेस
DBMS दो प्राथमिक प्रकार के डेटाबेस का उपयोग करता है:रिलेशनल और नॉन-रिलेशनल। इन दोनों के बीच अंतर महत्वपूर्ण है, क्योंकि ये डेटाबेस के लिए सर्वोत्तम उपयोग के मामले को परिभाषित करने में मदद करते हैं।
एक रिलेशनल डेटाबेस वह है जो संबंधित डेटा वाली तालिकाओं में जानकारी संग्रहीत करता है। एक रिलेशनल डेटाबेस को इसका नाम क्या देता है कि दो या दो से अधिक टेबल के बीच संबंध बनाए जा सकते हैं। रिश्ते दो अलग-अलग तालिकाओं से संबंधित पंक्तियों को तीसरी तालिका में सहसंबंधित करते हैं। रिलेशनल डेटाबेस का सबसे अच्छा उपयोग तब किया जाता है जब उनके पास मौजूद डेटा अक्सर नहीं बदलता है और जब डेटा की सटीकता महत्वपूर्ण होती है।
गैर-संबंधपरक डेटाबेस (जिन्हें नोएसक्यूएल डेटाबेस भी कहा जाता है) अपनी जानकारी को गैर-सारणीबद्ध रूप में संग्रहीत करते हैं। इसके बजाय, गैर-संबंधपरक डेटाबेस डेटा मॉडल में डेटा संग्रहीत करते हैं, जिनमें से चार सबसे सामान्य प्रकार हैं:
- दस्तावेज़-उन्मुख - डेटा JSON दस्तावेज़ों के रूप में संग्रहीत किया जाता है।
- कुंजी-मूल्य - डेटा कुंजी जोड़े में संग्रहीत किया जाता है।
- ग्राफ़ - डेटा को नोड-एज-नोड संरचना में संग्रहीत किया जाता है।
- वाइड-कॉलम - डेटा को लचीले स्तंभों के साथ एक सारणीबद्ध प्रारूप में संग्रहीत किया जाता है जो पंक्ति से पंक्ति में भिन्न हो सकते हैं।
क्योंकि वे इस तरह से डेटा संग्रहीत करते हैं, गैर-संबंधपरक डेटाबेस अधिक लचीले होते हैं। वे विभिन्न प्रकार के डेटा की एक विस्तृत विविधता को संग्रहीत कर सकते हैं। यह उन्हें आदर्श बनाता है जब बड़ी मात्रा में जटिल डेटा संग्रहीत करना आवश्यक होता है, जैसे कि बिग डेटा एप्लिकेशन के साथ काम करते समय।
डेटाबेस में क्या देखना है
पूछने वाला पहला प्रश्न है, "क्या मुझे एक संबंधपरक या गैर-संबंधपरक डेटाबेस का उपयोग करना चाहिए?" एक रिलेशनल डेटाबेस का उपयोग उन उदाहरणों के लिए सबसे अच्छा किया जाता है जिनके लिए ACID . की आवश्यकता होती है (परमाणुता, संगति, अलगाव, स्थायित्व) अनुपालन, डेटा सटीकता, सामान्यीकरण और सरलता, लेकिन मापनीयता, लचीलेपन और उच्च प्रदर्शन की आवश्यकता नहीं है। एक रिलेशनल डेटाबेस उपयोग के मामले का एक अच्छा उदाहरण एक गतिशील, डेटाबेस-संचालित वेब साइट है जैसे वर्डप्रेस।
दूसरी ओर, गैर-संबंधपरक डेटाबेस का सबसे अच्छा उपयोग तब किया जाता है जब डेटा लचीलापन, गति और मापनीयता महत्वपूर्ण होती है। एक गैर-संबंधपरक डेटाबेस उपयोग के मामले का एक अच्छा उदाहरण एक क्लाउड-आधारित ऐप है जो बड़े पैमाने पर स्केलिंग पर निर्भर करता है।
आठ लोकप्रिय डेटाबेस
आठ सबसे लोकप्रिय डेटाबेस की इस सूची को 4 रिलेशनल और 4 नॉन-रिलेशनल डेटाबेस में बांटा गया है।
रिलेशनल डेटाबेस
आज बाजार में सबसे लोकप्रिय रिलेशनल डेटाबेस निम्नलिखित हैं।
Oracle
Oracle डेटाबेस मूल रूप से 1977 में विकसित किया गया था, जो इसे सूची में सबसे पुराना डेटाबेस बनाता है। जनवरी 2022 तक, Oracle दुनिया में सबसे व्यापक रूप से उपयोग किए जाने वाले रिलेशनल डेटाबेस मैनेजमेंट सिस्टम के रूप में शीर्ष स्थान पर है (1266.89 के स्टेटिस्टा रैंकिंग स्कोर के साथ)।
Oracle डाटाबेस पांच संस्करणों में आता है:
- उद्यम - उच्च उपलब्धता के लिए सभी डीबीएमएस सुविधाओं के साथ-साथ ओरेकल रियल एप्लिकेशन क्लस्टर विकल्प शामिल हैं।
- व्यक्तिगत - इसमें सभी सुविधाएं शामिल हैं, Oracle रीयल एप्लिकेशन क्लस्टर विकल्प को घटाकर।
- मानक - आधार कार्यक्षमता शामिल है।
- एक्सप्रेस - विंडोज और लिनक्स दोनों के लिए हल्का और मुफ्त सीमित संस्करण।
- ओरेकल लाइट - मोबाइल डिवाइस उपयोग के मामलों के लिए।
Oracle डेटाबेस के शीर्ष बाजार हिस्सेदारी स्थान रखने का प्राथमिक कारण यह है कि यह रिलेशनल डेटाबेस के सबसे अधिक स्केलेबल में से एक है। यह तार्किक और भौतिक के बीच अपनी वास्तुकला को विभाजित करके इसे प्राप्त करता है। ऐसा करने से, डेटा स्थान अप्रासंगिक और पारदर्शी हो जाता है, जो एक अधिक मॉड्यूलर संरचना की अनुमति देता है जिसे डेटाबेस को प्रभावित किए बिना संशोधित किया जा सकता है। इस तरह Oracle डेटाबेस का निर्माण करके, अधिक लचीले डेटा नेटवर्क को प्राप्त करने के लिए संसाधनों को साझा करना संभव है।
Oracle डेटाबेस की कुछ विशिष्ट विशेषताओं में शामिल हैं:
- असली एप्लिकेशन क्लस्टरिंग (आरएसी) और पोर्टेबिलिटी जो प्रदर्शन और डेटा स्थिरता खोए बिना स्केल करना संभव बनाता है।
- कुशल मेमोरी कैशिंग।
- अत्यधिक प्रदर्शन करने वाला विभाजन, जिससे बड़ी तालिकाओं को कई टुकड़ों में तोड़ना संभव हो जाता है।
- रिकवरी मैनेजर टूल के माध्यम से गर्म, ठंडा और वृद्धिशील बैकअप।
- डेटा पहुंच और उपयोग को नियंत्रित करने के लिए उपकरण।
Oracle डेटाबेस के लाभों में शामिल हैं:
- SQL क्वेरी भाषा का उपयोग करता है।
- उच्च प्रदर्शन।
- पोर्टेबल (लगभग 20 नेटवर्किंग प्रोटोकॉल और कई हार्डवेयर प्लेटफॉर्म पर चल सकता है)।
- इंस्टेंस केजिंग एक सर्वर से कई डेटाबेस प्रबंधन को चलाना संभव बनाता है।
- आपके व्यवसाय और/या उपयोग के मामले में सर्वोत्तम रूप से फिट होने के लिए कई संस्करण।
- मापनीयता, लोड संतुलन, अतिरेक और प्रदर्शन के लिए क्लस्टरिंग।
- RMAN (रिकवरी मैनेजर) टूल के माध्यम से विफलता रिकवरी।
- पीएल/एसक्यूएल समर्थन।
Oracle डाटाबेस के नुकसान में शामिल हैं:
- मालिकाना - Oracle ओपन-सोर्स नहीं है।
- जटिलता - यह बाजार पर अधिक जटिल संबंधपरक डेटाबेस में से एक है।
- लागत - Oracle डाटाबेस MS SQL से 10 गुना अधिक महंगा हो सकता है।
लिनोड के साथ Oracle डाटाबेस एक्सप्रेस संस्करण का उपयोग करने का तरीका जानें।
MySQL
MySQL बाजार में सबसे लोकप्रिय ओपन-सोर्स रिलेशनल डेटाबेस में से एक है। डीबी-इंजन के अनुसार, बाजार में सबसे अधिक उपयोग किए जाने वाले डेटाबेस में, MySQL को Oracle डेटाबेस के पीछे #2 स्थान पर रखा गया है।
मई, 1995 में जारी, MySQL परिपक्व और विश्वसनीय है। यह उपलब्ध सबसे भरोसेमंद विकल्पों में से एक है। C और C++ में लिखा गया, MySQL Linux, Solaris, macOS, Windows और FreeBSD पर चलता है, और GPLv2 के तहत लाइसेंस प्राप्त है।
MySQL एक रिलेशनल डेटाबेस है और गैर-रिलेशनल डेटाबेस की सीमा तक स्केल नहीं करता है, लेकिन यह मल्टी-थ्रेडिंग का समर्थन करता है, जिससे इसे इस तरह से स्केल करना संभव हो जाता है कि यह एक डिफ़ॉल्ट फ़ाइल के साथ 50 मिलियन से अधिक पंक्तियों को संभाल सकता है। 4GB की आकार सीमा, सैद्धांतिक सीमा 8 TB के साथ।
MySQL की कुछ विशिष्ट विशेषताओं में शामिल हैं:
सुरक्षा - संवेदनशील डेटा की सुरक्षा के लिए एक ठोस डेटा सुरक्षा परत का उपयोग करता है और सभी पासवर्ड एन्क्रिप्ट किए जाते हैं।रोल-बैक - लेन-देन को वापस लाने की अनुमति देता है।स्मृति कुशल - बहुत कम स्मृति रिसाव है।उत्पादक - उच्च उत्पादकता के लिए ट्रिगर, संग्रहीत कार्यविधियों और दृश्यों का उपयोग करता है।विभाजन - बहुत बड़े डेटाबेस के प्रदर्शन को बेहतर बनाने के लिए विभाजन का समर्थन करता है।जीयूआई - MySQL वर्कबेंच GUI डेटाबेस को मैनेज करता है।
MySQL का उपयोग करने के लाभों में शामिल हैं:
- निःशुल्क - यह एक मुफ़्त, ओपन-सोर्स डेटाबेस है जिसे आपकी ज़रूरत के अनुसार कई सर्वर इंस्टेंस पर स्थापित किया जा सकता है।
- परिचित - MySQL SQL क्वेरी भाषा का उपयोग करता है, इसलिए भाषा से परिचित db व्यवस्थापक इस DBMS के साथ कुछ ही समय में गति प्राप्त कर लेते हैं। MySQL भी विशिष्ट क्लाइंट/स्ट्रक्चर आर्किटेक्चर का अनुसरण करता है।
- गति - सबसे तेज़ रिलेशनल डेटाबेस में से एक है, अद्वितीय स्टोरेज इंजन के लिए धन्यवाद।
- एकीकरण - MySQL को हजारों तृतीय-पक्ष एप्लिकेशन, जैसे ब्लॉगिंग सिस्टम, CRM, HRM, ERP, और कई अन्य प्रकार के एप्लिकेशन में एकीकरण प्राप्त है।
एक लाइनोड सर्वर पर एक MySQL इंस्टेंस स्थापित करने का तरीका जानें।
Microsoft SQL Server
Microsoft SQL सर्वर Microsoft द्वारा विकसित DBMS है। यह डेटाबेस एक मालिकाना समाधान है, लेकिन इसे लिनक्स और विंडोज दोनों पर स्थापित किया जा सकता है। MS SQL सर्वर पहली बार 24 अप्रैल 1989 को जारी किया गया था, और अब इसे पाँच अलग-अलग संस्करणों के रूप में पेश किया गया है:
- मानक - अधिकांश अनुप्रयोगों के लिए आवश्यक मुख्य कार्यक्षमता।
- वेब - कम लागत वाला विकल्प जो बफर पूल के लिए अनुमत अधिकतम मेमोरी और अधिकतम गणना क्षमता के मामले में मानक संस्करण से अलग है।
- उद्यम - डेटा वेयरहाउस सुविधाओं की एक विस्तृत श्रृंखला का समर्थन करता है और इसमें डेटा संपीड़न, बेहतर सुरक्षा, और बड़े डेटा आकार के लिए समर्थन जैसी उन्नत सुविधाएं शामिल हैं।
- डेवलपर - डेवलपर्स के लिए डिज़ाइन किया गया है और इसमें संग्रहीत कार्यविधियों, कार्यों और विचारों को बनाने की क्षमता शामिल है।
- एक्सप्रेस - व्यक्तियों या छोटे संगठनों तक सीमित और इसमें कोई भी उन्नत कार्यक्षमता शामिल नहीं है।
MS SQL सर्वर SQL क्वेरी भाषा के साथ काम करता है और SQL सर्वर ऑपरेटिंग सिस्टम (SQLOS) का उपयोग करता है, जो मेमोरी और I/O संसाधनों, नौकरियों और डेटा प्रोसेसिंग का प्रबंधन करता है।
Microsoft SQL सर्वर के लाभों में शामिल हैं:
- विजुअल स्टूडियो के लिए मूल समर्थन - डेटा प्रोग्रामिंग के लिए समर्थन विजुअल स्टूडियो में बनाया गया है, इसलिए डीबी व्यवस्थापक डेटाबेस स्कीमा बना सकते हैं, देख सकते हैं और संपादित कर सकते हैं।
- पूर्ण-पाठ्य खोज सेवा - शब्द-आधारित प्रश्नों की खोज की अनुमति देता है।
- एकाधिक संस्करण समर्थन - एक मशीन पर एमएस एसक्यूएल सर्वर के कई संस्करणों की स्थापना की अनुमति देता है।
- आसान स्थापना - एक क्लिक के साथ स्थापित किया जा सकता है।
- डेटा बहाली और पुनर्प्राप्ति - डेटा रिकवरी के लिए बिल्ट-इन टूल।
- सहायता - एमएस एसक्यूएल सर्वर में उपयोगकर्ताओं का एक विशाल समुदाय है जिसके पास विभिन्न स्रोतों से भरपूर सहायता और समर्थन उपलब्ध है।
एमएस एसक्यूएल के नुकसान कम हैं लेकिन इस डेटाबेस प्लेटफॉर्म को अपनाने के बारे में सोचने वाले किसी भी व्यक्ति द्वारा विचार किया जाना चाहिए। उन नुकसानों में शामिल हैं:
- महंगा और भ्रमित करने वाला मूल्य निर्धारण।
- खराब यूजर इंटरफेस।
- डेटाबेस पर केवल आंशिक नियंत्रण प्रदान करता है।
PostgreSQL
PostgreSQL (जिसे Postgres भी कहा जाता है) एक और स्वतंत्र और ओपन-सोर्स डेटाबेस प्रबंधन प्रणाली है जो मूल रूप से Ingres डेटाबेस के उत्तराधिकारी के रूप में कार्य करती है। PostgreSQL खुद को "दुनिया का सबसे उन्नत ओपन-सोर्स रिलेशनल डेटाबेस" कहता है और वर्तमान में रिलेशनल डेटाबेस के लिए 14.70% बाजार हिस्सेदारी रखता है।
1996 में जारी, PostgreSQL एक बहुत सक्रिय विकास चक्र और एक बड़े समर्थन समुदाय का आनंद लेता है। PostgreSQL को अन्य ओपन-सोर्स रिलेशनल डेटाबेस से जो अलग करता है, वह यह है कि यह एक ऑब्जेक्ट-रिलेशनल डेटाबेस मैनेजमेंट सिस्टम है, जिसका अर्थ है कि यह एक रिलेशनल डेटाबेस के समान है, लेकिन यह एक ऑब्जेक्ट-ओरिएंटेड डेटाबेस मॉडल का उपयोग करता है।
PostgreSQL कैटलॉग-चालित है, इसलिए यह उपयोगकर्ताओं को डेटा प्रकार, इंडेक्स प्रकार और कार्यात्मक भाषाओं को परिभाषित करने देता है, जिससे यह अन्य रिलेशनल डेटाबेस की तुलना में अधिक एक्स्टेंसिबल हो जाता है।
PostgreSQL की कुछ विशिष्ट विशेषताओं में शामिल हैं:
- एसिड अनुपालन।
- अत्यधिक समवर्ती।
- नोएसक्यूएल समर्थन शामिल है
- ऑब्जेक्ट्स, क्लासेस, इनहेरिटेंस और फंक्शन ओवरलोडिंग के लिए स्कीमा और क्वेरी लैंग्वेज सपोर्ट।
- सामान्य तालिका अभिव्यक्ति (किसी क्वेरी के अस्थायी परिणाम जो एक बड़ी क्वेरी के संदर्भ में उपयोग की जाती हैं)।
- घोषणात्मक विभाजन (जो डेटा को विभाजित करने के लिए आवश्यक कार्य की मात्रा को कम करता है)।
- पूर्ण-पाठ खोज।
- भौगोलिक सूचना प्रणाली/स्थानिक संदर्भ प्रणाली समर्थन (पृथ्वी की सतह पर स्थिति से संबंधित डेटा को कैप्चर करने, संग्रहीत करने, जांचने और प्रदर्शित करने के लिए)।
- JSON समर्थन।
- तार्किक प्रतिकृति (जो प्राथमिक कुंजी के आधार पर डेटा ऑब्जेक्ट को दोहराने की एक विधि है)।
PostgreSQL के फायदे हैं:
- जटिल, उच्च-मात्रा वाले डेटा संचालन के लिए आदर्श।
- प्लग-इन के माध्यम से अत्यधिक अनुकूलन योग्य और C, C++, और Java में लिखे गए कस्टम फ़ंक्शंस के उपयोग से।
- बहु-संस्करण समवर्ती नियंत्रण (बहु-उपयोगकर्ता वातावरण में डेटाबेस प्रदर्शन में सुधार के लिए एक उन्नत तकनीक)।
- लॉक पढ़ना आवश्यक नहीं है, इसलिए यह अन्य रिलेशनल डेटाबेस की तुलना में अधिक मापनीयता प्रदान करता है।
- क्रॉस-प्लेटफ़ॉर्म (BSD, Linux, macOS, Solaris और Windows के लिए उपलब्ध)।
जहां तक नुकसान की बात है, PostgreSQL को कुछ नुकसान होता है, जैसे:
- MySQL से अधिक जटिल।
- MySQL से धीमा।
- अन्य RDBMSes से डेटा माइग्रेट करने का कोई आसान तरीका नहीं है।
- खराब डेटा संपीड़न।
- जटिल क्षैतिज स्केलिंग।
- खराब क्लस्टरिंग समर्थन।
- मशीन सीखने के लिए कोई अंतर्निहित समर्थन नहीं है।
अधिक जानकारी के लिए Ubuntu 20.04 सर्वर पर PostgreSQL को स्थापित करने के तरीके के बारे में हमारी मार्गदर्शिका देखें।
गैर-संबंधपरक डेटाबेस
निम्नलिखित खंड आज बाजार में सबसे लोकप्रिय गैर-संबंधपरक डेटाबेस को कवर करते हैं।
रेडिस
रेडिस एक इन-मेमोरी डेटा स्ट्रक्चर स्टोर है जिसका उपयोग वितरित, की-वैल्यू नोएसक्यूएल डेटाबेस के रूप में किया जाता है। रेडिस का अर्थ है रिमोट डिक्शनरी सर्वर और एक उन्नत कुंजी-मूल्य स्टोर का उपयोग करता है जिसमें वैकल्पिक स्थायित्व शामिल है। रेडिस को अक्सर डेटा संरचना सर्वर के रूप में संदर्भित किया जाता है क्योंकि कुंजियों में स्ट्रिंग्स, हैश, सूचियां, सेट और सॉर्ट किए गए सेट हो सकते हैं।
रेडिस एक अस्थिर, इन-मेमोरी डेटाबेस है, जो इसे बड़ी मात्रा में गर्म डेटा वाले सिस्टम के लिए एक अच्छा विकल्प बनाता है। रेडिस डेटा को कैशे में संग्रहीत करता है, जो पढ़ने/लिखने को तेज़ बनाता है और डेटा हमेशा अत्यधिक उपलब्ध होता है।
रेडिस को उत्कृष्ट बनाने वाली विशेषताओं में शामिल हैं:
- अन्य NoSQL डेटाबेस की तुलना में न्यूनतम जटिलता।
- हल्का वजन और किसी बाहरी निर्भरता की आवश्यकता नहीं है।
- सभी POSIX परिवेशों में काम करता है।
- उच्च उपलब्धता के लिए सिंक्रोनस, नॉन-ब्लॉकिंग, मास्टर/स्लेव प्रतिकृति के लिए समर्थन।
- मैप्ड की-वैल्यू-बेस्ड कैशिंग सिस्टम, जो मेमकैच्ड से तुलनीय है।
- स्कीमा या तालिकाओं को परिभाषित करने के लिए कोई सख्त नियम नहीं हैं।
- एकाधिक डेटा मॉडल या प्रकारों के लिए समर्थन।
- शेयरिंग समर्थन।
- लोड को कम करने और प्रदर्शन को बढ़ाने के लिए अन्य डेटाबेस के साथ संयोजन के रूप में इस्तेमाल किया जा सकता है।
रेडिस का उपयोग करने के लाभों में शामिल हैं:
- की-वैल्यू पेयर को 512 एमबी जितना बड़ा स्टोर करने की अनुमति देता है।
- अपने स्वयं के हैशिंग तंत्र का उपयोग करता है।
- डेटा प्रतिकृति के लिए धन्यवाद, रेडिस कैश विफलताओं का सामना करता है और अभी भी निर्बाध सेवा प्रदान करता है।
- सभी लोकप्रिय प्रोग्रामिंग भाषाएं इसका समर्थन करती हैं।
- अपने कैश में बड़ी मात्रा में डेटा डालने का समर्थन करता है।
- अपने छोटे पदचिह्न के कारण, इसे रास्पबेरी पाई और एआरएम हार्डवेयर पर स्थापित किया जा सकता है।
रेडिस का उपयोग करने के नुकसान में निम्नलिखित शामिल हैं:
- आपका सारा डेटा मेमोरी में फिट होना चाहिए और आपके पास मेमोरी से अधिक डेटा का प्रबंधन नहीं कर सकते।
- संबंधपरक बीजगणित के लिए कोई क्वेरी भाषा या समर्थन नहीं है।
- दृढ़ता के लिए केवल दो विकल्प प्रदान करता है (स्नैपशॉट और केवल संलग्न फ़ाइलें)।
- बुनियादी सुरक्षा सुविधाएं।
- सिंगल-थ्रेडेड मोड में केवल एक CPU कोर पर चलता है, इसलिए स्केलेबिलिटी के लिए Redis के कई उदाहरणों की आवश्यकता होती है।
अधिक जानकारी के लिए उबंटू 20.04 सर्वर पर रेडिस को स्थापित और कॉन्फ़िगर करने के तरीके के बारे में हमारी मार्गदर्शिका देखें।
MongoDB
MongoDB एक खुला स्रोत, दस्तावेज़-उन्मुख NoSQL डेटाबेस है, जो उच्च मात्रा डेटा संग्रहण पर केंद्रित है। MongoDB को स्कीमा-रहित माना जाता है, इसलिए यह किसी संग्रह में निहित दस्तावेज़ों पर किसी विशेष संरचना को लागू नहीं करता है। मूल रूप से 2009 में जारी किया गया, यह NoSQL डेटाबेस वैकल्पिक स्कीमा के साथ JSON जैसे दस्तावेज़ों का उपयोग करता है और इसे ऑन-प्रिमाइसेस या क्लाउड में पूरी तरह से प्रबंधित किया जा सकता है। MongoDB को बड़े डेटा के लिए एक बहुत अच्छा उम्मीदवार माना जाता है, और इसका उपयोग सभी आकार के संगठनों द्वारा किया जा सकता है।
MongoDB को सबसे अलग बनाने वाली विशेषताओं में शामिल हैं:
- फ़ील्ड, श्रेणी क्वेरी और रेगेक्स खोजों का समर्थन करता है।
- प्रतिकृति सेट के साथ उच्च उपलब्धता प्राप्त करता है।
- शार्डिंग का समर्थन करता है।
- फाइल सिस्टम के रूप में इस्तेमाल किया जा सकता है (जिसे ग्रिडएफएस कहा जाता है)।
- पाइपलाइन, मैप-रिड्यूस फंक्शन और एकल-उद्देश्य एकत्रीकरण विधियों का समर्थन करता है।
- जावास्क्रिप्ट प्रश्नों के भीतर समर्थित है।
- निश्चित आकार के संग्रह का समर्थन करता है, जिसे कैप्ड संग्रह कहा जाता है।
- खोज प्रदर्शन को बेहतर बनाने के लिए इंडेक्स बनाए जा सकते हैं।
- किसी एकल परिणाम या गणना किए गए परिणाम के लिए समूहीकृत डेटा पर संचालन करने की अनुमति देता है।
MongoDB डेटाबेस के लाभों में शामिल हैं:
- एक अभिव्यंजक क्वेरी भाषा का समर्थन करता है।
- डेटाबेस स्कीमा को डिज़ाइन करने में समय व्यतीत करने की आवश्यकता नहीं है क्योंकि यह स्कीमा रहित है।
- लचीला और प्रदर्शनकारी।
- भू-स्थानिक दक्षता का समर्थन करता है।
- एकाधिक दस्तावेज़ ACID ट्रांज़िशन का समर्थन करता है।
- एसक्यूएल इंजेक्शन की आवश्यकता नहीं है।
- Hadoop के साथ जल्दी से एकीकृत किया जा सकता है।
- ओपन-सोर्स और उपयोग करने के लिए स्वतंत्र।
MongoDB डेटाबेस के नुकसान में शामिल हैं:
- बड़ी मात्रा में मेमोरी की आवश्यकता होती है, खासकर स्केलिंग के समय।
- 16 एमबी डेटा दस्तावेज़ संग्रहण सीमा।
- डेटा नेस्टिंग की 100 स्तर की सीमा।
- लेनदेन का समर्थन नहीं करता।
- दस्तावेज़ों में शामिल होना जटिल है।
- अगर इंडेक्स का सही तरीके से इस्तेमाल नहीं किया गया तो यह धीमा हो सकता है।
- चूंकि संबंधों को अच्छी तरह से परिभाषित नहीं किया गया है, इसलिए वे डुप्लिकेट डेटा तक ले जा सकते हैं।
अधिक जानकारी के लिए MongoDB उपयोग मामलों पर हमारी मार्गदर्शिका देखें।
अपाचे कैसेंड्रा
Apache Cassandra एक खुला स्रोत, वितरित, NoSQL डेटाबेस प्रबंधन प्रणाली है। यह कमोडिटी सर्वरों में बहुत बड़ी मात्रा में डेटा को संभालने के लिए डिज़ाइन किया गया है। कैसेंड्रा को मूल रूप से प्लेटफॉर्म के इंडेक्स सर्च फीचर को पावर देने के लिए फेसबुक के भीतर विकसित किया गया था। जुलाई 2008 में, Facebook ने Google Code के माध्यम से Cassandra को ओपन-सोर्स किया, और मार्च 2009 में यह आधिकारिक तौर पर Apache Incubator प्रोजेक्ट बन गया।
कैसेंड्रा को सबसे अलग बनाने वाली विशेषताओं में शामिल हैं:
- वितरित नोड्स की भूमिका समान होती है, इसलिए विफलता का कोई एक बिंदु नहीं है।
- प्रतिकृति और बहु-डेटा केंद्र प्रतिकृति दोनों का समर्थन करता है।
- उच्च मापनीयता प्राप्त करने के लिए मशीनों को जोड़े जाने पर पढ़ने/लिखने का थ्रूपुट रैखिक रूप से बढ़ता है।
- डेटा स्वचालित रूप से कई वितरित नोड्स में दोहराता है।
- उपलब्धता और विभाजन सहनशीलता निरंतरता से अधिक महत्वपूर्ण है, इस प्रकार इसे एपी सिस्टम (सीएपी प्रमेय के भीतर) के रूप में वर्गीकृत किया जाता है।
- MapReduce समर्थन के साथ Hadoop एकीकरण का समर्थन करता है।
- इसकी अपनी क्वेरी भाषा, कैसेंड्रा क्वेरी भाषा शामिल है।
अपाचे कैसेंड्रा के फायदों में शामिल हैं:
- लोचदार मापनीयता कैसंड्रा को बिना डाउनटाइम के आवश्यकतानुसार ऊपर और नीचे स्केल करना संभव बनाती है।
- पीयर-टू-पीयर आर्किटेक्चर का पालन करता है, इसलिए मास्टर-स्लेव कॉन्फ़िगरेशन की तुलना में विफलता दुर्लभ है।
- सौर-आधारित एकीकरण, बैच विश्लेषण (Hadoop एकीकरण के साथ), बाहरी विश्लेषण (Hadoop और Cloudera/Hortonworks की सहायता से) सहित डेटा विश्लेषण के चार प्रमुख तरीके।
- रीयल-टाइम एनालिटिक्स के पास.
- मल्टी-डेटा सेंटर और हाइब्रिड क्लाउड सपोर्ट।
- डेटा को संरचित, अर्ध-संरचित या असंरचित डेटा के रूप में संग्रहीत किया जा सकता है।
अपाचे कैसेंड्रा के नुकसान में शामिल हैं:
- सीमित एसीआईडी समर्थन।
- I/O की बड़ी मात्रा के कारण विलंबता एक समस्या हो सकती है।
- डेटा संरचना के बजाय क्वेरी के आधार पर तैयार किया जाता है, जिसके परिणामस्वरूप डुप्लिकेट जानकारी कई बार संग्रहीत हो सकती है।
- कोई शामिल या सबक्वायरी समर्थन नहीं।
- हालांकि लिखना तेज है, लेकिन पढ़ना धीमा हो सकता है।
- सीमित आधिकारिक दस्तावेज़ीकरण।
अधिक जानने के लिए अपाचे कैसेंड्रा पर हमारे गाइड देखें।
CouchDB
CouchDB हमारा अंतिम ओपन-सोर्स, दस्तावेज़-उन्मुख NoSQL डेटाबेस है। यह विशेष उपकरण JSON दस्तावेज़ों में डेटा संग्रहीत करता है और MapReduce की मदद से जावास्क्रिप्ट को अपनी क्वेरी भाषा के रूप में उपयोग करता है। CouchDB HTTP के माध्यम से दस्तावेज़ों तक पहुँच कर वेब को अपनाता है। एक बार एक्सेस करने के बाद, उन दस्तावेज़ों को जावास्क्रिप्ट के साथ क्वेरी, संयुक्त और रूपांतरित किया जा सकता है। यह नोएसक्यूएल डेटाबेस वेब और मोबाइल एप्लिकेशन दोनों के लिए पूरी तरह से अनुकूल है, ऑन-द-फ्लाई दस्तावेज़ परिवर्तन और रीयल-टाइम परिवर्तन अधिसूचनाओं के लिए धन्यवाद।
CouchDB को सबसे अलग बनाने वाली विशेषताओं में शामिल हैं:
- एकाधिक सर्वर इंस्टेंस में डेटाबेस प्रतिकृति।
- तेज़ अनुक्रमण और पुनर्प्राप्ति।
- REST जैसा इंटरफ़ेस।
- कई पुस्तकालय आपकी पसंद की भाषा का उपयोग करना आसान बनाते हैं।
- ब्राउज़र-आधारित जीयूआई डेटा, अनुमतियों और कॉन्फ़िगरेशन का प्रबंधन करता है।
- प्रतिकृति के लिए समर्थन।
- एसिड संपत्तियों की सभी विशेषताओं का पालन करता है।
- प्रमाणीकरण और सत्र समर्थन।
- डेटाबेस-स्तरीय सुरक्षा।
- मानचित्र/कम करने के लिए अंतर्निहित समर्थन (समानांतर, वितरित एल्गोरिथम के साथ बड़े डेटा सेट को संसाधित करने और उत्पन्न करने के लिए मॉडल)।
CouchDB का उपयोग करने के लाभों में शामिल हैं:
- एक ही दस्तावेज़ को कई डेटाबेस उदाहरणों में संग्रहीत करने की क्षमता।
- क्रमबद्ध वस्तुओं को JSON दस्तावेज़ों में असंरचित डेटा के रूप में संग्रहीत किया जा सकता है।
- अनावश्यक डेटा संग्रहण। PouchDB के माध्यम से, ब्राउज़रों के साथ प्रतिकृति और समन्वयित कर सकते हैं।
- शेयरिंग और क्लस्टरिंग समर्थन।
- मास्टर-टू-मास्टर प्रतिकृति निरंतर बैकअप की अनुमति देती है।
CouchDB के नुकसान में शामिल हैं:
- कुछ NoSQL डेटाबेस से धीमा।
- बहुत अधिक ओवरहेड की आवश्यकता है।
- मनमाने ढंग से की गई क्वेरी महंगी हैं।
- विशाल डेटासेट पर अस्थायी रूप से देखे जाने की गति धीमी होती है।
- लेनदेन के लिए कोई समर्थन नहीं।
- बड़ा डेटाबेस प्रतिकृति अविश्वसनीय है।
अधिक जानकारी के लिए Ubuntu 20.04 पर CouchDB 2.0 का उपयोग करने के बारे में हमारी मार्गदर्शिका देखें।
निष्कर्ष
कोई फर्क नहीं पड़ता कि आप जिस परियोजना पर काम कर रहे हैं, एक डेटाबेस है जो आपकी आवश्यकताओं के अनुरूप है। चाहे आप एक छोटी गतिशील वेबसाइट विकसित कर रहे हों जो डेटा स्थिरता के उच्च स्तर पर निर्भर करती है, जहां आप एक रिलेशनल डेटाबेस का उपयोग करेंगे, या एक ऐप जो बड़े पैमाने पर पैमाने पर होगा, जहां आप एक गैर-संबंधपरक डेटाबेस का उपयोग करेंगे, आपके पास है विकल्प। लिनोड के साथ, आप अपने डेटा को प्रभावी ढंग से संग्रहीत करने और अपने अनुप्रयोगों के साथ बातचीत करने के लिए इनमें से किसी भी डेटाबेस के साथ काम कर सकते हैं। हालाँकि, यह जानना महत्वपूर्ण है कि डेटाबेस से आपके ऐप को वास्तव में क्या चाहिए, इससे पहले कि आप किसे चुनें। गलत चुनाव करें और इसे फिर से लगाना महंगा पड़ सकता है।