डेटा साइंस में NoSQL डेटाबेस का उपयोग


16

डेटा विश्लेषण के लिए MongoDB जैसे NoSQL डेटाबेस का उपयोग कैसे किया जा सकता है? उनमें ऐसी कौन सी विशेषताएँ हैं जो डेटा विश्लेषण को तेज़ और शक्तिशाली बना सकती हैं?


2
प्रमुख उपयोग डेटा संग्रहीत करना और डेटा पुनर्प्राप्त करना है। वास्तव में, यह NOSQL डेटाबेस या किसी भी डेटाबेस के लिए एकमात्र उपयोग के बारे में है। अपने प्रश्न को बेहतर बनाना चाहते हैं?
स्पेसमैन जूल

हां, डेटाबेस का उपयोग मुख्य रूप से डेटा को संग्रहीत करने और पुनः प्राप्त करने के लिए किया जाता है। डेटा विश्लेषण के लिए उनका उपयोग कैसे किया जा सकता है? NOSQL डेटाबेस में मोंगोडब जैसे उपकरण बनाए गए हैं जो डेटा विश्लेषण को आसान और शक्तिशाली बनाते हैं?
jithinjustin

1
इसे संपादित करके अपने प्रश्न को सुधारें, टिप्पणियों में जोड़कर नहीं।
स्पेल्डमैन

जवाबों:


23

पूरी तरह से ईमानदार होने के लिए, अधिकांश NoSQL डेटाबेस बड़े डेटा में अनुप्रयोगों के लिए बहुत अच्छी तरह से अनुकूल नहीं हैं। सभी बड़े डेटा अनुप्रयोगों के विशाल बहुमत के लिए, के प्रदर्शन MongoDB एक संबंधपरक डेटाबेस की तुलना की तरह MySQL है काफी वारंट करने के लिए गरीब पर्याप्त MongoDB पूरी तरह से की तरह कुछ से दूर रहने के लिए है।

उस के साथ, NoSQL डेटाबेस के वास्तव में उपयोगी गुणों के एक जोड़े हैं जो निश्चित रूप से आपके पक्ष में काम करते हैं जब आप बड़े डेटा सेट के साथ काम कर रहे होते हैं, हालांकि उन लाभों की संभावना को पढ़ने के लिए SQL की तुलना में NoSQL के आमतौर पर खराब प्रदर्शन को पछाड़ते हैं- सघन संचालन (विशिष्ट बड़े डेटा उपयोग के मामलों के समान) कम है।

  • कोई स्कीमा नहीं - यदि आप बहुत से असंरचित डेटा के साथ काम कर रहे हैं, तो वास्तव में यह तय करना कठिन हो सकता है और एक स्कीमा लागू करें। सामान्य रूप से NoSQL डेटाबेस इस का बहुत समर्थन कर रहे हैं, और आपको मक्खी पर स्कीमा-कम दस्तावेज़ डालने की अनुमति देगा, जो निश्चित रूप से कुछ नहीं है जो एक SQL डेटाबेस समर्थन करेगा।
  • JSON - यदि आप CSV फ़ाइलों केबजाय JSON शैली के दस्तावेज़ों के साथ काम कर रहे हैं, तो आपको डेटाबेस-लेयर के लिए MongoDB जैसी किसी चीज़ का उपयोग करने में बहुत अधिक लाभ दिखाई देगा। आम तौर पर वर्कफ़्लो बचत बढ़ी हुई क्वेरी-समय से आगे नहीं निकलती है।
  • उपयोग में आसानी - मैं यह नहीं कह रहा हूँ कि एसक्यूएल डेटाबेस का उपयोग करना हमेशा कठिन होता है, या यह कि कैसंड्रा स्थापित करने के लिए दुनिया की सबसे आसान चीज है, लेकिन सामान्य तौर पर नोएसक्यूएल डेटाबेस एसक्यूएल डेटाबेस की तुलना में सेट अप और उपयोग करना आसान है। MongoDB इसका एक विशेष रूप से मजबूत उदाहरण है, जिसे ( SQLite के बाहर ) उपयोग करने के लिए सबसे आसान डेटाबेस परतों में से एक होने के लिए जाना जाता है । एसक्यूएल भी सामान्यीकरण से संबंधित है और एसक्यूएल सर्वोत्तम प्रथाओं की एक बड़ी विरासत है जो आमतौर पर विकास की प्रक्रिया को कम करती है।

