MongoDB बनाम फायरबेस [बंद]


149

MongoDB पर Firebase का उपयोग करने के कुछ मात्रात्मक लाभ क्या हैं? (राय नहीं)

मुझे पता है कि फायरबेस एक एपीआई आधारित क्लाउड सेवा है, लेकिन मुझे ऐसा लगता है कि मानगो मुझे लंबे समय में अधिक नियंत्रण दे सकता है।


53
@ डेविड यह राय आधारित नहीं है। ओपी यह नहीं पूछ रहा है कि कौन सा बेहतर है (जो कि राय आधारित होगा) लेकिन मानगोडब पर एफबी के लाभों (यदि कोई हो) के बारे में पूछ रहा है। राय रखने के लिए हमें दोनों और जजों की कमियों का
फायदा उठाने की

मैं इसे पढ़ने के लिए @itsclarke की सिफारिश करूंगा: crisp.chat/blog/…
जूनियर मेहेले जूल

2
@KirillSlatin यह सवाल अब बंद कर दिया गया है। आप पढ़ सकते हैं कि गोरिल्ला बनाम शार्क ब्लॉग पोस्ट में इस तरह के सवालों की सराहना क्यों नहीं की जाती है । हालांकि इस ब्लॉग में निर्दिष्ट रचनात्मक कारण उपलब्ध नहीं है, यह अभी भी बहुत व्यापक है (एक उत्तर में सभी मतभेदों को समझना कठिन है), बहुत समय-आधारित (विशेषताएं जोड़ी जा सकती हैं जो इसे बदल देती हैं), और आम तौर पर एक अच्छा नहीं है इस साइट के लिए फिट है।
एरिक

जवाबों:


123
  • Firebase बैकवर्ड कनेक्टिविटी के साथ एक वास्तविक समय का इंजन है। यानी आप एक क्रॉस-प्लेटफ़ॉर्म ऐप का निर्माण कर सकते हैं जहाँ ग्राहक विशिष्ट डेटा पर घटनाओं की सदस्यता लेते हैं और सर्वर सक्रिय रूप से ग्राहकों को परिवर्तनों के बारे में सूचित करता है
  • आपके लिए डेटा लेयर होस्ट की गई है। मन कि यह अत्यधिक स्केलेबल है। यह एक अच्छा किकस्टार्टर समाधान है। जिसमें ऑर्टिकल मैनेजमेंट भी शामिल है
  • भू-आग। रियल-टाइम जियो समाधान का समन्वय करता है।
  • Firebase की स्पष्ट कमियां हैं:
    • जैसे ही आप बढ़ने लगते हैं आपको इसके लिए भुगतान करना होगा
    • आप डैटलेयर की मेजबानी नहीं कर सकते हैं (यदि डेटा महत्वपूर्ण है या आप कुछ अलग सबनेट के लिए ऐप विकसित करते हैं)

संपादित करें: यहाँ एक अच्छा लेख है कि Node.js + MongoDb के साथ अपने ऐप में फायरबेस को कैसे बदलें। यह दिखाता है कि आपको अपने आप पर कितना काम करना होगा और बताते हैं, IMHO, क्यों एक स्टार्टअप (छोटा ऐप) फायरबेस के साथ शुरू होना चाहिए (यदि ग्राहकों के लिए वास्तविक समय अपडेट की आवश्यकता है) और MongoDb के साथ आगे बढ़ें (किसी भी मामले में स्वयं -लिखित समाधान) यदि परियोजना विकसित होती रहती है

EDIT 2: Google Firebase द्वारा अधिग्रहित किए जाने के बाद अब अपनी मूल विशेषताओं के शीर्ष पर विभिन्न सुविधाएं प्रदान करता है, जिन्हें आप अपने खाते के निर्माण के लिए संघर्ष करेंगे:


39

सेब और संतरे। फायरबेस एक बैकएंड-ए-ए-सर्विस है जिसमें पहचान प्रबंधन, रियलटाइम डेटा दृश्य और एक दस्तावेज़ डेटाबेस शामिल है। यह बादल में चलता है।

दूसरी ओर MongoDB एक समृद्ध क्वेरी भाषा के साथ एक पूर्ण डेटाबेस है। सिद्धांत रूप में यह आपकी स्वयं की मशीन पर चलता है, लेकिन क्लाउड प्रदाता हैं।

यदि आप डेटाबेस घटक की तलाश कर रहे हैं तो केवल MongoDB अधिक परिपक्व और सुविधा संपन्न है।


31

Firebase को रियल-टाइम अपडेट के लिए डिज़ाइन किया गया है। यह आसानी से कोणीय के साथ एकीकृत करता है। दोनों NoSQL डेटाबेस हैं। MongoDB Socket.io एकीकरण के माध्यम से कोणीय के साथ भी कर सकता है। Meteor.js वास्तविक समय के अपडेट के लिए खुले सॉकेट कनेक्शन के साथ MongoDB का उपयोग भी करता है।

