वेब स्टोरेज की खास जानकारी

डिवाइस के स्टोरेज और क्लाउड पर मौजूद सर्वर के स्टोरेज, दोनों के लिए सही स्टोरेज का तरीका चुनना ज़रूरी है. अच्छा स्टोरेज इंजन यह पक्का करता है कि आपकी जानकारी भरोसेमंद तरीके से सेव हो. साथ ही, इससे बैंडविड्थ कम होती है और जवाब मिलने में कम समय लगता है. स्टोरेज कैश मेमोरी की सही रणनीति, मोबाइल वेब पर ऑफ़लाइन अनुभव देने के लिए सबसे ज़रूरी है.

इस लेख में, स्टोरेज एपीआई और सेवाओं का आकलन करने के बारे में कम शब्दों में जानकारी दी गई है. इसके बाद, हम तुलना वाली टेबल और कुछ सामान्य दिशा-निर्देश देंगे. आने वाले समय में, हम स्टोरेज से जुड़े चुनिंदा विषयों को बेहतर तरीके से समझने के लिए संसाधन जोड़ने जा रहे हैं.

स्टोरेज टैक्सोनॉमी

सबसे पहले, वेब ऐप्लिकेशन के लिए डेटा स्टोरेज का विश्लेषण करने वाले कुछ डाइमेंशन के बारे में जानें. बाद में, हम इस फ़्रेमवर्क का इस्तेमाल करके, वेब डेवलपर के लिए उपलब्ध कई स्टोरेज विकल्पों की गिनती करेंगे और उनका आकलन करेंगे.

डेटा मॉडल

डेटा की यूनिट को सेव करने के लिए इस्तेमाल किए जाने वाले मॉडल से यह तय होता है कि डेटा को अंदरूनी तौर पर कैसे व्यवस्थित किया जाता है. इससे, डेटा को इस्तेमाल करने में आसानी, स्टोरेज और डेटा वापस पाने के अनुरोधों की लागत और परफ़ॉर्मेंस पर असर पड़ता है.

  • स्ट्रक्चर्ड: पहले से तय फ़ील्ड वाली टेबल में सेव किया गया डेटा, एसक्यूएल पर आधारित डेटाबेस मैनेजमेंट सिस्टम के लिए आम तौर पर इस्तेमाल किया जाता है. यह डेटा, डाइनैमिक और आसानी से इस्तेमाल की जा सकने वाली क्वेरी के लिए बेहतर होता है. हालांकि, ऐसा हो सकता है कि क्वेरी के सभी टाइप पहले से पता न हों. ब्राउज़र में स्ट्रक्चर्ड डेटास्टोर का एक मुख्य उदाहरण, IndexedDB है.

  • की/वैल्यू: की/वैल्यू डेटास्टोर और मिलते-जुलते NoSQL डेटाबेस, यूनीक की से इंडेक्स किए गए अनस्ट्रक्चर्ड डेटा को स्टोर और फिर से पाने की सुविधा देते हैं. की/वैल्यू डेटास्टोर, हैश टेबल की तरह होते हैं. इनकी मदद से, इंडेक्स किए गए और साफ़ तौर पर न दिखने वाले डेटा को लगातार ऐक्सेस किया जा सकता है. ब्राउज़र में कैश मेमोरी एपीआई और सर्वर पर Apache Cassandra, की/वैल्यू डेटास्टोर के प्रमुख उदाहरण हैं.

  • बाइट स्ट्रीम: यह आसान मॉडल, डेटा को अलग-अलग लंबाई वाली, बाइट की अपारदर्शी स्ट्रिंग के तौर पर सेव करता है. साथ ही, डेटा को व्यवस्थित करने का काम ऐप्लिकेशन लेयर को सौंप देता है. यह मॉडल, फ़ाइल सिस्टम और डेटा के अन्य ब्लॉब के लिए खास तौर पर अच्छा है, जिन्हें हैरारकी के हिसाब से व्यवस्थित किया गया है. बाइट स्ट्रीम डेटास्टोर के उदाहरणों में, फ़ाइल सिस्टम और क्लाउड स्टोरेज सेवाएं शामिल हैं.

परसिस्टेंस