व्यक्तिगत रूप से मैं आपको सुझाव दे सकता हूं कि आप निवल डेटाबेस जैसे कि Neo4j की भी जाँच करें, जो कुछ विशेष प्रकार के प्रश्नों के लिए वास्तव में अच्छा प्रदर्शन दिखाते हैं, यदि आप अपने डेटा विज्ञान अनुप्रयोगों के लिए बैकएंड निकाल रहे हैं।


तुम सही हो। NOSQL डेटाबेस का उपयोग मुख्य रूप से json जैसे असंरचित या अर्ध-संरचित डेटा के भंडारण के लिए किया जाता है। क्या आप कुछ प्रकार के डेटा विश्लेषण बता सकते हैं जो हम उनके साथ कर सकते हैं। डेटा विश्लेषण के लिए इस्तेमाल किए जाने वाले मोंगोडब में निर्मित उपकरण क्या हैं?
जीथिनोसिन जू

1
@jithinjustin डेटा विश्लेषण उपकरण नहीं हैं जो मोंगो, या वास्तव में किसी भी डेटाबेस में निर्मित हैं। इसके अलावा, jsonपूरी तरह से संरचित डेटा है। आप तकनीकी रूप से उस पर किसी भी तरह का डेटा विश्लेषण कर सकते हैं, एनओएसक्यूएल डेटाबेस का उपयोग करना वास्तव में संबंधित नहीं है। हालांकि मैंगो के ऊपर टूल बनाए गए हैं , जैसे कि एनालिटिका।
जूल

1
मैं उस सब के बारे में नहीं जानता। MongoDB MySQL से बेहतर प्रदर्शन कर सकता है। यदि आप PostgreSQL (जो, वैसे JSON स्वीकार कर सकते हैं) ने कहा कि आपके पास एक बेहतर तर्क होगा। किसी भी तरह से, मैं कुछ मनमाने "प्रदर्शन" पर विचार नहीं करूँगा (हम नहीं जानते कि उपयोग का मामला क्या है) NoSQL का उपयोग न करने का एक कारण है। कई डेटाबेस का उपयोग करके भी छूट न लें। याद रखें, MongoDB में अद्भुत एकत्रीकरण विशेषताएं हैं जो SQL में नहीं है।
टॉम

1
@ प्रदर्शन के आधार पर, आप पाएंगे कि केवल एक ही कार्य है कि वास्तव में mongo mysql को सम्मिलित करता है, आवेषण ( moredevs.ro/mysql-vs-mongodb-performance-benchmark ) है, जो डेटा विश्लेषण का तुलनात्मक रूप से छोटा हिस्सा है। SQL की एग्रीगेशन फीचर्स Mongo की तुलना में FAR अधिक परिपक्व हैं। जहाँ तक MYSQL बनाम पोस्टग्रेज के रूप में, संख्या बहुत अस्थायी रूप से तिरछी है और दोनों समान प्रदर्शन की पेशकश करते हैं। MYSQL अधिक सामान्य है, यही वजह है कि मैंने इसके बजाय उल्लेख किया है, लेकिन दोनों काफी समान हैं।
संकेत

मैंने हमेशा MongoDB पर बेहतर प्रदर्शन देखा है जब चीजें मेमोरी में फिट होती हैं। मैं नमक के लाभ के साथ बेंचमार्क लेता हूं क्योंकि अगर आप थोड़ा सा गूगल करते हैं तो आप मानगो को तेजी से दिखाने वाले बेंचमार्क का एक समूह खोजने वाले हैं। यह वास्तव में आपकी आवश्यकताओं पर निर्भर करता है। उस ने कहा, मूल प्रश्न का उत्तर देने में मदद करने के लिए - मुझे लगता है कि बड़े डेटा विज्ञान और विश्लेषिकी में NoSQL के लिए बहुत सारे उपयोग हैं।
टॉम

4

स्कीमा-रहित NoSQL दृष्टिकोण का एक लाभ यह है कि आप समय से पहले प्रतिबद्ध नहीं होते हैं और आप अपाचे ड्रिल जैसे उपयुक्त उपकरण का उपयोग करके क्वेरी समय पर सही स्कीमा लागू कर सकते हैं । देखें इस प्रस्तुति जानकारी के लिए। MySQL एक बड़े डेटा सेटिंग में मेरी पहली पसंद नहीं होगी।


