अपने डेटाबेस विकल्प के रूप में MySQL का उपयोग करने के नुकसान? [बन्द है]


20

मैंने कई अवसरों पर ऑनलाइन पढ़ा है कि MySQL एक खराब डेटाबेस है। जिन जगहों पर मैंने यह पढ़ा है, उनमें Reddit पर कुछ सूत्र शामिल हैं, लेकिन वे कभी भी इस बात पर ध्यान नहीं देते हैं कि यह एक खराब उत्पाद क्यों है।

क्या इस दावे में कोई सच्चाई है? मैंने इसे बहुत ही सरल CRUD परिदृश्य से परे कभी इस्तेमाल नहीं किया है, और यह मेरे दूसरे वर्ष के दौरान एक विश्वविद्यालय परियोजना के लिए था।

MySQL को अपने डेटाबेस के रूप में चुनते समय , यदि कोई हो , तो क्या नुकसान होते हैं?


7
बेशक, मुख्य नुकसान यह है कि Postgres zealots आपको अपनी पसंद के बारे में असुरक्षित बनाने की कोशिश करेंगे।
दान रे

विकिमीडिया इसका उपयोग करता है, इसलिए यह बहुत बुरा नहीं होना चाहिए।
Arlen Beiler

जवाबों:


32

दो अलग-अलग प्रकार के नुकसान हैं, जो MySQL का उपयोग आपके RDBMS के स्वाद के रूप में करते हैं और जो अन्य प्रकार के डेटाबेस के बजाय RDBMS का उपयोग करते हैं।

वैकल्पिक RDBMS के बजाय MySQL का उपयोग करना:

  • अन्य RDBMS के लिए MySQL के विभिन्न तुलनाओं के लिए इस विकिपीडिया तुलना तालिका देखें ।
  • यदि आप ASP.NET वेब अनुप्रयोग का निर्माण कर रहे हैं, तो आप Microsoft SQL सर्वर को बहुत पसंद करेंगे, क्योंकि सिस्टम को एक साथ अच्छी तरह से काम करने के लिए डिज़ाइन किया गया है, मैं डेवलपर्स और आईटी प्रबंधकों दोनों के लिए विश्वास करता हूं
  • यदि आप अधिक उन्नत DB सेट-अप क्लस्टरिंग (Oracle RAC) या उन्नत DB प्रक्रियाओं की आवश्यकता है, तो आप Oracle पसंद कर सकते हैं। ऐसा नहीं है कि MySQL कई सुविधाओं का समर्थन नहीं करता है, लेकिन मैंने जो देखा है, उससे आपको एक अनुभवी DBA को खोजने की अधिक संभावना है, जो MySQL की तुलना में Oracle के लिए इस सामान को जानता है।
  • इस सवाल को देखें Myg से PostgreSQL की व्यापक तुलना के लिए SO पर यह कहें कि मैं इससे बेहतर कर सकता हूं।
  • इससे भी अधिक SO: Mysql बनाम अन्य डेटाबेस के नुकसान

अन्य प्रकार के बजाय RDBMS का उपयोग करना:

कहा जा रहा है कि, MySQL एक बेहतरीन डेटाबेस है, और मैंने पिछले 8 वर्षों में एक कंपनी में काम नहीं किया है, जिसने इसका उपयोग नहीं किया है, वेब अनुप्रयोगों की एक विस्तृत विविधता में (जैसे ई-कॉमर्स, वेब साइट्स / ऐप , उद्यम / बी 2 बी, वेब गेम)। विशिष्ट वेब एप्लिकेशन उपयोग मामलों के एक बड़े हिस्से के लिए, यह एक शानदार विकल्प है।


4
महान जवाब, विशेष रूप से MySQL बनाम RDBMS और RDBMS बनाम NoSQL के लिए
जोश K

1
SQL सर्वर में क्लस्टरिंग और उन्नत सुविधाएँ भी होती हैं। लेकिन आप इस बात से सहमत हैं कि आपको mySQL डेटाबेस विशेषज्ञ को खोजने में अधिक परेशानी होगी जो इस तरह की चीजों को संभाल सकता है या उन्हें डिजाइन करना भी जानता है। वे लोग ज्यादातर Oracle, db2 या SQL सर्वर के विशेषज्ञ होते हैं।
एचएलजीईएम

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