MongoDB स्थानीय रूप से चलाया जा सकता है, या कई अलग-अलग क्लाउड आधारित प्रदाताओं पर होस्ट किया जा सकता है। Firebase, मेरी राय में छोटे ऐप्स के लिए बहुत अच्छा है, बहुत जल्दी उठना और दौड़ना। MongoDB अधिक मजबूत बड़े ऐप्स के लिए आदर्श है, वास्तविक समय का एकीकरण संभव है लेकिन इसमें थोड़ा अधिक काम होता है।


23

Firebase का उपयोग करने के बाद मैं कुछ खोजने के लिए आया हूं।

यदि आप इसे बड़े, वास्तविक समय ऐप्स के लिए उपयोग करना चाहते हैं, तो यह सबसे अच्छा विकल्प नहीं है। यह एक खराब त्रुटि हैंडलिंग प्रणाली और सीमाओं सहित समस्याओं की अपनी विस्तृत सरणी है। आप फायरबेस को समझने की कोशिश में महत्वपूर्ण समय व्यतीत करेंगे और यह किंक है। यह एक परियोजना के लिए एक अखंड चीज बनने के लिए काफी आसान है जो नियंत्रण से बाहर हो जाती है। MongoDB एक बेहतर विकल्प है जहां तक ​​एक बड़े ऐप के लिए बैकएंड है।

हालाँकि, अगर आपको कोई छोटा ऐप बनाने की ज़रूरत है या जल्दी से किसी चीज़ का प्रोटोटाइप बनाना है, तो फायरबेस एक बढ़िया विकल्प है। यह जमीन पर चलने के लिए अविश्वसनीय रूप से आसान तरीका होगा।


22

मैं इस सवाल का जवाब AngularFire, Firebase की Library for Angular के संदर्भ में दूंगा।

  1. टीएल; डीआर: सुपरपावर। :-)

  2. AngularFire का तीन-तरफ़ा डेटा बाइंडिंग। कोणीय दृश्य और $ स्कोप को बाध्य करता है, अर्थात, आपके उपयोगकर्ता स्थानीय चर में स्वचालित रूप से अपडेट में क्या करते हैं, और जब आपका जावास्क्रिप्ट स्थानीय चर को स्वचालित रूप से अपडेट करता है। फायरबेस के साथ क्लाउड डेटाबेस भी ऑटोमैटिकली अपडेट हो जाता है। आपको $ http.get या $ http.put अनुरोध लिखने की आवश्यकता नहीं है, डेटा सिर्फ अपडेट करता है।

  3. पांच तरह से डेटा बाइंडिंग, और सात-तरफ़ा, नौ-वे, आदि। मैंने एंगफायर के उपयोग से टिक-टैक-टो खेल बनाया। दो खिलाड़ी एक साथ खेल सकते हैं, दो विचारों के साथ दो $ स्कोप और क्लाउड डेटाबेस को अपडेट करेंगे। आप तीन या अधिक खिलाड़ियों के साथ एक गेम बना सकते हैं, सभी एक फायरबेस डेटाबेस साझा कर रहे हैं।

  4. AngularFire की OAuth2 लाइब्रेरी फेसबुक, GitHub, Google, Twitter, टोकन और पासवर्ड के साथ प्राधिकरण को आसान बनाती है।

  5. दोहरी सुरक्षा। प्राधिकरण की आवश्यकता के लिए आप अपने कोणीय मार्गों को सेट कर सकते हैं, और फायरबेस में नियम स्थापित कर सकते हैं कि कौन डेटा पढ़ और लिख सकता है।

  6. कोई बैक एंड नहीं है। आपको नोड और एक्सप्रेस के साथ सर्वर बनाने की आवश्यकता नहीं है। अपने स्वयं के सर्वर को चलाने से बहुत काम हो सकता है, सुरक्षा के बारे में जानने की आवश्यकता होती है, किसी को कुछ करना पड़ता है यदि सर्वर नीचे चला जाता है, आदि।

  7. तेज। यदि आपका सर्वर सैन फ्रांसिस्को में है और ग्राहक सैन जोस में है, तो ठीक है। लेकिन बैंगलोर में एक क्लाइंट के लिए आपके सर्वर से जुड़ना धीमा हो जाएगा। हर जगह तेजी से कनेक्शन के लिए फायरबेस को दुनिया भर में तैनात किया जाता है।


Fireloop क्या है?, क्या यह फायरबेस के साथ बाकी एपी लिखने का एक तरीका है?
आशीषबर्स

वास्तव में मुझे लगता है कि कोणीय गोलाबारी अद्भुत है, क्या कोई तरीका है कि आप इसे ले सकते हैं और इसे अपने स्वयं के डेटाबेस सिस्टम के साथ उपयोग करने के लिए पास कर सकते हैं ?, इस मामले में मोंगो के साथ, इसलिए यह अद्भुत होगा कि आप तीन डेटा-बाइंडिंग बाइंडिंग का उपयोग कर सकते हैं और अपने मानों को तुरंत अपडेट करने में सक्षम होने के लिए भी
Kross