NoSQL, JSON और Drill से संबंधित एक प्रश्न यहाँ दिया गया है: datascience.stackexchange.com/questions/9568/…
sheldonkreger

4

विचार करें, प्रयास करें, और शायद कई डेटाबेस का उपयोग करें। यहां खेलना केवल "प्रदर्शन" का मुद्दा नहीं है। यह वास्तव में आपकी आवश्यकताओं के लिए आने वाला है। आप कितने डेटा की बात कर रहे हैं? किस तरह का डेटा? आपको कितनी जल्दी इसकी आवश्यकता है? क्या आप अधिक पढ़े लिखे हैं या भारी लिखते हैं?

यहां एक बात आप SQL डेटाबेस में नहीं कर सकते हैं: भावना की गणना करें। http://www.slideshare.net/shift8/mongodb-machine-learning

बेशक उस मामले में गति आपकी आवश्यकताओं के लिए पर्याप्त तेज नहीं हो सकती है, लेकिन यह कुछ ऐसा है जो संभव है। विशिष्ट कुल मूल्यों के कुछ कैशिंग के साथ, यह काफी स्वीकार्य भी था। आप ऐसा क्यों करेंगे? सुविधा।

सुविधा वास्तव में एक ऐसी चीज है जिसे आप मनाने वाले हैं। यही कारण है कि (मेरी राय में) NoSQL डेटाबेस बनाए गए थे। प्रदर्शन भी निश्चित रूप से, लेकिन मैं बेंचमार्क छूटने और अन्य चिंताओं पर अधिक ध्यान केंद्रित करने की कोशिश कर रहा हूं।

MongoDB (और कुछ अन्य NoSQL) डेटाबेस में कुछ बहुत शक्तिशाली विशेषताएं हैं जैसे कि अंतर्निहित मानचित्र / कम करना। यह लागत और समय दोनों में Hadoop जैसी किसी चीज का उपयोग करने पर बचत कर सकता है। या यह एक बड़ा व्यवसाय शुरू करने के लिए एक प्रोटोटाइप या एमवीपी प्रदान कर सकता है।

ग्राफ़ डेटाबेस के बारे में क्या? वे "NoSQL" भी हैं। OrientDB जैसे डेटाबेस को देखें। यदि आप प्रदर्शन पर बहस करना चाहते हैं ... मुझे नहीं लगता कि आप मुझे एक SQL डेटाबेस दिखाने जा रहे हैं जो कि वहां तेज है =) ... और ग्राफ़ डेटाबेस के पास वास्तव में आश्चर्यजनक अनुप्रयोग है जो आपको करने की आवश्यकता है।

प्रौद्योगिकी का नियम (और इंटरनेट) एक चीज के साथ बहुत सहज नहीं है। आप सीमित होने जा रहे हैं और विफलता के लिए खुद को स्थापित करें।


1
मुझे उस लिंक में या यहाँ कुछ भी दिखाई नहीं देता है जो यह साबित करता है कि आप SQL डेटाबेस में सेंटीमेंट विश्लेषण नहीं कर सकते हैं। mongoDB उदाहरणों का DB में जावास्क्रिप्ट से लाभ होता है, इसलिए आप SQL डेटाबेस में किसी भी एम्बेडेड भाषा का उपयोग कर सकते हैं। उदाहरण के लिए Postgres + R.
Spacedman

यह देखना पसंद करेंगे कि आप उन डेटाबेस में कोड और मैप को कहां / कम कर सकते हैं। सभी गंभीरता में (विशेषकर पोस्टग्रेज)। ... और यदि आप कर सकते हैं, तब भी इसका जवाब किसी भी तरह से मान्य नहीं है। एक बस NoSQL का उपयोग करना चाहते हो सकता है। यह वास्तव में कारगर है।
टॉम

1
Postgres + C, Python, Perl, R, अपने Postgres DB को नवीनतम मशीन लर्निंग एल्गोरिदम में फीड करें। आसान: postgresql.org/docs/9.0/static/xplang.html
Spacedman

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