कोई डेटाबेस चुनें: Cloud Firestore या रीयल टाइम डेटाबेस

Firebase, क्लाउड-आधारित दो ऐसे दस्तावेज़ डेटाबेस उपलब्ध कराता है जिन्हें क्लाइंट ऐक्सेस कर सकता है. बुध नए ग्राहकों को Cloud Firestore से शुरू करने का सुझाव दें:

  • Cloud Firestore, JSON के साथ काम करने वाला एंटरप्राइज़-ग्रेड दस्तावेज़ डेटाबेस है. इसका सुझाव दिया जाता है. 2,50,000 से ज़्यादा डेवलपर इस पर भरोसा करते हैं. यह इन लोगों के लिए सही है ऐसे रिच डेटा मॉडल वाले ऐप्लिकेशन जिनके लिए क्वेरी करने की योग्यता, स्केलेबिलिटी, और ज़्यादा उपलब्धता. इससे क्लाइंट को इंटरनेट के बिना, इंतज़ार का समय कम होने के साथ-साथ सिंक करने की सुविधा भी मिलती है डेटा ऐक्सेस करते हैं.

  • Realtime Database क्लासिक Firebase JSON डेटाबेस है. यह इन लोगों के लिए सही है ऐसे आसान डेटा मॉडल वाले ऐप्लिकेशन जिनके लिए, आसानी से खोजने की ज़रूरत होती है और इंतज़ार का समय कम रखना पड़ता है के साथ सिंक करने की सुविधा मिलती है.

किन अन्य ज़रूरी बातों का ध्यान रखना चाहिए?

ध्यान देने लायक पिछली ज़रूरी बातों के बारे में सोचने के बाद, शायद आप इन बातों को डेटाबेस चुनें. अगर आपको अब भी फ़ायदे और कमियां समझ आ रही हैं, तो इस सेक्शन में Cloud Firestore और Realtime Database के बीच अंतर.

डेटा मॉडल

Realtime Database और Cloud Firestore, दोनों NoSQL डेटाबेस हैं.

Cloud Firestore पसंदीदा Realtime Database
डेटा को दस्तावेज़ों के कलेक्शन के तौर पर सेव करता है.
  • सामान्य डेटा को दस्तावेज़ों में आसानी से सेव किया जा सकता है. ये दस्तावेज़, JSON से काफ़ी मिलते-जुलते होते हैं.
  • जटिल, हैरारकी वाले डेटा को बड़े पैमाने पर व्यवस्थित करना आसान है. इसके लिए दस्तावेज़ों के सब-कलेक्शन.
  • इसके लिए, डेटा को कम करने और डीनॉर्मलाइज़ेशन के कम इस्तेमाल की ज़रूरत होती है.

ज़्यादा जानने के लिए, Cloud Firestore डेटा मॉडल.

डेटा को एक बड़े JSON ट्री के तौर पर सेव करता है.
  • सामान्य डेटा को सेव करना बहुत आसान होता है.
  • जटिल, हैरारकी वाले डेटा को बड़े पैमाने पर व्यवस्थित करना मुश्किल होता है.

ज़्यादा जानने के लिए, Realtime Database डेटा मॉडल.

रीयल टाइम और ऑफ़लाइन सहायता

दोनों में मोबाइल-फ़र्स्ट और रीयल टाइम SDK टूल हैं. साथ ही, दोनों में ऑफ़लाइन काम करने वाले ऐप्लिकेशन के लिए, लोकल डेटा स्टोरेज की सुविधा काम करती है.

Cloud Firestore पसंदीदा Realtime Database
Apple, Android, और वेब क्लाइंट के लिए ऑफ़लाइन सहायता. Apple और Android क्लाइंट के लिए ऑफ़लाइन सहायता.

मौजूदगी

यह जानना उपयोगी हो सकता है कि क्लाइंट कब ऑनलाइन है या ऑफ़लाइन. Firebase Realtime Database, क्लाइंट के कनेक्शन का स्टेटस रिकॉर्ड कर सकता है और उसे अपडेट दे सकता है हर बार क्लाइंट के कनेक्शन की स्थिति में बदलाव होता है.

Cloud Firestore पसंदीदा Realtime Database
यह सुविधा, नेटिव तौर पर काम नहीं करती. Realtime Database के साथ Cloud Firestore को सिंक करके, Realtime Database में मौजूद रहने की सुविधा को बेहतर बनाया जा सकता है. इसके लिए, Cloud Functions का इस्तेमाल करें. Cloud Firestore में मौजूद रहने की सुविधा को बेहतर बनाएं लेख पढ़ें. प्रॉडक्ट की उपलब्धता की जानकारी देने की सुविधा काम करती है.

क्वेरी की जा रही है

क्वेरी के ज़रिए दोनों में से किसी भी डेटाबेस से डेटा वापस पाएं, क्रम से लगाएं, और फ़िल्टर करें.