मुझे आपकी टिप्पणी का अंतिम भाग पसंद है: "फायरबेस को हर जगह तेज कनेक्शन के लिए दुनिया भर में तैनात किया गया है।"
लेस्टर

13

मेरे अनुभव में, फायरबेस के साथ काम करना एक बहुत बड़ा लाभ है यदि आप उपयोगकर्ता प्रबंधन, डेटाबेस, मैसेजिंग प्रकार के ऐप करने की कोशिश कर रहे हैं क्योंकि ये सभी सुविधाएँ पहले से ही अच्छी तरह से एकीकृत हैं।

जैसे दूसरों ने कहा है, यदि आप सिर्फ डेटाबेस / क्वेरी पहलू पर ध्यान केंद्रित कर रहे हैं, तो मूंगो से चिपके रहें।


13

Firebase सुविधाओं का एक सूट है।

  • रियलटाइम डेटाबेस
  • मेजबानी
  • प्रमाणीकरण
  • भंडारण
  • क्लाउड मैसेजिंग
  • रिमोट कॉन्फ़िगरेशन
  • टेस्ट लैब
  • क्रैश रिपोर्टिंग
  • सूचनाएं
  • ऐप इंडेक्सिंग
  • गतिशील लिंक
  • आमंत्रण
  • ऐडवर्ड्स
  • AdMob

मेरा मानना ​​है कि आप मैंगो डीबी के साथ फायरबेस रियलटाइम डेटाबेस की तुलना करने की कोशिश कर रहे हैं। Firebase Realtime डेटाबेस JSON प्रारूप के रूप में डेटा संग्रहीत करता है और डेटा को सुनने वाले सभी ग्राहकों को डेटा के सभी अपडेट के लिए सिंक करता है। यह आपको उन सभी जटिलताओं से अलग करता है जो किसी भी डेटाबेस को सेटअप और स्केल करने की आवश्यकता होती है। मैं फायरबेस की सिफारिश नहीं करूँगा जहाँ आपके पास बहुत से जटिल परिदृश्य हैं जहाँ डेटा के एकत्रीकरण की आवश्यकता है। (प्रश्न जो कि SUM / AVERAGE तरह के सामान की आवश्यकता है)। हालांकि यह हाल ही में फायरबेस कार्यों का उपयोग करके प्राप्त करने योग्य है। फायरबेस में मॉडलिंग डेटा मुश्किल है। लेकिन यह आपको तुरंत शुरू करने का सबसे अच्छा तरीका है। MongoDB एक डेटाबेस है। यह आपको बहुत शक्तिशाली सुविधाएँ प्रदान करता है। लेकिन MongoDB जब किसी भी प्लेटफ़ॉर्म में स्थापित होता है, तो आपको इसे स्वयं प्रबंधित करने की आवश्यकता होती है।

जब मैं Firebase या MongoDB (या किसी DB) के बीच चयन करने का प्रयास करता हूं। मैं निम्नलिखित उत्तर देने की कोशिश करता हूं।

  1. क्या कई एकत्रीकरण प्रश्न हैं जिन्हें निष्पादित किया जाता है। (जैसे रिपोर्टिंग टूल या बीआई उपकरण के मामले में)। यदि हाँ Firebase के लिए मत जाओ
  2. क्या मुझे बहुत अधिक लेन-देन करने की आवश्यकता है। (यदि हां, तो मैं फायरबेस के साथ नहीं जाना चाहूंगा) (कार्यों के शुरू होने के बाद कुछ हद तक आसान है) लेकिन यह भी एक ओवरहेड है अगर बहुत सारे लेनदेन को बनाए रखने की आवश्यकता होती है)
  3. मुझे कौन सी टाइमलाइन उठानी है और चीजों को चलाना है। (फायरबेस को सेटअप और इंटीग्रेट करना बहुत आसान है)।
  4. क्या मेरे पास डीबी को बढ़ाने और डीबी से संबंधित सामानों को शूट करने में परेशानी है। (Firebase SAAS की तरह अधिक है, इसलिए स्केलेबिलिटी के बारे में चिंता करने की कोई ज़रूरत नहीं है)

13

Firebase कुछ अच्छी सुविधाएँ प्रदान करता है जैसे वास्तविक समय परिवर्तन प्रतिबिंब, प्रमाणीकरण तंत्र का आसान एकीकरण, और रैपिड वेब विकास के लिए बहुत सारी अन्य अंतर्निहित सुविधाएँ। Firebase, वास्तव में वेब विकास को इतना सरल बनाता है जो कभी मौजूद नहीं होता है। Firebase डेटाबेस MongoDB का एक कांटा है

MongoDB पर फायरबेस का उपयोग करने का क्या फायदा है?

आप MongoDB पर फायरबेस की सभी अंतर्निहित सुविधाओं का लाभ उठा सकते हैं ।

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