वेब ऐप्लिकेशन के लिए स्टोरेज के तरीकों का विश्लेषण, उस दायरे के हिसाब से किया जा सकता है जिसमें डेटा को हमेशा के लिए सेव किया जाता है.

  • सेशन के दौरान सेव किया गया डेटा: इस कैटगरी में मौजूद डेटा तब तक सेव रहता है, जब तक कोई एक वेब सेशन या ब्राउज़र टैब चालू रहता है. सेशन स्टोरेज एपीआई, सेशन को बनाए रखने के लिए स्टोरेज के तरीके का एक उदाहरण है.

  • डिवाइस पर डेटा सेव होना: इस कैटगरी में मौजूद डेटा, किसी डिवाइस पर सभी सेशन और ब्राउज़र टैब/विंडो में सेव रहता है. डिवाइस पर डेटा सेव रखने की सुविधा के साथ स्टोरेज के तरीके का उदाहरण, कैश एपीआई है.

  • ग्लोबल पर्सिस्टेंस: इस कैटगरी में मौजूद डेटा, सभी सेशन और डिवाइसों पर सेव रहता है. इसलिए, यह डेटा को सेव रखने का सबसे बेहतर तरीका है. Google Cloud Storage, ग्लोबल पर्सिस्टेंस वाले स्टोरेज मैकेनिज्म का एक उदाहरण है.

ब्राउज़र के इस्तेमाल से जुड़ी सहायता

डेवलपर को अपनी समस्या के हिसाब से सबसे सही एपीआई चुनना चाहिए. हालांकि, उन्हें इस बात का भी ध्यान रखना चाहिए कि कस्टम या मालिकाना इंटरफ़ेस के मुकाबले, स्टैंडर्ड और अच्छी तरह से काम करने वाले एपीआई बेहतर होते हैं. ऐसा इसलिए, क्योंकि ये लंबे समय तक काम करते हैं और इनका इस्तेमाल ज़्यादा किया जाता है. साथ ही, उन्हें ज़्यादा जानकारी और डेवलपर के लिए बेहतर नेटवर्क भी मिल सकता है.

लेन-देन

अक्सर, स्टोरेज से जुड़े एक जैसे कई कामों के एक साथ पूरे होने या पूरे न होने की ज़रूरत होती है. डेटाबेस मैनेजमेंट सिस्टम में, आम तौर पर ट्रांज़ैक्शन मॉडल का इस्तेमाल करके इस सुविधा का इस्तेमाल किया जाता है. इसमें मिलते-जुलते अपडेट को मनमुताबिक यूनिट में बांटा जा सकता है. यह सुविधा हमेशा ज़रूरी नहीं होती, लेकिन कुछ समस्याओं के लिए यह सुविधा काफ़ी मददगार होती है.

सिंक/एक साथ काम नहीं करने वाली प्रोसेस

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

Chrome DevTools में स्टोरेज को डीबग करना

अपनी पसंद के वेब स्टोरेज एपीआई की जांच करने और उसे डीबग करने के लिए, Chrome DevTools का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, नीचे दिए गए दस्तावेज़ देखें. यहां बताए गए एपीआई, DevTools में काम नहीं करते या लागू नहीं होते.

अगर एक से ज़्यादा स्टोरेज एपीआई का इस्तेमाल किया जा रहा है, तो DevTools की 'स्टोरेज खाली करें' सुविधा देखें. इस सुविधा की मदद से, एक बटन पर क्लिक करके कई स्टोर हटाए जा सकते हैं. ज़्यादा जानकारी के लिए, सेवा वर्कर, स्टोरेज, डेटाबेस, और कैश मेमोरी मिटाएं लेख पढ़ें.

आगे क्या करना है…

हमने स्टोरेज के तरीकों के बारे में सोचने के कुछ काम के तरीकों की समीक्षा कर ली है. साथ ही, फ़िलहाल उपलब्ध सबसे लोकप्रिय एपीआई और सेवाओं की तुलना कर ली है. अब हम जल्द ही ज़्यादा कॉन्टेंट जोड़ेंगे, ताकि आपके एक या उससे ज़्यादा पसंदीदा विषयों के बारे में ज़्यादा जानकारी दी जा सके: