Cloud Firestore और Firebase Realtime Database में क्या अंतर है?


252

Google ने क्लाउड फायरस्टोर, एप्स के लिए अपना नया डॉक्यूमेंट डेटाबेस जारी किया।

मैं दस्तावेज़ीकरण पढ़ रहा हूं लेकिन मुझे फायरस्टार और फायरबेस डीबी के बीच बहुत अंतर नहीं दिखता है।

मुख्य बिंदु यह है कि फायरस्टार दस्तावेजों और संग्रह का उपयोग करता है जो फायरबेस की तुलना में क्वेरी के आसान उपयोग की अनुमति देता है, जो कि JSON आधार के साथ एक पारंपरिक noSQL डेटाबेस है।

मैं उनके मतभेदों, या उपयोगों के बारे में थोड़ा और जानना चाहूंगा, या क्या फायरस्टार सिर्फ फायरबेस डीबी को बदलने के लिए आया था?


1
फायरस्टार पर तेजी से प्रतिक्रियाएं होती हैं, फायरबेस रियल टाइम डेटाबेस पर राइट्स तेज हैं
ड्रैगनफायर

जवाबों:


380

इसलिए मैंने इस पूरे प्रश्न के बारे में एक पूरी ब्लॉग पोस्ट लिखी है , और मैं आपको अधिक पूर्ण उत्तर के लिए इसे (या आधिकारिक दस्तावेज ) जांचने की सलाह देता हूं ।

लेकिन अगर आप त्वरित (-ish) सारांश चाहते हैं, तो यह है:

बेहतर क्वेरी और अधिक संरचित डेटा - जबकि रीयलटाइम डेटाबेस सिर्फ एक विशाल JSON पेड़ है, क्लाउड फायरस्टार थोड़ा अधिक संरचित है। आपके सभी डेटा में दस्तावेज़ होते हैं (जो मूल रूप से कुंजी-मूल्य स्टोर होते हैं) और संग्रह (जो दस्तावेजों के संग्रह हैं)। दस्तावेज़ अक्सर सबकोलेक्शन के लिए भी इंगित करते हैं, जिसमें अन्य दस्तावेज़ होते हैं, जिसमें स्वयं अन्य दस्तावेज़ शामिल हो सकते हैं, और इसी तरह।

यह संरचित डेटा आपको दो तरीकों से मदद करता है। सबसे पहले, सभी प्रश्न उथले हैं , जिसका अर्थ है कि आप नीचे दिए गए सभी डेटा को हथियाने के बिना एक दस्तावेज़ का अनुरोध कर सकते हैं। इसका मतलब है कि आप अपने डेटा को श्रेणीबद्ध तरीके से संग्रहीत रख सकते हैं जो आपके डेटाबेस को उथले रखने के बारे में चिंता किए बिना आपके लिए अधिक समझ में आता है। दूसरा, आपके पास अधिक शक्तिशाली प्रश्न हैं। उदाहरण के लिए, आप अब उन "कॉम्बो" फ़ील्ड बनाने के लिए कई क्षेत्रों में क्वेरी कर सकते हैं जो आपके डेटाबेस के अन्य हिस्सों से डेटा को संयोजित (और अपकृत) करते हैं। कुछ मामलों में, क्लाउड फायरस्टार सीधे उन प्रश्नों को चलाएगा, और अन्य मामलों में, यह स्वचालित रूप से आपके लिए अनुक्रमित बनाएगा और बनाए रखेगा।

स्केल के लिए बनाया गया - क्लाउड फायरस्टार रियलटाइम डेटाबेस से बेहतर पैमाने पर करने में सक्षम होगा। यह ध्यान रखना महत्वपूर्ण है कि आपके प्रश्न आपके परिणाम सेट के आकार को मापते हैं, आपके डेटा सेट को नहीं। इसलिए खोज करना तेज़ रहेगा, चाहे आपका डेटा सेट कितना भी बड़ा क्यों न हो।

डेटा की आसान नियमावली - रियलटाइम डेटाबेस की तरह, आप वास्तविक समय में परिवर्तनों को स्ट्रीम करने के लिए क्लाउड फायरस्टार में श्रोताओं को सेट कर सकते हैं। लेकिन अगर आप उस तरह का व्यवहार नहीं चाहते हैं, और बस एक सरल "मेरे डेटा को प्राप्त करें" कॉल चाहते हैं, तो क्लाउड फायरस्टार के पास भी यही है, और यह एक प्राथमिक उपयोग के मामले में बनाया गया है। (वे onceरीयलटाइम डेटाबेस-लैंड में कॉल से बहुत बेहतर हैं )

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

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

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

