इस पेज पर, Firebase Realtime Database का इस्तेमाल करने के बारे में अक्सर पूछे जाने वाले सवालों के जवाब दिए गए हैं. साथ ही, इससे जुड़ी समस्याओं को हल करने में मदद की गई है. अगर आपको अपनी ज़रूरत के हिसाब से जानकारी नहीं मिल पाती है या आपको ज़्यादा मदद चाहिए, तो Firebase की सहायता टीम से संपर्क करें.
"एक साथ कई डेटाबेस कनेक्शन" क्या है?
एक साथ कई कनेक्शन का मतलब है कि डेटाबेस से एक मोबाइल डिवाइस, ब्राउज़र टैब या सर्वर ऐप्लिकेशन कनेक्ट है. Firebase, आपके ऐप्लिकेशन के डेटाबेस से एक साथ होने वाले कनेक्शन की संख्या पर सख्त सीमाएं लगाता है. ये सीमाएं इसलिए तय की गई हैं, ताकि Firebase और हमारे उपयोगकर्ताओं को गलत इस्तेमाल से बचाया जा सके.
स्पार्क प्लान के तहत, ज़्यादा से ज़्यादा 100 प्रोजेक्ट बनाए जा सकते हैं. इस सीमा को बढ़ाया नहीं जा सकता.
ब्लेज़ प्लान में, हर डेटाबेस के लिए एक साथ 2,00,000 कनेक्शन की सीमा होती है.
यह सीमा आपके ऐप्लिकेशन के उपयोगकर्ताओं की कुल संख्या से अलग होती है, क्योंकि आपके सभी उपयोगकर्ता एक साथ कनेक्ट नहीं होते. अगर आपको एक साथ 2,00,000 से ज़्यादा कनेक्शन की ज़रूरत है, तो एक से ज़्यादा डेटाबेस के साथ स्केल करें में जाकर विकल्प देखें.
Realtime Database को स्केल करने की क्या सीमाएं हैं?
हर Realtime Database इंस्टेंस में, हर सेकंड में डेटा सेव करने की संख्या की सीमाएं होती हैं. छोटे डेटा के लिए, यह सीमा हर सेकंड करीब 1,000 राइट ऑपरेशन है. अगर आप इस सीमा के करीब हैं, तो मल्टी-पाथ अपडेट का इस्तेमाल करके बैचिंग ऑपरेशन करने से, आपको ज़्यादा थ्रूपुट मिल सकता है.
इसके अलावा, हर डेटाबेस इंस्टेंस में, एक साथ कई डेटाबेस कनेक्शन की संख्या पर एक सीमा होती है.
ज़्यादातर ऐप्लिकेशन के लिए, हमारी डिफ़ॉल्ट सीमाएं काफ़ी होती हैं.
अगर आपको कोई ऐसा ऐप्लिकेशन बनाना है जिसमें ज़्यादा स्केल की ज़रूरत है, तो आपको ज़्यादा स्केल के लिए, अपने ऐप्लिकेशन को कई डेटाबेस इंस्टेंस में बांटना पड़ सकता है. इसके अलावा,
Cloud Firestore
को भी डेटाबेस के तौर पर इस्तेमाल किया जा सकता है.
अगर मैंने Realtime Database के इस्तेमाल की सीमा पार कर ली है, तो मुझे क्या करना चाहिए?
अगर आपको Firebase कंसोल में ईमेल से सूचना या सूचना मिली है कि आपने Realtime Database के इस्तेमाल करने की सीमाएं पार कर ली हैं, तो आपने इस्तेमाल करने की जो सीमा पार की है उसके आधार पर इसे ठीक किया जा सकता है. Realtime Database के इस्तेमाल की जानकारी देखने के लिए, Firebase कंसोल में Realtime Database इस्तेमाल डैशबोर्ड पर जाएं.
अगर आपने डाउनलोड की सीमा पार कर ली है, तो Firebase के कीमत वाले प्लान को अपग्रेड करें या अगले बिलिंग साइकल की शुरुआत में डाउनलोड की सीमा रीसेट होने तक इंतज़ार करें. डाउनलोड किए गए वीडियो की संख्या कम करने के लिए, यह तरीका अपनाएं:
-
लिसन ऑपरेशन से मिलने वाले डेटा को सीमित करने के लिए, क्वेरी जोड़ें.
-
इंडेक्स न की गई क्वेरी देखें.
-
ऐसे लिसनर का इस्तेमाल करें जो सिर्फ़ डेटा के अपडेट डाउनलोड करते हैं — उदाहरण के लिए,
once के बजाय on.
-
बिना अनुमति के होने वाले डाउनलोड को ब्लॉक करने के लिए, सुरक्षा से जुड़े नियमों का इस्तेमाल करें.
अगर आपने तय सीमा से ज़्यादा स्टोरेज इस्तेमाल कर लिया है, तो सेवा में रुकावट से बचने के लिए, अपने बिलिंग प्लान को अपग्रेड करें. अपने डेटाबेस में डेटा की मात्रा कम करने के लिए, यह तरीका अपनाएं:
- समय-समय पर क्लीनअप जॉब चलाएं.
- अपने डेटाबेस में मौजूद डुप्लीकेट डेटा को कम करें.
मिटाए गए डेटा की जानकारी को आपके स्टोरेज में दिखने में कुछ समय लग सकता है.
अगर आपने एक साथ कई डेटाबेस कनेक्शन की सीमा पार कर ली है, तो सेवा में किसी भी तरह की रुकावट से बचने के लिए, अपना प्लान अपग्रेड करें. अपने डेटाबेस से एक साथ होने वाले कनेक्शन मैनेज करने के लिए, उपयोगकर्ताओं को REST API का इस्तेमाल करके कनेक्ट करने की कोशिश करें. ऐसा तब करें, जब उन्हें रीयलटाइम कनेक्शन की ज़रूरत न हो.
अगर मैं Realtime Database के लिए, स्पार्क प्लान की बिलिंग की जानकारी के तहत तय की गई स्टोरेज या डाउनलोड की सीमा को पार कर लूं, तो क्या होगा?
जब आपका प्रोजेक्ट स्पार्क प्लान पर होता है, तो आपको उपलब्ध संसाधनों की सीमा तय कर दी जाती है. ऐसा इसलिए किया जाता है, ताकि आपको कीमत का अनुमान दिया जा सके. इसका मतलब है कि किसी भी महीने में प्लान की सीमा से ज़्यादा इस्तेमाल करने पर, आपके ऐप्लिकेशन को बंद कर दिया जाएगा. इससे, संसाधनों के ज़्यादा इस्तेमाल और अतिरिक्त शुल्क से बचा जा सकेगा.
अगर मैंने Realtime Database के लिए, स्पार्क प्लान की बिलिंग की जानकारी के तहत, एक साथ किए जाने वाले कनेक्शन की तय सीमा को पार कर लिया, तो क्या होगा?
जब आपका ऐप्लिकेशन, स्पार्क प्लान की बिलिंग की जानकारी के तहत, एक साथ कई कनेक्शन की सीमा तक पहुंच जाता है, तो बाद में किए जाने वाले किसी भी कनेक्शन को तब तक अस्वीकार कर दिया जाएगा, जब तक कि मौजूदा कनेक्शन में से कुछ को बंद नहीं कर दिया जाता. हालांकि, यह ऐप्लिकेशन उन उपयोगकर्ताओं के लिए काम करता रहेगा जो पहले से कनेक्ट हैं.
अपने-आप बैकअप लेने की सुविधा क्या है? क्या Realtime Database के लिए, हर घंटे बैकअप लेने की सुविधा उपलब्ध है?
अपने-आप बैकअप लेने की सुविधा, ब्लेज़ प्लान की बिलिंग की जानकारी वाले प्रोजेक्ट के लिए एक ऐडवांस सुविधा है. यह सुविधा, दिन में एक बार आपके Firebase Realtime Database डेटा का बैक अप लेती है और उसे Google Cloud Storage पर अपलोड करती है.
हम हर घंटे बैकअप लेने की सुविधा नहीं देते.
सितंबर 2016 से मार्च 2017 के बीच, मेरे Realtime Database की रिपोर्ट की गई बैंडविड्थ, औसत से कम क्यों थी?
बैंडविड्थ का हिसाब लगाने के लिए, हम आम तौर पर एसएसएल एन्क्रिप्शन ओवरहेड को शामिल करते हैं. यह ओएसआई मॉडल की पांचवीं लेयर पर आधारित होता है. हालांकि, सितंबर 2016 में, हमने एक गड़बड़ी की वजह से, बैंडविड्थ की रिपोर्टिंग में एन्क्रिप्शन ओवरहेड को अनदेखा कर दिया. इस वजह से, कुछ महीनों तक आपके खाते में बैंडविड्थ और बिल की रकम कम दिख सकती है.
हमने मार्च 2017 के आखिर में इस गड़बड़ी को ठीक कर दिया था. इसके बाद, बैंडविड्थ की रिपोर्टिंग और बिलिंग सामान्य हो गई थी.