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