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

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

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

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

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

डेटा मॉडल

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

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

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

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

स्थायी

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

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

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

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

ब्राउज़र सहायता

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

लेन-देन

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

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

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

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

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

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

आगे कहां जाना है...

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