Firebase, क्लाउड पर आधारित दो ऐसे डेटाबेस उपलब्ध कराता है जिन्हें क्लाइंट ऐक्सेस कर सकते हैं. हम नए ग्राहकों को Cloud Firestore से शुरुआत करने का सुझाव देते हैं:
Cloud Firestore, एंटरप्राइज़-ग्रेड का सुझाया गया JSON-कंपैटिबल दस्तावेज़ डेटाबेस है. इस पर 6,00,000 से ज़्यादा डेवलपर भरोसा करते हैं. यह उन ऐप्लिकेशन के लिए सही है जिनमें रिच डेटा मॉडल की ज़रूरत होती है और जिनमें क्वेरी करने, बढ़ाए जा सकने की योग्यता, और ज़्यादा अपटाइम की सुविधा होती है. यह कम इंतज़ार के समय में क्लाइंट को सिंक करने और ऑफ़लाइन डेटा का ऐक्सेस करने की सुविधा भी देता है.
Realtime Database, क्लासिक Firebase JSON डेटाबेस है. यह उन ऐप्लिकेशन के लिए सही है जिनमें डेटा मॉडल आसान होते हैं. साथ ही, जिनमें आसान लुकअप और कम समय में सिंक्रनाइज़ेशन की ज़रूरत होती है. इसके अलावा, यह उन ऐप्लिकेशन के लिए भी सही है जिनमें स्केलेबिलिटी सीमित होती है.
इनके अलावा, किन दूसरी ज़रूरी बातों का ध्यान रखना चाहिए?
ऊपर बताई गई अहम बातों पर विचार करने के बाद, हो सकता है कि अब आप डेटाबेस चुनने के लिए तैयार हों. अगर आपको अब भी फ़ायदे और नुकसान के बारे में सोचना है, तो इस सेक्शन में Cloud Firestore और Realtime Database के बीच के अन्य अंतरों के बारे में बताया गया है.
डेटा मॉडल
Realtime Database और Cloud Firestore, दोनों NoSQL डेटाबेस हैं.
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
यह डेटा को दस्तावेज़ों के कलेक्शन के तौर पर सेव करता है.
Cloud Firestore डेटा मॉडल के बारे में ज़्यादा जानें. |
डेटा को एक बड़े JSON ट्री के तौर पर सेव करता है.
Realtime Database डेटा मॉडल के बारे में ज़्यादा जानें. |
|
रीयलटाइम और ऑफ़लाइन सहायता
दोनों में मोबाइल-फ़र्स्ट और रीयलटाइम एसडीके हैं. साथ ही, दोनों ऑफ़लाइन काम करने वाले ऐप्लिकेशन के लिए, लोकल डेटा स्टोरेज की सुविधा देते हैं.
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
| Apple, Android, और वेब क्लाइंट के लिए ऑफ़लाइन सहायता. | Apple और Android क्लाइंट के लिए ऑफ़लाइन सहायता. | |
खोज नतीजों में दिखने का अनुपात
इससे यह पता चलता है कि क्लाइंट ऑनलाइन है या ऑफ़लाइन. Firebase Realtime Database क्लाइंट के कनेक्शन का स्टेटस रिकॉर्ड कर सकता है. साथ ही, क्लाइंट के कनेक्शन की स्थिति में बदलाव होने पर, अपडेट दे सकता है.
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
| यह सुविधा सीधे तौर पर उपलब्ध नहीं है. Cloud Functions का इस्तेमाल करके, Cloud Firestore और Realtime Database को सिंक करके, Realtime Database में मौजूदगी की सुविधा को बेहतर बनाया जा सकता है. Cloud Firestore में मौजूदगी की सुविधा को बेहतर बनाना लेख पढ़ें. | उपयोगकर्ता की मौजूदगी की जानकारी शेयर करने की सुविधा उपलब्ध है. | |
क्वेरी करना
क्वेरी के ज़रिए, किसी भी डेटाबेस से डेटा वापस पाना, उसे क्रम से लगाना, और फ़िल्टर करना.
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
कंपाउंड सॉर्टिंग और फ़िल्टरिंग के साथ इंडेक्स की गई क्वेरी.
|
ज़्यादा जानकारी वाली क्वेरी, जिनमें क्रम से लगाने और फ़िल्टर करने की सुविधाएं सीमित होती हैं.
|
|
लिखना और लेन-देन करना
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
एडवांस राइट और लेन-देन के ऑपरेशन.
|
लिखने और लेन-देन से जुड़ी बुनियादी कार्रवाइयां.
|
|
भरोसेमंद और बेहतर परफ़ॉर्मेंस
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
Cloud Firestore एक क्षेत्रीय और एक से ज़्यादा क्षेत्रों के लिए उपलब्ध समाधान है, जो अपने-आप स्केल होता है.
|
Realtime Database एक क्षेत्रीय समाधान है.
|
|
डिवाइस कब से चालू है
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
बहुत ज़्यादा अपटाइम परफ़ॉर्मेंस.
|
ज़्यादा अपटाइम परफ़ॉर्मेंस.
|
|
बढ़ाए जा सकने की योग्यता
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
स्केलिंग अपने-आप होती है.
|
स्केलिंग के लिए शार्डिंग ज़रूरी है.
|
|
सुरक्षा
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
ऐसे नियम जो एक के बाद एक लागू नहीं होते और जिनमें पुष्टि करने और अनुमति देने की सुविधा शामिल होती है.
|
कैस्केडिंग नियमों की भाषा, जो अनुमति देने और पुष्टि करने की प्रोसेस को अलग करती है.
|
|
कीमत
ये दोनों समाधान, स्पार्क और ब्लेज़ प्लान में उपलब्ध हैं.
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
| मुख्य तौर पर, आपके डेटाबेस में की गई कार्रवाइयों (पढ़ना, लिखना, मिटाना) के लिए शुल्क लिया जाता है. साथ ही, बैंडविथ और स्टोरेज के लिए कम शुल्क लिया जाता है.
Cloud Firestore में हर महीने के लिए बजट और सूचनाएं सेट करने की सुविधा उपलब्ध है. इससे आपको अपनी तय सीमा से ज़्यादा खर्च करने से बचने में मदद मिलती है. Cloud Firestore कीमत तय करने के प्लान के बारे में ज़्यादा जानें. |
यह सिर्फ़ बैंडविड्थ और स्टोरेज के लिए शुल्क लेता है, लेकिन ज़्यादा दर पर.
Realtime Database के लिए उपलब्ध प्लान के बारे में ज़्यादा जानें. |
|
Cloud Firestore और Realtime Database का इस्तेमाल करना
एक ही Firebase ऐप्लिकेशन या प्रोजेक्ट में, दोनों डेटाबेस का इस्तेमाल किया जा सकता है. दोनों NoSQL डेटाबेस में एक ही तरह का डेटा सेव किया जा सकता है. साथ ही, क्लाइंट लाइब्रेरी भी एक ही तरह से काम करती हैं. अगर आपको अपने ऐप्लिकेशन में दोनों डेटाबेस का इस्तेमाल करना है, तो पहले बताए गए अंतरों को ध्यान में रखें.
Realtime Database और Cloud Firestore, दोनों में उपलब्ध सुविधाओं के बारे में ज़्यादा जानें.
क्या आपको डेटाबेस चुनना है?
हमें उम्मीद है कि इस तुलना से, आपको Firebase डेटाबेस के किसी समाधान को चुनने में मदद मिली होगी. अब अपने Firebase प्रोजेक्ट में डेटाबेस जोड़ने का तरीका जानें.
- Cloud Firestore के लिए, Cloud Firestore का इस्तेमाल शुरू करना लेख पढ़ें.
- Realtime Database के लिए, अपने प्लैटफ़ॉर्म के हिसाब से 'शुरू करें' विषय पढ़ें: Apple, Android, C++, Unity, Web या REST.