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

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

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

स्टोरेज की कैटगरी

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

डेटा मॉडल

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

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

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

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

लगातार कोशिश करना

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

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

  • डिवाइस पर सेव रहने वाला डेटा: इस कैटगरी का डेटा, किसी डिवाइस पर सभी सेशन और ब्राउज़र टैब/विंडो में सेव रहता है. डिवाइस पर डेटा सेव रखने वाले स्टोरेज मैकेनिज़्म का एक उदाहरण Cache API है.

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

ब्राउज़र समर्थन

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

लेन-देन

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

सिंक/असिंक

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

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

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

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

अगली यात्रा पर कहां जाना है…

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