आप रियलटाइम डेटाबेस का उपयोग क्यों करना चाहते हैं - यह कुछ कारणों से नीचे आता है। 1) यह पूरी तरह से "यह संभवत: उन ऐप्स के लिए सस्ता होगा जो बहुत सारे अपडेट करते हैं" जो मैंने पहले उल्लेख किया था, 2) यह लंबे समय से लगभग है और हजारों ऐप द्वारा परीक्षण किया गया है, 3) यह बेहतर विलंबता है और जब आपको वास्तविक समय पर महसूस करने के लिए मज़बूती से कम विलंबता के साथ कुछ चाहिए, तो रियलटाइम डेटाबेस बेहतर काम कर सकता है।

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

उम्मीद है की वो मदद करदे!


2
बहुत बहुत धन्यवाद टॉड! मैंने घोषणा पोस्ट देखी लेकिन यह नहीं! मैं फायरस्टार के साथ पूरी तरह से प्यार में हूँ, दुख की बात है कि अब मुझे अपने पूरे RxJava को इस एक्सडी के लिए फिर से लिखना होगा।
फ्रांसिस्को डर्डिन गार्सिया

1
Google क्लाउड डेटास्टोर कैसे फिट होता है? प्रतीत होता है कि क्लाउड फायरस्टार के साथ बहुत अधिक ओवरलैप है। @ToddKerpelman
जॉन जी

2
क्लाउड डाटस्टोर के साथ इसमें बहुत कुछ है। सबसे बड़ा अंतर फायरबेस के साथ एकीकरण है, इसलिए आपके पास मूल ऑफ़लाइन मोड के साथ-साथ वास्तविक समय के सिंक्रनाइज़ेशन सुविधाओं के साथ मोबाइल और वेब एसडीके तक पहुंच है। Cloud Datastore बड़े पैमाने पर सर्वर-साइड विकास के लिए बहुत अच्छा है, जहाँ आप अपने ऐप से अपना कनेक्शन प्रबंधित करते हैं, जैसे कि App Engine पर अपनी खुद की वेबसाइट चलाना या Compute / कंटेनर इंजन के माध्यम से।
टोड केर्पेलमैन

2
"मजबूत स्थिरता" का वास्तव में क्या मतलब है? कैप प्रमेय बताता है कि आपको "वितरित किए गए और उपलब्ध परिवेश में आपके डेटा का नवीनतम संस्करण मिल रहा है" यह आश्वासन नहीं दिया जा सकता है। संगति, उपलब्धता, विभाजन सहिष्णुता => पिक 2.
अज़हरचार्ल्स

1
@ToddKerpelman किसी भी मौका आप एक बादल Firestore / क्लाउड Datastore तुलना करना होगा। दोनों एक जैसे लगते हैं।
अडोनडेपोट

63

आप पूरा लेख यहाँ पढ़ सकते हैं: https://medium.com/@beingrahul/firebase-cloud-firestore-vs-firebase-realtime-database-931d4265d4b0

Firebase Realtime databaseइसे JSON ट्री के रूप में स्टैक्चर्ड किया गया है, लेकिन Cloud Firestoreदस्तावेजों में डेटा संग्रहीत किया गया है (जो कुंजी-मूल्य जोड़ी का एक सेट है) और संग्रह (जो दस्तावेजों का संग्रह है) प्रारूप।

अधिक संरचना डेटा

रीयलटाइम डेटाबेस ने JSON ट्री में डेटा संग्रहीत किया लेकिन क्लाउड फायरस्टोर ने दस्तावेजों में डेटा संग्रहीत किया जो कि JSON के समान है। यहां छवि विवरण दर्ज करें

Cloud FireStore में, दस्तावेज़ उपविभाजन और नेस्टेड ऑब्जेक्ट्स (जैसे कि ऊपर की आकृति में 'फ़ोन') को जीत सकते हैं, दोनों में आदिम फ़ील्ड जैसे स्ट्रिंग (जैसे 'नाम', 'ईमेल' और ऊपर की आकृति में) या जटिल ऑब्जेक्ट जैसे शामिल हो सकते हैं। सूचियों।

बेहतर क्वेरी

  • रीयलटाइम डेटाबेस में, हम किसी एकल क्वेरी में किसी संपत्ति पर केवल सॉर्ट या फ़िल्टर कर सकते हैं, न कि किसी संपत्ति पर सॉर्ट और फ़िल्टर करते हैं। क्लाउड फ़ायरस्टोर में, आप फ़िल्टर फ़िल्टर कर सकते हैं और फ़िल्टरिंग और सॉर्टिंग को एकल क्वेरी में संयोजित कर सकते हैं।
  • यदि आप अवरोही क्रम में डेटा प्राप्त करना चाहते हैं तो क्लाउड फायरस्टोर आपके लिए बहुत उपयोगी है, लेकिन रियलटाइम डेटाबेस के लिए, कोई क्वेरी सुविधा उपलब्ध नहीं है। यहां छवि विवरण दर्ज करें
  • आप क्लाउड फायरस्टोर में अधिक विशिष्ट क्वेरी (तार्किक और) बनाने के लिए कई "जहाँ" विधियों को भी श्रृंखलाबद्ध कर सकते हैं। यहां छवि विवरण दर्ज करें

