MySQL क्या है?
MYSQL एक लोकप्रिय और व्यापक रूप से इस्तेमाल किया जाने वाला DBMS सिस्टम है। यह नाम उस लड़की के नाम माय से लिया गया है जो सह-संस्थापक माइकल विडेनियस की बेटी है। MYSQL का सोर्स कोड GNU GPL के अंतर्गत उपलब्ध है। प्रोजेक्ट ओरेकल कॉर्पोरेशन के स्वामित्व और रखरखाव का है।
यह RDBMS (रिलेशनल डेटाबेस मैनेजमेंट सिस्टम) है और मुख्य रूप से रिलेशनल डेटाबेस मॉडल पर काम करता है। यह डेटाबेस प्रशासन को आसान और अधिक लचीला बनाता है।
PostgreSQL क्या है?
Postgre एक ऑब्जेक्ट-रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (ORDBMS) है। यह कैलिफोर्निया विश्वविद्यालय में कंप्यूटर विज्ञान विभाग में विकसित किया गया था। पोस्टग्रेज ने कई अवधारणाओं को आगे बढ़ाया।
Postgre एक एंटरप्राइज-क्लास रिलेशनल डेटाबेस सिस्टम है। इसे सेटअप करना और इंस्टॉल करना आसान है। यह SQL और NoSQL के लिए समर्थन प्रदान करता है। यह एक महान समुदाय है जो आपको पोस्टग्रेएसक्यूएल का उपयोग करते समय समस्याओं का सामना कर रहा है।
इस ट्यूटोरियल में आप के बारे में अधिक जानेंगे -
- MySQL का इतिहास
- PostgreSQL का इतिहास
- MySQL का उपयोग क्यों करें?
- PostgreSQL का उपयोग क्यों करें?
- MySQL की विशेषताएं
- PostgreSQL की विशेषताएं
- MySQL और PostgreSQL के बीच मुख्य अंतर
- MySQL का उपयोग करने के नुकसान
- PostgreSQL का उपयोग करने के नुकसान
- क्या बेहतर है?
MySQL का इतिहास
- MySQL एक स्वीडिश कंपनी द्वारा बनाया गया था जिसे MySQL AB 1995 कहा जाता है
- सन ने 2008 में 1 बिलियन डॉलर में MySQL AB का अधिग्रहण किया
- 2010 में ओरेकल ने सन को खरीदा और इस तरह MySQL का अधिग्रहण किया
- 2012 में, MySQL को कंपनी के मोंटी प्रोग्राम एब के तहत संस्थापक माइकल विडेनियस द्वारा मारियाडीबी में कांटा गया था
- वर्ष 2013 में सबसे अधिक वितरण के लिए MariaDB ने MySQL को बदल दिया
- मोंटी प्रोग्राम एब का स्काईक्यूक्यू- 2013 के साथ विलय हो गया
- SkySQL Ab का नाम बदलकर MariaDB Corporation-2014 कर दिया गया
PostgreSQL का इतिहास
- INGRES-1977 विकसित किया गया था
- माइकल स्टोनब्रेकर और उनके सहयोगियों ने पोस्टग्रेज का विकास किया- 1986
- वास्तविक ACID और PL / pgSQL के लिए समर्थन - 1990
- -1995 में Postgres95 के रूप में जारी किया गया
- PostgreSQL 6.0 - 1996 के रूप में Postgres95 को फिर से जारी किया
- MVCC, GUC, वाक्यविन्यास नियंत्रण और प्रक्रियात्मक भाषा लोडर शामिल हों- 1998-2001
- संस्करण 7.2 से 8.2: इसमें स्कीमा सपोर्ट, नॉनब्लॉकिंग VACUUM, रोल्स और डब्लिंक जैसी सुविधाएँ शामिल हैं - 2002-2006
- PostgreSQL 8.4 2009 में रिलीज़ हुई
- PostgreSQL 9.0 2010 में रिलीज़ हुई
- NYCPUG (न्यूयॉर्क सिटी पोस्टग्रेक्ज़ उपयोगकर्ता समूह) PgUS (यूनाइटेड स्टेट्स पोस्टग्रैसीक्यू एसोसिएशन) से जुड़ता है - 2013
- 2014 में PGconf का आयोजन किया गया
कुंजी प्रसार:
- PostgreSQL एक ऑब्जेक्ट रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (ORDBMS) है जबकि MySQL एक समुदाय संचालित DBMS सिस्टम है।
- PostgreSQL JSON, XML आदि जैसे आधुनिक अनुप्रयोगों की सुविधा का समर्थन करता है जबकि MySQL केवल JSON का समर्थन करता है।
- जटिल प्रश्नों को निष्पादित करते समय पोस्टग्रेसीक्यूएल अच्छा प्रदर्शन करता है जबकि MySQL OLAP और OLTP सिस्टम में अच्छा प्रदर्शन करता है।
- PostgreSQL पूरा ACID कंप्लेंट है जबकि MySQL केवल ACID कंप्लेंट है जब InnoDB और NDB के साथ प्रयोग किया जाता है।
- PostgreSQL Materialized Views का समर्थन करता है जबकि MySQL Materialized Views का समर्थन नहीं करता है।
MySQL का उपयोग क्यों करें?
यहाँ, MYSQL का उपयोग करने के कुछ महत्वपूर्ण कारण हैं:
- मास्टर-स्लेव प्रतिकृति, स्केल-आउट जैसी सुविधाओं का समर्थन करता है
- यह ऑफलोड रिपोर्टिंग, भौगोलिक डेटा वितरण आदि का समर्थन करता है।
- बहुत कम ओवरहेड जब MyISAM भंडारण इंजन के साथ पढ़ा जाता है, तो ज्यादातर अनुप्रयोगों के लिए उपयोग किया जाता है
- अक्सर उपयोग की जाने वाली तालिकाओं के लिए मेमोरी स्टोरेज इंजन के लिए समर्थन
- बार-बार इस्तेमाल किए जाने वाले बयानों के लिए क्वेरी कैश
- आप ब्लॉग, श्वेत पत्र और पुस्तकों जैसे विभिन्न स्रोतों से MySQL को आसानी से सीख और उसका निवारण कर सकते हैं
PostgreSQL का उपयोग क्यों करें?
PostgreSQL का उपयोग करने के मुख्य कारण हैं:
- टेबल विभाजन, प्वाइंट इन टाइम रिकवरी, ट्रांजेक्शनल डीडीएल, आदि जैसी उपयोगी सुविधाएँ प्रदान करता है।
- पूर्ण पीकेआई बुनियादी ढांचे में 3 पार्टी कुंजी स्टोर का उपयोग करने की क्षमता
- डेवलपर्स ओपन सोर्स कोड को संशोधित कर सकते हैं क्योंकि यह बीएसडी के तहत लाइसेंस के बिना वापस बढ़ाने के योगदान के लिए लाइसेंस प्राप्त है
- स्वतंत्र सॉफ्टवेयर विक्रेता एक खुले स्रोत लाइसेंस द्वारा "संक्रमित" होने के डर के बिना इसे पुनर्वितरित कर सकते हैं
- उपयोगकर्ता और रोल्स को ऑब्जेक्ट स्तर के विशेषाधिकार दिए जा सकते हैं
- एईएस, 3 डीईएस और अन्य डेटा एन्क्रिप्शन एल्गोरिदम का समर्थन करता है।
MySQL की विशेषताएं
- MySQL एक समुदाय द्वारा संचालित DBMS सिस्टम है
- सभी प्रमुख भाषाओं और मिडलवेयर का उपयोग करके विभिन्न प्लेटफार्मों के साथ संगत
- यह मल्टी-वर्जन कंसीडर कंट्रोल के लिए सपोर्ट प्रदान करता है
- ANSI SQL मानक के अनुरूप
- लॉग-आधारित और ट्रिगर-आधारित प्रतिकृति SSL की अनुमति देता है
- ऑब्जेक्ट-उन्मुख और ANSI-SQL2008 संगत
- इंडिपेंडेंट मॉड्यूल के साथ बहुस्तरीय डिजाइन
- कर्नेल थ्रेड्स का उपयोग करते हुए पूरी तरह से बहु-थ्रेडेड
- एम्बेडेड DB या क्लाइंट सर्वर मॉडल में उपलब्ध सर्वर
- क्वेरी विश्लेषण और अंतरिक्ष विश्लेषण के लिए अंतर्निहित उपकरण प्रदान करता है
- यह किसी भी राशि को 50 मिलियन पंक्तियों या अधिक से अधिक तक संभाल सकता है
- MySQL UNIX की कई किस्मों के साथ-साथ विंडोज और OS / 2 जैसी अन्य गैर-यूनिक्स प्रणालियों पर चलता है
PostgreSQL की विशेषताएं
- एक सक्रिय समुदाय जो अपने विकास को गति दे रहा है
- Oracle, DB2 और SQL सर्वर के लिए सबसे आम विकल्प
- आपके पास मौजूद सभी प्रमुख OS प्लेटफ़ॉर्मों पर चलता है
- MVCC समवर्ती उपयोगकर्ताओं की बड़ी संख्या का समर्थन करता है
- उच्च प्रदर्शन रिपोर्टिंग के लिए व्यापक अनुक्रमण
- आधुनिक अनुप्रयोगों के लिए समर्थन (XML और JSON)
- ट्रांसपोर्टेबल स्किल्स / कोड के लिए ANSI SQL सपोर्ट
- डेटा के कुशल भंडारण के लिए विदेशी कुंजी समर्थन करती है
- तालिका लचीला डेटा पुनर्प्राप्ति के लिए मिलती है और विचार करती है
- जटिल कार्यक्रमों और लेनदेन के लिए ट्रिगर / संग्रहीत कार्यविधियाँ
- डेटा बैकअप के लिए प्रतिकृति और मापनीयता पढ़ें
MySQL और PostgreSQL के बीच अंतर
पैरामीटर | माई एसक्यूएल | PostgreSQL |
खुला स्त्रोत | MySQL प्रोजेक्ट ने अपने स्रोत कोड को GNU जनरल पब्लिक लाइसेंस की शर्तों के तहत उपलब्ध कराया है। | PostgreSQL PostgreSQL लाइसेंस के तहत जारी किया गया है जो कि मुक्त स्रोत लाइसेंस है। यह बीएसडी और एमआईटी लाइसेंस के समान है। |
एसिड का अनुपालन | MySQL ACID कंप्लेंट तभी है जब इसका इस्तेमाल InnoDB और NDB क्लस्टर स्टोरेज इंजन के साथ किया जाता है। | PostgreSQL पूर्ण ACID अनुरूप है। |
एसक्यूएल अनुपालन | MySQL आंशिक रूप से SQL आज्ञाकारी है। उदाहरण के लिए, यह चेक बाधा का समर्थन नहीं करता है। | PostgreSQL काफी हद तक SQL आज्ञाकारी है। |
सामुदायिक समर्थन | इसमें योगदानकर्ताओं का एक बड़ा समुदाय है जो मुख्य रूप से नई सुविधाओं के साथ मौजूदा सुविधाओं को बनाए रखने पर ध्यान केंद्रित करते हैं। | सक्रिय समुदाय लगातार सुधार कर रहा है मौजूदा विशेषताएं जबकि इसका अभिनव समुदाय यह सुनिश्चित करने का प्रयास करता है कि यह सबसे उन्नत डेटाबेस रहे। नई अत्याधुनिक सुविधाएँ और सुरक्षा संवर्द्धन नियमित रूप से जारी। |
प्रदर्शन | यह ज्यादातर वेब-आधारित परियोजनाओं के लिए उपयोग किया जाता है, जिन्हें सीधे डेटा लेनदेन के लिए डेटाबेस की आवश्यकता होती है। | यह बड़े सिस्टम में उपयोग किया जाता है जहां गति पढ़ना और लिखना महत्वपूर्ण है |
सबसे उपयुक्त | MySQL OLAP और OLTP सिस्टम में अच्छा प्रदर्शन करता है जब केवल पढ़ने की गति की आवश्यकता होती है। | जटिल प्रश्नों को निष्पादित करते समय अच्छी तरह से PostgreSQL का प्रदर्शन। |
JSON के लिए समर्थन | MySQL में JSON डेटा प्रकार का समर्थन है, लेकिन किसी अन्य NoSQL सुविधा का समर्थन नहीं करता है। | JSON और अन्य नोएसक्यूएल फीचर्स को देशी XML सपोर्ट की तरह सपोर्ट करें यह JSON डेटा को तेज़ी से एक्सेस करने के लिए अनुक्रमण करता है। |
भौतिक विचारों के लिए समर्थन | भौतिक विचारों और अस्थायी तालिकाओं का समर्थन करता है। | अस्थायी तालिकाओं का समर्थन करता है, लेकिन भौतिक विचारों को प्रस्तुत नहीं करता है। |
पारिस्थितिकी तंत्र | MySQL में मारियाडीबी, पर्कोना, गलेरा आदि जैसे वेरिएंट के साथ डायनामिक इकोसिस्टम है। | पोस्टग्रेज के पास सीमित उच्च-स्तरीय विकल्प हैं। हालाँकि, यह नवीनतम संस्करण में पेश की गई नई सुविधाओं के साथ बदल रहा है। |
डिफॉल्ट मान | डिफ़ॉल्ट मानों को सत्र स्तर और कथन स्तर पर अधिलेखित किया जा सकता है | डिफ़ॉल्ट मानों को सिस्टम स्तर पर ही बदला जा सकता है |
बी-ट्री इंडेक्स | उपयुक्त होने पर दो या अधिक बी-ट्री इंडेक्स का उपयोग किया जा सकता है। | मूल्यांकन के लिए रन-टाइम पर विलय किए गए बी-ट्री इंडेक्स गतिशील रूप से परिवर्तित विधेय हैं। |
वस्तु आँकड़े | काफी अच्छी वस्तु आँकड़े | बहुत अच्छी वस्तु आँकड़े |
ढेर अतिप्रवाह सवाल | 532 कि | 89.3K है |
क्षमताओं से जुड़ें | क्षमताओं में शामिल होने की सीमा | अच्छी क्षमताओं में शामिल हों |
गिटहब सितारे | ३.३४ क | 5.6 कि |
फोर्क्स | 1.6 कि | २.४ क |
उत्पाद का उपयोग करने वाली प्रमुख कंपनियां | Airbnb, Uber, Twitter | नेटफ्लिक्स, इंस्टाग्राम, ग्रुपन |
MySQL का उपयोग करने के नुकसान
- सिस्टम कैटलॉग से संबंधित लेनदेन ACID के अनुरूप नहीं हैं
- कुछ समय सर्वर क्रैश सिस्टम कैटलॉग को दूषित कर सकता है
- केंद्रीय रूप से प्रबंधित खाते को रोकने के लिए कोई प्लग करने योग्य प्रमाणीकरण मॉड्यूल नहीं
- भूमिकाओं के लिए कोई समर्थन नहीं है इसलिए कई उपयोगकर्ताओं के लिए विशेषाधिकार बनाए रखना मुश्किल है
- संग्रहित प्रक्रियाएँ उपलब्ध नहीं हैं
- प्रक्रिया या ट्रिगर के लिए उपयोग किए जाने वाले टेबल हमेशा पूर्व-लॉक होते हैं
PostgreSQL का उपयोग करने के नुकसान
- वर्तमान बाहरी समाधानों के लिए उच्च शिक्षण वक्र की आवश्यकता होती है
- प्रमुख रिलीज के लिए कोई उन्नयन की सुविधा नहीं
- डेटा को नए संस्करण में निर्यात या दोहराया जाना चाहिए
- नवीनीकरण प्रक्रिया के दौरान दोहरे भंडारण की आवश्यकता होती है
- किसी क्वेरी के परिणामों को सीधे वापस करने के लिए अनुक्रमित का उपयोग नहीं किया जा सकता है
- क्वेरी निष्पादन योजनाएँ कैश नहीं की जाती हैं
- बल्क लोडिंग ऑपरेशन सीपीयू बाध्य हो सकते हैं
- स्पार्स स्वतंत्र सॉफ्टवेयर विक्रेता समर्थन
क्या बेहतर है?
दोनों की तुलना करने के बाद हम कह सकते हैं कि MySQL ने प्रासंगिक बनाए रखने के लिए खुद को बेहतर बनाने का एक बड़ा काम किया है, लेकिन PostgreSQL के लिए दूसरी तरफ, आपको किसी भी लाइसेंस की आवश्यकता नहीं है। यह टेबल इनहेरिटेंस, रूल्स सिस्टम, कस्टम डेटा प्रकार और डेटाबेस इवेंट भी प्रदान करता है। तो, यह निश्चित रूप से MySQL के ऊपर किनारों।