Cloud Firestore पसंदीदा Realtime Database
कपाउंड के साथ इंडेक्स की गई क्वेरी क्रम से लगाना और फ़िल्टर करना.
  • फ़िल्टर की चेन बनाने के साथ-साथ, फ़िल्टर करने और क्रम से लगाने के लिए, यहां दिया गया प्रॉपर्टी किस क्वेरी का इस्तेमाल किया जा सकता है.
  • क्वेरी कम जानकारी वाली होती हैं: ये सिर्फ़ किसी खास कलेक्शन या कलेक्शन ग्रुप में मौजूद दस्तावेज़ दिखाती हैं. साथ ही, ये सब-कलेक्शन का डेटा नहीं दिखाती हैं.
  • क्वेरी में हमेशा पूरे दस्तावेज़ दिखने चाहिए.
  • क्वेरी डिफ़ॉल्ट रूप से इंडेक्स होती हैं: क्वेरी की परफ़ॉर्मेंस, आपके डेटासेट के बजाय आपके नतीजों के सेट के साइज़ के हिसाब से होती है.
डीप क्वेरी, जिनमें क्रम से लगाने और फ़िल्टर करने की सुविधाएं सीमित होती हैं.
  • क्वेरी किसी प्रॉपर्टी के हिसाब से क्रम में लगाई जा सकती हैं या उस पर फ़िल्टर कर सकती हैं, दोनों नहीं.
  • क्वेरी डिफ़ॉल्ट रूप से डीप होती हैं: वे हमेशा पूरी सबट्री दिखाती हैं.
  • क्वेरी, JSON ट्री में अलग-अलग लीफ़-नोड वैल्यू तक किसी भी लेवल पर डेटा को ऐक्सेस कर सकती हैं.
  • क्वेरी के लिए इंडेक्स की ज़रूरत नहीं होती; हालांकि, कुछ क्वेरी की परफ़ॉर्मेंस जैसे-जैसे आपका डेटासेट बढ़ता है, वैसे-वैसे घटता जाता है.

लिखें और लेन-देन

Cloud Firestore पसंदीदा Realtime Database
डेटा को लिखने और लेन-देन से जुड़े बेहतर ऑपरेशन.
  • डेटा से जुड़ी कार्रवाइयां लिखना उन्हें सेट और अपडेट ऑपरेशन, साथ ही, अपग्रेड किए गए बदलावों, जैसे कि अरे और न्यूमेरिक ऑपरेटर का इस्तेमाल नहीं किया जा सकता.
  • लेन-देन डेटाबेस के किसी भी हिस्से से डेटा को अपने-आप पढ़ और लिख सकता है.
लिखने और ट्रांज़ैक्शन से जुड़ी सामान्य कार्रवाइयां.
  • डेटा लिखना सेट और अपडेट ऑपरेशन की मदद से बनाया गया है.
  • लेन-देन एक खास डेटा सबट्री पर ऐटॉमिक होते हैं.

विश्वसनीयता और परफ़ॉर्मेंस

Cloud Firestore पसंदीदा Realtime Database
Cloud Firestore एक क्षेत्रीय और बहु-क्षेत्रीय समाधान है, जो अपने-आप.
  • इंतज़ार का समय कम रखने वाला समाधान, जिसमें जवाब देने का सामान्य समय 30 से ज़्यादा नहीं होना चाहिए मिसे.
  • आपका डेटा अलग-अलग इलाकों के कई डेटा सेंटर में सेव होता है. इससे, दुनिया भर में डेटा को आसानी से बढ़ाया जा सकता है और उसे भरोसेमंद तरीके से इस्तेमाल किया जा सकता है.
  • दुनिया भर के क्षेत्रीय या एक से ज़्यादा क्षेत्रों वाले कॉन्फ़िगरेशन में उपलब्ध.
Cloud Firestore की परफ़ॉर्मेंस और विश्वसनीयता से जुड़ी विशेषताओं के बारे में ज़्यादा जानें को सेवा स्तर अनुबंध में किया गया है.
Realtime Database एक क्षेत्रीय सुविधा है.
  • रीजनल कॉन्फ़िगरेशन में उपलब्ध है. डेटाबेस, ज़ोनल तक सीमित हैं एक क्षेत्र में उपलब्धता.
  • इंतज़ार का समय बहुत कम है. आम तौर पर, जवाब देने का समय 10 मि॰से॰ से ज़्यादा नहीं होना चाहिए. अगर आप बार-बार स्थिति सिंक करने के लिए आदर्श विकल्प.
Realtime Database की परफ़ॉर्मेंस और विश्वसनीयता से जुड़ी विशेषताओं के बारे में ज़्यादा जानें को सेवा स्तर अनुबंध में किया गया है.

चालू रहने का समय

Cloud Firestore पसंदीदा Realtime Database
अपटाइम परफ़ॉर्मेंस बहुत ज़्यादा है.
  • सामान्य अपटाइम परफ़ॉर्मेंस 99.999% है.
  • अगर खरीदारी के लिए प्रॉडक्ट उपलब्ध कराना सबसे ज़रूरी है, जैसे कि ई-कॉमर्स ऐप्लिकेशन में, Cloud Firestore का इस्तेमाल करें.