अनुमापकता

Cloud Firestore, Realtime Database की तुलना में बेहतर पैमाने पर बनाने में सक्षम होगा। यह ध्यान रखना महत्वपूर्ण है कि आपका क्वेरी प्रदर्शन आपके परिणाम सेट के आकार के समानुपाती है, न कि आपका डेटा सेट। इसलिए खोज करना तेज़ रहेगा चाहे आपका डेटा सेट कितना भी बड़ा क्यों न हो।

डेटा का मैनुअल प्राप्त करना

हम Cloudtime में डेटा रियलटाइम को Realtime डेटाबेस की तरह सुन सकते हैं लेकिन Cloud FireStore में, हम डेटा मैनुअल (यदि आप किसी भी डेटा को केवल एक बार चाहते हैं) प्राप्त कर सकते हैं।

सुरक्षा

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

डेटा लिखना

हम एकल बैच के रूप में कई कार्यों को निष्पादित कर सकते हैं और उन्हें set(), update()या delete()विधियों के किसी भी संयोजन के साथ, परमाणु रूप से पूरा कर सकते हैं । यहां छवि विवरण दर्ज करें

मूल्य निर्धारण

रीयलटाइम डेटाबेस में, केवल बैंडविड्थ और भंडारण के लिए शुल्क, लेकिन उच्च दर पर। क्लाउड फायरस्टोर में, मुख्य रूप से आपके डेटाबेस में किए गए ऑपरेशन (रीड, राइट, डिलीट) और कम दर पर, बैंडविड्थ और स्टोरेज पर चार्जेज।


12
मूल लेख को लिंक करना अच्छा होगा: medium.com/@beingrahul/…
सलेम उयरदानी

1
क्या आप अधिक विस्तार से बता सकते हैं कि 'डेटा सत्यापन स्वचालित रूप से होता है' का क्या मतलब है?
SoEzPz

12

रीयलटाइम डेटाबेस पर क्लाउड फायरस्टोर चुनने का कारण

यह एक बेहतर संस्करण है

फायरबेस डेटाबेस बुनियादी अनुप्रयोगों के लिए पर्याप्त था। लेकिन यह जटिल आवश्यकताओं को संभालने के लिए पर्याप्त शक्तिशाली नहीं था। इसीलिए Cloud Firestore पेश किया गया है। यहाँ कुछ बड़े बदलाव हैं।

  • बुनियादी फ़ाइल संरचना में सुधार हुआ है।
  • वेब क्लाइंट के लिए ऑफ़लाइन समर्थन।
  • अधिक उन्नत क्वेरी का समर्थन करता है।
  • लिखो और लेनदेन संचालन परमाणु हैं।
  • विश्वसनीयता और प्रदर्शन में सुधार
  • स्केलिंग स्वचालित होगी।
  • अधिक सुरक्षित रहेगा।

मूल्य निर्धारण

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

Google की भावी योजनाएँ

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




2

Google से लिंक का सुझाव दें: Firebase Real-time Database vs FireStore

Google डॉक्स से निकाला गया, यहाँ एक छोटा सा सारांश:

FireBase Real Time DB , JSON आधारित NO SQL DB है, जिसका अर्थ मोबाइल एप्लिकेशन, क्षेत्रीय के लिए है, और इसका उपयोग आमतौर पर उपयोगकर्ताओं / उपकरणों के बीच डेटा को वास्तविक समय / अत्यंत कम विलंबता में संग्रहीत और सिंक करने के लिए किया जाता है।

FireStore JSON की तरह है 'NOSQL DB उच्च संगति के लिए, वैश्विक, आसानी से ऑटो स्केलिंग दृढ़ता, किसी भी क्लाइंट (न केवल मोबाइल ऐप) के लिए डिज़ाइन किया गया है जैसे कि विशिष्ट उपयोग के मामले जैसे कि परिसंपत्ति ट्रैकिंग, रियल टाइम एनालिटिक्स, खुदरा उत्पाद निर्माता का निर्माण, सामाजिक उपयोगकर्ता प्रोफाइल, गेमिंग लीडरबोर्ड, चैट आधारित एप्लिकेशन आदि।

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