Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MongoDB या अन्य दस्तावेज़ उन्मुख डेटाबेस सिस्टम का उपयोग कब करें?

नोएसक्यूएल:इफ ओनली इट वाज़ दैट इज़ी , लेखक MongoDB के बारे में लिखता है:

<ब्लॉककोट>

MongoDB एक कुंजी / मूल्य स्टोर नहीं है, यह थोड़ा अधिक है। यह निश्चित रूप से RDBMS भी नहीं है। मैंने उत्पादन में MongoDB का उपयोग नहीं किया है, लेकिन मैंने इसे एक परीक्षण ऐप बनाने के लिए थोड़ा उपयोग किया है और यह किट का एक बहुत अच्छा टुकड़ा है। ऐसा लगता है कि यह बहुत अच्छा प्रदर्शन कर रहा है और या तो जल्द ही, या जल्द ही होगा, गलती सहनशीलता और ऑटो-शार्डिंग (उर्फ यह स्केल करेगा)। मुझे लगता है कि मोंगो एक आरडीबीएमएस प्रतिस्थापन की सबसे नज़दीकी चीज हो सकती है जिसे मैंने अब तक देखा है। यह सभी डेटा सेट और एक्सेस पैटर्न के लिए काम नहीं करेगा, लेकिन यह आपके विशिष्ट CRUD सामान के लिए बनाया गया है। अनिवार्य रूप से एक विशाल हैश को संग्रहीत करना, और उनमें से किसी भी कुंजी पर चयन करने में सक्षम होना, अधिकांश लोग एक रिलेशनल डेटाबेस का उपयोग करते हैं। यदि आपका DB 3NF है और आप कोई जॉइन नहीं करते हैं (आप केवल टेबल का एक गुच्छा चुन रहे हैं और सभी ऑब्जेक्ट्स को एक साथ रख रहे हैं, AKA जो कि ज्यादातर लोग वेब ऐप में करते हैं), MongoDB शायद इसके लिए गधा मारेगा आप।

फिर, निष्कर्ष में:

<ब्लॉककोट>

असली बात यह बताना है कि यदि आप किसी डेटाबेस को नहीं चुन पाने के कारण कुछ सुपर कमाल करने से पीछे हट रहे हैं, तो आप इसे गलत कर रहे हैं। यदि आप MySQL जानते हैं, तो बस इसका इस्तेमाल करें। जब आपको वास्तव में आवश्यकता हो तब ऑप्टिमाइज़ करें। इसे k/v स्टोर की तरह इस्तेमाल करें, इसे rdbms की तरह इस्तेमाल करें, लेकिन भगवान के लिए, अपना किलर ऐप बनाएं! इनमें से कोई भी अधिकांश ऐप्स के लिए मायने नहीं रखेगा। फेसबुक अभी भी MySQL का बहुत उपयोग करता है। विकिपीडिया MySQL का बहुत उपयोग करता है। फ्रेंडफीड MySQL का बहुत उपयोग करता है। नोएसक्यूएल एक बेहतरीन टूल है, लेकिन यह निश्चित रूप से आपकी प्रतिस्पर्धा में बढ़त नहीं बनने वाला है, यह आपके ऐप को गर्म नहीं करेगा, और सबसे बढ़कर, आपके उपयोगकर्ताओं को इसकी कोई परवाह नहीं होगी।

मैं अपना अगला ऐप किस पर बनाने जा रहा हूं? शायद पोस्टग्रेज। क्या मैं नोएसक्यूएल का उपयोग करूंगा? शायद। मैं Hadoop और Hive का भी उपयोग कर सकता हूं। मैं सब कुछ फ्लैट फाइलों में रख सकता हूं। शायद मैं मैग्लेव को हैक करना शुरू कर दूं। मैं नौकरी के लिए जो सबसे अच्छा होगा उसका उपयोग करूंगा। अगर मुझे रिपोर्टिंग की आवश्यकता है, तो मैं किसी भी NoSQL का उपयोग नहीं करूंगा। अगर मुझे कैशिंग की आवश्यकता है, तो मैं शायद टोक्यो तानाशाह का उपयोग करूंगा। यदि मुझे अम्लता की आवश्यकता है, तो मैं NoSQL का उपयोग नहीं करूंगा। अगर मुझे एक टन काउंटर की जरूरत है, तो मैं रेडिस का उपयोग करूंगा। यदि मुझे लेन-देन की आवश्यकता है, तो मैं Postgres का उपयोग करूंगा। यदि मेरे पास एक ही प्रकार के बहुत सारे दस्तावेज़ हैं, तो मैं शायद Mongo का उपयोग करूँगा। अगर मुझे एक दिन में 1 बिलियन ऑब्जेक्ट लिखने की आवश्यकता है, तो मैं शायद वोल्डेमॉर्ट का उपयोग करूंगा। अगर मुझे पूर्ण पाठ खोज की आवश्यकता है, तो शायद मैं सोलर का उपयोग करूंगा। अगर मुझे अस्थिर डेटा की पूर्ण टेक्स्ट खोज की आवश्यकता है, तो शायद मैं स्फिंक्स का उपयोग करूंगा।

मुझे यह लेख पसंद है, मुझे यह बहुत जानकारीपूर्ण लगता है, यह NoSQL परिदृश्य और प्रचार का एक अच्छा अवलोकन देता है। लेकिन, और यह सबसे महत्वपूर्ण हिस्सा है, जब आरडीबीएमएस और नोएसक्यूएल के बीच चयन करने की बात आती है तो यह वास्तव में अपने आप से सही प्रश्न पूछने में मदद करता है। पढ़ने लायक IMHO।

लेख का वैकल्पिक लिंक



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Group_Concat () बनाम टी-एसक्यूएल String_Agg ()

  2. केवल डेटटाइम कॉलम पर तिथि के अनुसार समूह करें

  3. MySQL में INDEX बनाम KEY का उपयोग करने में क्या अंतर है?

  4. MySQL में महीने के हिसाब से ग्रुप कैसे करें

  5. डेटाबेस कॉर्नर:मैसकल स्टोरेज इंजन के लिए शुरुआती गाइड