MongoDB पर Firebase का उपयोग करने के कुछ मात्रात्मक लाभ क्या हैं? (राय नहीं)
मुझे पता है कि फायरबेस एक एपीआई आधारित क्लाउड सेवा है, लेकिन मुझे ऐसा लगता है कि मानगो मुझे लंबे समय में अधिक नियंत्रण दे सकता है।
MongoDB पर Firebase का उपयोग करने के कुछ मात्रात्मक लाभ क्या हैं? (राय नहीं)
मुझे पता है कि फायरबेस एक एपीआई आधारित क्लाउड सेवा है, लेकिन मुझे ऐसा लगता है कि मानगो मुझे लंबे समय में अधिक नियंत्रण दे सकता है।
जवाबों:
संपादित करें: यहाँ एक अच्छा लेख है कि Node.js + MongoDb के साथ अपने ऐप में फायरबेस को कैसे बदलें। यह दिखाता है कि आपको अपने आप पर कितना काम करना होगा और बताते हैं, IMHO, क्यों एक स्टार्टअप (छोटा ऐप) फायरबेस के साथ शुरू होना चाहिए (यदि ग्राहकों के लिए वास्तविक समय अपडेट की आवश्यकता है) और MongoDb के साथ आगे बढ़ें (किसी भी मामले में स्वयं -लिखित समाधान) यदि परियोजना विकसित होती रहती है
EDIT 2: Google Firebase द्वारा अधिग्रहित किए जाने के बाद अब अपनी मूल विशेषताओं के शीर्ष पर विभिन्न सुविधाएं प्रदान करता है, जिन्हें आप अपने खाते के निर्माण के लिए संघर्ष करेंगे:
विकास के लिए
विकास के लिए
सेब और संतरे। फायरबेस एक बैकएंड-ए-ए-सर्विस है जिसमें पहचान प्रबंधन, रियलटाइम डेटा दृश्य और एक दस्तावेज़ डेटाबेस शामिल है। यह बादल में चलता है।
दूसरी ओर MongoDB एक समृद्ध क्वेरी भाषा के साथ एक पूर्ण डेटाबेस है। सिद्धांत रूप में यह आपकी स्वयं की मशीन पर चलता है, लेकिन क्लाउड प्रदाता हैं।
यदि आप डेटाबेस घटक की तलाश कर रहे हैं तो केवल MongoDB अधिक परिपक्व और सुविधा संपन्न है।
Firebase को रियल-टाइम अपडेट के लिए डिज़ाइन किया गया है। यह आसानी से कोणीय के साथ एकीकृत करता है। दोनों NoSQL डेटाबेस हैं। MongoDB Socket.io एकीकरण के माध्यम से कोणीय के साथ भी कर सकता है। Meteor.js वास्तविक समय के अपडेट के लिए खुले सॉकेट कनेक्शन के साथ MongoDB का उपयोग भी करता है।
MongoDB स्थानीय रूप से चलाया जा सकता है, या कई अलग-अलग क्लाउड आधारित प्रदाताओं पर होस्ट किया जा सकता है। Firebase, मेरी राय में छोटे ऐप्स के लिए बहुत अच्छा है, बहुत जल्दी उठना और दौड़ना। MongoDB अधिक मजबूत बड़े ऐप्स के लिए आदर्श है, वास्तविक समय का एकीकरण संभव है लेकिन इसमें थोड़ा अधिक काम होता है।
Firebase का उपयोग करने के बाद मैं कुछ खोजने के लिए आया हूं।
यदि आप इसे बड़े, वास्तविक समय ऐप्स के लिए उपयोग करना चाहते हैं, तो यह सबसे अच्छा विकल्प नहीं है। यह एक खराब त्रुटि हैंडलिंग प्रणाली और सीमाओं सहित समस्याओं की अपनी विस्तृत सरणी है। आप फायरबेस को समझने की कोशिश में महत्वपूर्ण समय व्यतीत करेंगे और यह किंक है। यह एक परियोजना के लिए एक अखंड चीज बनने के लिए काफी आसान है जो नियंत्रण से बाहर हो जाती है। MongoDB एक बेहतर विकल्प है जहां तक एक बड़े ऐप के लिए बैकएंड है।
हालाँकि, अगर आपको कोई छोटा ऐप बनाने की ज़रूरत है या जल्दी से किसी चीज़ का प्रोटोटाइप बनाना है, तो फायरबेस एक बढ़िया विकल्प है। यह जमीन पर चलने के लिए अविश्वसनीय रूप से आसान तरीका होगा।
मैं इस सवाल का जवाब AngularFire, Firebase की Library for Angular के संदर्भ में दूंगा।
टीएल; डीआर: सुपरपावर। :-)
AngularFire का तीन-तरफ़ा डेटा बाइंडिंग। कोणीय दृश्य और $ स्कोप को बाध्य करता है, अर्थात, आपके उपयोगकर्ता स्थानीय चर में स्वचालित रूप से अपडेट में क्या करते हैं, और जब आपका जावास्क्रिप्ट स्थानीय चर को स्वचालित रूप से अपडेट करता है। फायरबेस के साथ क्लाउड डेटाबेस भी ऑटोमैटिकली अपडेट हो जाता है। आपको $ http.get या $ http.put अनुरोध लिखने की आवश्यकता नहीं है, डेटा सिर्फ अपडेट करता है।
पांच तरह से डेटा बाइंडिंग, और सात-तरफ़ा, नौ-वे, आदि। मैंने एंगफायर के उपयोग से टिक-टैक-टो खेल बनाया। दो खिलाड़ी एक साथ खेल सकते हैं, दो विचारों के साथ दो $ स्कोप और क्लाउड डेटाबेस को अपडेट करेंगे। आप तीन या अधिक खिलाड़ियों के साथ एक गेम बना सकते हैं, सभी एक फायरबेस डेटाबेस साझा कर रहे हैं।
AngularFire की OAuth2 लाइब्रेरी फेसबुक, GitHub, Google, Twitter, टोकन और पासवर्ड के साथ प्राधिकरण को आसान बनाती है।
दोहरी सुरक्षा। प्राधिकरण की आवश्यकता के लिए आप अपने कोणीय मार्गों को सेट कर सकते हैं, और फायरबेस में नियम स्थापित कर सकते हैं कि कौन डेटा पढ़ और लिख सकता है।
कोई बैक एंड नहीं है। आपको नोड और एक्सप्रेस के साथ सर्वर बनाने की आवश्यकता नहीं है। अपने स्वयं के सर्वर को चलाने से बहुत काम हो सकता है, सुरक्षा के बारे में जानने की आवश्यकता होती है, किसी को कुछ करना पड़ता है यदि सर्वर नीचे चला जाता है, आदि।
तेज। यदि आपका सर्वर सैन फ्रांसिस्को में है और ग्राहक सैन जोस में है, तो ठीक है। लेकिन बैंगलोर में एक क्लाइंट के लिए आपके सर्वर से जुड़ना धीमा हो जाएगा। हर जगह तेजी से कनेक्शन के लिए फायरबेस को दुनिया भर में तैनात किया जाता है।
मेरे अनुभव में, फायरबेस के साथ काम करना एक बहुत बड़ा लाभ है यदि आप उपयोगकर्ता प्रबंधन, डेटाबेस, मैसेजिंग प्रकार के ऐप करने की कोशिश कर रहे हैं क्योंकि ये सभी सुविधाएँ पहले से ही अच्छी तरह से एकीकृत हैं।
जैसे दूसरों ने कहा है, यदि आप सिर्फ डेटाबेस / क्वेरी पहलू पर ध्यान केंद्रित कर रहे हैं, तो मूंगो से चिपके रहें।
Firebase सुविधाओं का एक सूट है।
मेरा मानना है कि आप मैंगो डीबी के साथ फायरबेस रियलटाइम डेटाबेस की तुलना करने की कोशिश कर रहे हैं। Firebase Realtime डेटाबेस JSON प्रारूप के रूप में डेटा संग्रहीत करता है और डेटा को सुनने वाले सभी ग्राहकों को डेटा के सभी अपडेट के लिए सिंक करता है। यह आपको उन सभी जटिलताओं से अलग करता है जो किसी भी डेटाबेस को सेटअप और स्केल करने की आवश्यकता होती है। मैं फायरबेस की सिफारिश नहीं करूँगा जहाँ आपके पास बहुत से जटिल परिदृश्य हैं जहाँ डेटा के एकत्रीकरण की आवश्यकता है। (प्रश्न जो कि SUM / AVERAGE तरह के सामान की आवश्यकता है)। हालांकि यह हाल ही में फायरबेस कार्यों का उपयोग करके प्राप्त करने योग्य है। फायरबेस में मॉडलिंग डेटा मुश्किल है। लेकिन यह आपको तुरंत शुरू करने का सबसे अच्छा तरीका है। MongoDB एक डेटाबेस है। यह आपको बहुत शक्तिशाली सुविधाएँ प्रदान करता है। लेकिन MongoDB जब किसी भी प्लेटफ़ॉर्म में स्थापित होता है, तो आपको इसे स्वयं प्रबंधित करने की आवश्यकता होती है।
जब मैं Firebase या MongoDB (या किसी DB) के बीच चयन करने का प्रयास करता हूं। मैं निम्नलिखित उत्तर देने की कोशिश करता हूं।
Firebase कुछ अच्छी सुविधाएँ प्रदान करता है जैसे वास्तविक समय परिवर्तन प्रतिबिंब, प्रमाणीकरण तंत्र का आसान एकीकरण, और रैपिड वेब विकास के लिए बहुत सारी अन्य अंतर्निहित सुविधाएँ। Firebase, वास्तव में वेब विकास को इतना सरल बनाता है जो कभी मौजूद नहीं होता है। Firebase डेटाबेस MongoDB का एक कांटा है ।
MongoDB पर फायरबेस का उपयोग करने का क्या फायदा है?
आप MongoDB पर फायरबेस की सभी अंतर्निहित सुविधाओं का लाभ उठा सकते हैं ।