1
यह बिल्कुल सच है, Windows निर्भरता SQL सर्वर को नुकसान पहुँचाता है।
एचएलजीईएम

8

MySQL अब Oracle के नियंत्रण में है - हालांकि खुले स्रोत वे अभी भी परियोजना की दिशा तय करते हैं और इसमें क्या मिलता है।

एक खराब डेटाबेस होने के संदर्भ में, यह कुछ अन्य लोगों की तुलना में सिर्फ 'सरल' नहीं है।

यदि आप कमजोरियों की तलाश कर रहे हैं, तो मैं उन्हें आपके लिए इंगित करूँगा, उदाहरण के लिए PostgreSQL लेने दें।

  1. MySQL में कंटेनर प्रकार और सरणियों का अभाव है।
  2. MySQL में सही सीक्वेंस का अभाव है (वे ऑटो-इन्क्रीमेंट का उपयोग करते हैं) - सिक्वेंस सीक्वेंस को एक ही सीक्वेंस का उपयोग करने के लिए कई टेबल की अनुमति देते हैं ताकि आप कई टेबल में कार्डिनैलिटी की गारंटी दे सकें।
  3. Postgres ACID कंप्लेंट है, MySQL आंशिक रूप से कंप्लेंट है।
  4. अनुलग्‍नकों के चरित्र को अलग-अलग और एक ही तरीके से पाठ (टोस्ट टेबल्स) पोस्ट करता है - सबसे अधिक तर्क यह होगा कि यह MySQL से बेहतर है।
  5. पोस्टग्रेज में केवल एक स्टोरेज बैकएंड है - इसका मतलब है कि आपको हर जगह एक जैसी सुविधाएं मिलने की गारंटी है।
  6. Postgres TCL, Python, R और Perl में लिखे गए सर्वर-साइड फ़ंक्शन को अनुमति देता है।
  7. Postgres को Python में एसिंक्रोनस ड्राइवरों के लिए अच्छा समर्थन है - मुझे लगता है कि यह MySQL के साथ थोड़ा हिट या मिस है

6

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


4

लंबे समय तक MySQL एक "खिलौना" डेटाबेस से अधिक था। यह नेस्टेड सब-सिलेक्ट्स को हैंडल नहीं करता था, डेटा विभाजन का समर्थन नहीं करता था, कई ट्रांजेक्शन आइसोलेशन स्तरों की पेशकश नहीं करता था, ट्रिगर्स या संग्रहीत प्रक्रियाओं का समर्थन नहीं करता था - बहुत सारे सामान। Oracle या SQL सर्वर पृष्ठभूमि से आने वाले बहुत से लोगों ने इसे खारिज कर दिया।

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


3

जब InnoDB स्टोरेज इंजन के साथ उपयोग किया जाता है तो MySQL ACID कंप्लेंट है - MySQL ACID कंप्लेंट नहीं होने का कोई कारण नहीं है (रिलीज़ 5.5 InnoDB डिफ़ॉल्ट स्टोरेज इंजन है)।

MySQL को बहुत बुरा प्रेस मिलता है क्योंकि यह अक्सर इस्तेमाल किया जाता है (या NoSQL के आने तक) RDBMS की पसंद के लोगों के रूप में जिन्हें मुश्किल से सभी में एक डेटाबेस की आवश्यकता थी (और शायद सीमित RDBMS कौशल था) और इसलिए इसका उपयोग एक clunky के रूप में किया गया था। तौर तरीका।

मैंने MySQL का बहुत उपयोग किया है और जब से सड़क की आवश्यकताओं के मध्य में 95% संस्थापनों के बारे में शिकायत करने के लिए 5.x आया है, इसके बारे में शिकायत करना बहुत कम है।


0

डेटा भ्रष्टाचार: http://planet.mysql.com/entry/?id=16232

यह 2008 से है। आइए उम्मीद करते हैं कि इस बीच चीजें बदल गई हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.