लंबे समय तक चालू रहने की बेहतर परफ़ॉर्मेंस.
  • सामान्य अपटाइम परफ़ॉर्मेंस 99.95% है.

बढ़ाए जा सकने की योग्यता

Cloud Firestore पसंदीदा Realtime Database
स्केलिंग अपने-आप होती है.
  • पूरी तरह से अपने-आप स्केल हो जाता है. स्केलिंग की सीमाएं एक साथ 10 लाख कनेक्शन और 10,000 राइट/सेकंड. हमारी योजना है कि हम आने वाले समय में इन सीमाओं के बारे में पता चलेगा.
  • अलग-अलग दस्तावेज़ों या इंडेक्स में, लिखने की दरों की सीमाएं होती हैं.
स्केलिंग के लिए, शर्डिंग की ज़रूरत होती है.
  • स्केल को करीब 2,00,000 समवर्ती कनेक्शन और 1,000 राइट/सेकंड में एक डेटाबेस तैयार करता है. इससे ज़्यादा डेटा पाने के लिए, आपको अपना डेटा कई तरह से शेयर करना होगा पर चर्चा करते हैं.
  • डेटा के अलग-अलग हिस्सों के लिए, लिखने की दरों के लिए कोई स्थानीय सीमा नहीं है.

सुरक्षा

Cloud Firestore प्राथमिकता Realtime Database
कैस्केडिंग न होने वाले नियम, जिनमें अनुमति देने और पुष्टि करने की प्रोसेस शामिल होती है.
  • इसके ज़रिए सुरक्षित किए गए मोबाइल SDK टूल से पढ़ता और लिखता है Cloud Firestore Security Rules.
  • इसके ज़रिए सुरक्षित किए गए सर्वर SDK टूल से पढ़ता और लिखता है पहचान और ऐक्सेस मैनेजमेंट (आईएएम).
  • वाइल्डकार्ड का इस्तेमाल किए बिना, नियम कैस्केड नहीं होते.
  • नियमों की वजह से क्वेरी में रुकावट आ सकती है: अगर किसी क्वेरी के नतीजों में डेटा मौजूद हो उपयोगकर्ता के पास इसका ऐक्सेस नहीं है, तो पूरी क्वेरी फ़ेल हो जाती है.
कैस्केडिंग नियमों की भाषा, जो अनुमति देने और पुष्टि करने के तरीकों को अलग करती है.
  • Realtime Database Security Rules के सुरक्षित मोबाइल SDK टूल से पढ़ता और लिखता है.
  • पढ़ने और लिखने के नियम कैस्केड होते हैं.
  • validate नियम का इस्तेमाल करके, डेटा की पुष्टि अलग से की जाती है.

कीमत

दोनों समाधान Spark and Blaze की कीमत के प्लान.

Cloud Firestore प्राथमिकता Realtime Database
मुख्य रूप से आपके डेटाबेस में की गई कार्रवाइयों पर लगने वाले शुल्क (पढ़ें, लिखें, मिटाएं) और कम दर पर, बैंडविथ, और स्टोरेज का इस्तेमाल करें.

Cloud Firestore हर दिन काम करता है खर्च की सीमाएं App Engine प्रोजेक्ट के लिए, ताकि यह पक्का किया जा सके कि आप अपनी लागत से ज़्यादा खर्च न करें. सहज महसूस करें.

Cloud Firestore के प्लान की कीमत के बारे में ज़्यादा जानें.

सिर्फ़ बैंडविथ और स्टोरेज के लिए शुल्क लिया जाता है, लेकिन इससे ज़्यादा दर.

Realtime Database के प्राइसिंग प्लान के बारे में और पढ़ें.

Cloud Firestore और Realtime Database का इस्तेमाल किया जा रहा है

आपके पास एक ही Firebase ऐप्लिकेशन या प्रोजेक्ट में, दोनों डेटाबेस इस्तेमाल करने का विकल्प होता है. दोनों NoSQL डेटाबेस एक जैसे डेटा को स्टोर कर सकते हैं और क्लाइंट लाइब्रेरी रखने के लिए इस्तेमाल किया जा सकता है. पहले बताए गए अंतरों का ध्यान रखें, अगर आपको लगता है कि अपने ऐप्लिकेशन में दोनों डेटाबेस का इस्तेमाल करने के लिए.

Realtime Database दोनों में उपलब्ध सुविधाओं के बारे में ज़्यादा जानें और Cloud Firestore.

क्या आप डेटाबेस चुनने के लिए तैयार हैं?

उम्मीद है कि इस तुलना से आपको Firebase डेटाबेस समाधान तय करने में मदद मिली होगी. अब अपने Firebase प्रोजेक्ट में डेटाबेस जोड़ने का तरीका जानें.