क्लाउड कंप्यूटिंग के प्रेमियों को शुभकामनाएं।
मेरा सुझाव है कि विंडोज एज़ोर ब्लॉब स्टोरेज और गूगल क्लाउड स्टोरेज सेवाओं की तुलना को देखते हुए (जबकि लेखक अमेज़न एएस 3 का उल्लेख करना नहीं भूलता)।
मैंने सोचा कि Google App Engine Storage और Windows Azure स्टोरेज की तुलना करते हुए लेख लिखना अच्छा होगा। इस लेख में, हम
Windows Azure Blob Storage और
Google Cloud Storage की तुलना करते हैं ।
श्रृंखला का पहला भाग - विंडोज एज़्योर टेबल स्टोरेज और अमेज़ॅन डायनमोबीडी की तुलना करनाभाग दो - Windows Azure बूँद संग्रहण और अमेज़न सरल भंडारण सेवा (S3) - भाग I की तुलना करेंभाग तीन - विंडोज एज़्योर ब्लॉब स्टोरेज और अमेज़ॅन सिंपल स्टोरेज सर्विस (एस 3) –पार्ट II, सारांशसंकेताक्षर:
विंडोज एज़्योर ब्लॉब स्टोरेज - डब्ल्यूएबीएस और
गूगल क्लाउड स्टोरेज -
जीसीएस, अमेज़ॅन एस 3 -
एएस 3 ।
वैचारिक रूप से, WABS और GCS समान कार्यक्षमता प्रदान करते हैं - सीधे शब्दों में कहें, दोनों सिस्टम क्लाउड फ़ाइल सिस्टम हैं जो आपको बड़ी मात्रा में असंरचित डेटा (आमतौर पर फ़ाइलों के रूप में) को संग्रहीत करने की अनुमति देते हैं।
दोनों सिस्टम फाइलों और फ़ोल्डरों और उच्च-स्तरीय भाषाओं के अन्य पुस्तकालयों के साथ काम करने के लिए एक REST API प्रदान करते हैं, जो आमतौर पर REST API के रैपर होते हैं। एपीआई के प्रत्येक रिलीज का अपना संस्करण है, डब्ल्यूएबीएस में इसका एक तारीख मूल्य है, जीसीएस में इसकी संख्या है। लेखन के समय, WABS संस्करण
2011-08-18 था, GCS
संस्करण 2.0 था।
दो प्रणालियों में समान कार्यक्षमता:
- दोनों सिस्टम दो-स्तरीय पदानुक्रम के साथ क्लाउड-आधारित फ़ाइल सिस्टम हैं।
- दोनों सिस्टम आपको लंबे समय तक और सस्ते में बड़ी मात्रा में डेटा स्टोर करने की अनुमति देते हैं।
- दोनों सिस्टम अनधिकृत पहुंच से सामग्री की रक्षा करते हैं।
- दोनों प्रणालियाँ डेटा की सुरक्षा के लिए अपने अभिगम नियंत्रण तंत्र प्रदान करती हैं। GCS में, ये WABS में ACL और क्वेरी स्ट्रिंग प्रमाणीकरण हैं - ACL और साझा प्रवेश हस्ताक्षर ।
- दोनों सिस्टम आपको स्रोत ऑब्जेक्ट के एक अनधिकृत रूप से बड़ी संख्या में स्टोर करने की अनुमति देते हैं, लेकिन दो प्रणालियों में संस्करण तंत्र अलग है।
अवधारणा का
इससे पहले कि हम इन दोनों सेवाओं के बारे में अधिक बात करें, मैं कुछ अवधारणाओं को स्पष्ट करना महत्वपूर्ण मानता हूं। यदि आप WABS और GCS की मूल अवधारणाओं से परिचित हैं, तो आप इस अनुभाग को छोड़ सकते हैं।
बूँद कंटेनर और बास्केट : यदि ये सेवाएं क्लाउड में फ़ाइल सिस्टम हैं, तो WABS बूँद कंटेनर और GCS बाल्टी को एक फ़ोल्डर या निर्देशिका के रूप में देखें। WABS संग्रहण खाते या GCS खाते में, आपके पास क्रमशः शून्य या अधिक ब्लॉब कंटेनर और बास्केट हो सकते हैं जिनमें ब्लॉब या ऑब्जेक्ट हो सकते हैं।
टिप्पणियाँ:
- नेस्टेड ब्लॉब कंटेनर या बास्केट जैसी कोई चीज नहीं है। दोनों सेवाएं बिना किसी घोंसले के दो-स्तरीय पदानुक्रम प्रदान करती हैं। हालांकि, दोनों सिस्टम आपको उपसर्गों का उपयोग करके एक फ़ोल्डर पदानुक्रम का भ्रम बनाने की अनुमति देते हैं।
- कंटेनर और बास्केट की संख्या पर कोई प्रतिबंध नहीं है।
- दोनों सिस्टम संसाधन अनुरोधों को लॉग करने की क्षमता प्रदान करते हैं - इस फ़ंक्शन को GCS में "लॉगिंग" और WABS में "स्टोरेज एनालिटिक्स" कहा जाता है। अंतर यह है कि जीसीएस में, लॉगिंग टोकरी स्तर पर काम करता है, जबकि डब्ल्यूएबीएस में, लॉगिंग स्टोरेज अकाउंट स्तर पर काम करता है। जीसीएस में, लॉगिंग डेटा को एक अलग उपयोगकर्ता-परिभाषित टोकरी में रखा जाता है, डब्ल्यूएबीएस में, पूर्वनिर्धारित टेबल और कंटेनरों में जो लॉग ऑन करने पर स्वचालित रूप से बनाए जाते हैं।
ब्लब्स
और ऑब्जेक्ट्स : WABS ब्लॉब्स और GCS ऑब्जेक्ट्स आपके क्लाउड फाइल सिस्टम में फाइल हैं जो ब्लॉब कंटेनर और बास्केट में स्थित हैं।
टिप्पणियाँ:
- संग्रहीत ब्लूब और वस्तुओं की संख्या की कोई सीमा नहीं है, जबकि जीसीएस में यह संख्या बस अज्ञात है, WABS में यह संख्या भंडारण खाते (100 Tb) के आकार द्वारा सीमित है।
- WABS में किसी ऑब्जेक्ट का अधिकतम आकार 1 टीबी है, जीसीएस में यह परिभाषित नहीं है।
- WABS में दो प्रकार के ब्लब्स होते हैं - ब्लॉकिंग, स्ट्रीमिंग के लिए सुविधाजनक (उदाहरण के लिए, चित्र, वीडियो, दस्तावेज़) और अधिकतम 200 जीबी का आकार, और पृष्ठ, रैंडम एक्सेस / रिकॉर्डिंग ऑपरेशंस के लिए सुविधाजनक और अधिकतम 1 टीबी का होना। पेज ब्लॉब का उपयोग करने का एक सामान्य मामला विंडोज एज़्योर की भूमिका में वीएचडी को डिस्क के रूप में माउंट करना है। जीसीएस का ऐसा कोई अलगाव नहीं है।
- दोनों प्रणालियाँ समृद्ध बूँद और वस्तु प्रबंधन कार्यक्षमता प्रदान करती हैं। आप अन्य कार्यों को कॉपी, डाउनलोड, डाउनलोड और प्रदर्शन कर सकते हैं।
- दोनों प्रणालियां अनधिकृत पहुंच से सामग्री की रक्षा करने की क्षमता प्रदान करती हैं, और एक्सेस कंट्रोल लिस्ट तंत्र जीसीएस में अधिक विस्तार से कॉन्फ़िगर किया गया है, जहां आप टोकरी में प्रत्येक फ़ाइल के लिए अपना एसीएल बना सकते हैं। WABS में, सब कुछ बूँद कंटेनर स्तर पर होता है।
दो सबसे महत्वपूर्ण कार्य डाउनलोड और डाउनलोड कर रहे हैं, आइए पहले उन पर चर्चा करें, फिर अन्य कार्यों की तुलना करें।
लोड हो रहा है और वस्तुओं
चलो कंटेनर और बास्केट में लोडिंग ब्लब्स और ऑब्जेक्ट्स के बारे में बात करते हैं। दो लोडिंग तंत्र हैं - आप एक एकल अनुरोध के ढांचे के भीतर एक बूँद या एक वस्तु को पूरी तरह से डाउनलोड कर सकते हैं या उन्हें टुकड़ों में विभाजित कर सकते हैं (जीसीएस में ब्लॉक या डब्ल्यूएबीएस पृष्ठ, उनका कोई विशेष नाम नहीं है)।
एक अनुरोध में डाउनलोड करें
यदि डाउनलोड किया गया डेटा छोटा है और आपके पास कनेक्शन की गति अच्छी है, तो आप इस डेटा को एक अनुरोध में पूरी तरह से डाउनलोड कर सकते हैं। WABS इसके लिए
Put Blob का उपयोग करता है। GCS-
PUT ऑब्जेक्ट या
POST ऑब्जेक्ट में ।
टुकड़े लोड हो रहे हैं
आप बड़े डेटा को साझा कर सकते हैं जो पूरी तरह से एक ही अनुरोध में लोड करने के लिए अक्षम है। दोनों सिस्टम आपको डेटा को टुकड़ों में (WABS में ब्लॉक या पेज, जीसीएस में उनके पास कोई विशेष नाम नहीं है) को तोड़ने और धीरे-धीरे लोड करने की अनुमति देते हैं। WABS में, ब्लॉक ब्लॉब्स के लिए, आपको पेज ब्लॉब्स -
पुट पेज के लिए
Put Block and
Put Block List का उपयोग करना चाहिए। GCS इसके लिए
POST Object और
Put Object फ़ंक्शन का उपयोग करता है।
कई कारण हैं कि आप यह तय कर सकते हैं कि डेटा को चंक्स में लोड करना है या नहीं:
- बहुत बड़े डेटा को लोड करने की आवश्यकता है। कृपया ध्यान दें कि WABS में एक ब्लॉक ब्लॉब 200 जीबी तक सीमित है, पेज ब्लॉब 1 टीबी है, जीसीएस में आपके पास 5 टीबी तक की एक वस्तु हो सकती है। इस तरह के वॉल्यूम एक अनुरोध में लोड करने के लिए अव्यावहारिक हैं।
- कम कनेक्शन की गति।
- दोनों सिस्टम एक ही समय में सैकड़ों और हजारों उपयोगकर्ताओं के अनुरोधों को संसाधित करने के लिए डिज़ाइन की गई क्लाउड सेवाएं हैं, और दोनों प्रणालियां आपके अनुरोधों को सीमित कर देंगी यदि वे निर्धारित सीमा से अधिक समय तक चलते हैं - WABS में 1 एमबी डेटा डाउनलोड करने के लिए 10 मिनट का समय है।
- बड़े डेटा को टुकड़ों में विभाजित करने से समानांतर लोडिंग (क्रमशः, डेटा को तेजी से लोड करना) की अनुमति मिलती है।
- एक टुकड़े के टूटे हुए लोडिंग के मामले में, आप इसकी लोडिंग को दोहरा सकते हैं, लेकिन यदि किसी एकल अनुरोध में बड़े डेटा लोडिंग का लोड विफल हो जाता है, तो आपको फिर से सब कुछ डाउनलोड करना होगा, जो अक्षम है।
- सिस्टम सीमाएँ - WABS एक भी अनुरोध में डेटा डाउनलोड करने की अनुमति नहीं देता है यदि इसका आकार 64 एमबी से अधिक है।
आइए देखें कि प्रत्येक सिस्टम में टुकड़ों में डेटा को कैसे लोड किया जाए। उदाहरण के लिए, आप विखंडू में 100 एमबी की फ़ाइल अपलोड करना चाहते हैं।
WABS
मान लें कि प्रत्येक टुकड़े का आकार 1 एमबी है (इस तथ्य के बावजूद कि समान आकार के टुकड़े होने की आवश्यकता नहीं है) - आपको 100 टुकड़े डाउनलोड करने की आवश्यकता है। हम एक ब्लॉक ब्लॉब लेते हैं, जिनमें से प्रत्येक ब्लॉक (टुकड़े) में एक विशिष्ट पहचानकर्ता (ब्लॉकआईड) होता है। इसे लोड करने के लिए,
पुट ब्लॉक फ़ंक्शन का उपयोग करें। BlockId 64 बाइट्स के अधिकतम आकार के साथ एक Base64- एन्कोडेड स्ट्रिंग है। सभी BlockId (हमारे मामले में 100) की लंबाई समान होनी चाहिए। इससे कोई फर्क नहीं पड़ता कि आप किस क्रम में ब्लॉकों को लोड करते हैं - आप उन्हें समानांतर में लोड कर सकते हैं। एक ब्लॉक को लोड करने के बाद, WABS इसे रिपॉजिटरी में कहीं रख देता है, और इसे 7 दिनों के लिए स्टोर करता है। सभी ब्लॉकों को लोड करने के बाद, हम इन ब्लॉकों की पुष्टि (कमिट) करते हुए
पुट ब्लॉक सूची कहते हैं। जब तक इस फ़ंक्शन को कॉल नहीं किया जाता है, तब तक आप बूँद से संपर्क नहीं कर सकते हैं, और यदि आपने 7 दिनों के भीतर ब्लॉक की पुष्टि नहीं की है, तो वे सिस्टम द्वारा हटा दिए जाएंगे। फ़ंक्शन को कॉल करने के बाद, ब्लॉकआईड सूची के आदेश के आधार पर, डब्ल्यूएबीएस बूँद को फिर से बनाएगा और इसे उपलब्ध के रूप में चिह्नित करेगा। इससे कोई फर्क नहीं पड़ता कि ब्लॉकआईड का क्या मान होगा (वे सभी GUID हो सकते हैं), लेकिन यह महत्वपूर्ण है कि आप किस क्रम में ब्लॉक ब्लॉक सूची का उपयोग करते समय ब्लॉकआईड भेजते हैं।
प्रतिबंध:
- बूँद को अधिकतम 50,000 ब्लॉकों में विभाजित किया जा सकता है।
- किसी भी समय एक बूँद में अधिकतम 100,000 असंक्रमित ब्लॉक हो सकते हैं।
- अपुष्ट ब्लॉकों के एक सेट का आकार 400 जीबी से बड़ा नहीं हो सकता है।
- एक ब्लॉक के सभी ब्लॉकआईड ब्लॉक एक ही लंबाई के होने चाहिए, अर्थात्। वह स्थिति जब वे ब्लॉक 8, ब्लॉक 9 के बराबर होंगे, ब्लॉक 11 अस्वीकार्य है।
- ब्लॉकआईड की अधिकतम लंबाई 64 बाइट्स है।
GCS
जीसीएस के मामले में, एक बड़ी फाइल को
चंक्स में डाउनलोड करना "
रिज्यूमेबल अपलोड " कहलाता है। सबसे पहले आपको GCS को बताना होगा कि आपने
POST ऑब्जेक्ट को कॉल करके बूट प्रक्रिया शुरू की
। आमतौर पर यह फ़ंक्शन HTML फॉर्म का उपयोग करके फ़ाइल अपलोड करने के लिए उपयोग किया जाता है, लेकिन इस मामले में आप फ़ाइल को परिभाषित नहीं करते हैं। आप अनुरोध हेडर को परिभाषित कर सकते हैं जो जीसीएस को बताते हैं कि आपने डाउनलोड प्रक्रिया शुरू कर दी है। डाउनलोड पूरा होने के बाद, GCS अपलोड आईडी युक्त एक प्रतिक्रिया लौटाएगा जो विशिष्ट रूप से डाउनलोड प्रक्रिया की पहचान करता है। इस आईडी को सहेजने की आवश्यकता है, क्योंकि टुकड़ों को लोड करते समय इसकी आवश्यकता होगी। अगला, आपको
पुट ऑब्जेक्ट फ़ंक्शन का उपयोग करके फ़ाइल डाउनलोड करने और इसे अपलोड आईडी और ऑब्जेक्ट की सामग्री को पास करने की कोशिश करने की आवश्यकता है। यदि सब कुछ काम करता है, तो जीसीएस 200 ओके के HTTP कोड के साथ प्रतिक्रिया देगा, लेकिन यदि ऑपरेशन विफल हो जाता है, तो आपको डाउनलोड किए गए बाइट्स की संख्या के लिए जीसीएस से पूछना होगा। जीसीएस 308 रिज्यूम अधूरा HTTP कोड लौटाएगा। इसके अलावा पुट ऑब्जेक्ट का उपयोग करके डेटा लोड करना जारी रखना संभव होगा।
विचार:
- मुझे लगता है कि हम फ़ंक्शन के ऑब्जेक्ट को वापस करने के लिए पहली कॉल से छुटकारा पा सकते हैं जिसमें हम 200 ओके कोड प्राप्त करने की उम्मीद में पूरी फ़ाइल को लोड करने का प्रयास कर रहे हैं। अगर मैं 100 एमबी फ़ाइल डाउनलोड करने की कोशिश करता हूं, तो मुझे पूरा यकीन है कि यह एक बार में लोड नहीं होगा। पूरी फाइल को डाउनलोड करने की कोशिश करने के बजाय, मैं पहले दो चरणों को छोड़ सकता हूं और बस इस फाइल के एक टुकड़े को डाउनलोड कर सकता हूं, इसकी स्थिति प्राप्त कर सकता हूं और फिर इसे फिर से लोड कर सकता हूं या अगला टुकड़ा डाउनलोड कर सकता हूं।
- मुझे यकीन नहीं है कि जीसीएस में समानांतर रूप से बक्सों को लोड करने की संख्या को पूछते समय जीसीएस रेंज रेंज को वापस करने के लिए कैसे संभव है। WABS में एक BlockId है, AS3 में एक भाग संख्या है, जो समानांतर लोडिंग कार्य को सुविधाजनक बनाती है।
ब्लॉब्स और ऑब्जेक्ट्स को डाउनलोड करें
आइए देखें कि आप ब्लॉब्स और ऑब्जेक्ट्स को कैसे डाउनलोड कर सकते हैं। इसके लिए दो तंत्र हैं - या तो एक अनुरोध में पूरी बूँद या ऑब्जेक्ट डाउनलोड करें, या टुकड़ों में।
प्रत्येक प्रणाली का केवल एक डाउनलोड कार्य होता है - WABS में
ब्लॉब प्राप्त करें और जीसीएस में
वस्तु प्राप्त करें ।
एक अनुरोध में डाउनलोड करें
यदि डेटा छोटा है और आपके पास कनेक्शन की गति अच्छी है, तो आप GCS में गेट ब्लॉब और GET ऑब्जेक्ट का उपयोग करके ऑब्जेक्ट को पूरी तरह से डाउनलोड कर सकते हैं।
टुकड़ों में डाउनलोड करना
यदि ऑब्जेक्ट बड़ा है और आप सुनिश्चित नहीं हैं कि आप इसे एक बार में डाउनलोड कर सकते हैं, तो आप रेंज हेडर के अतिरिक्त के साथ एक ही फ़ंक्शन का उपयोग करके टुकड़े डाउनलोड कर सकते हैं और डाउनलोड करने के लिए आवश्यक बाइट्स की सीमा निर्धारित कर सकते हैं।
डाउनलोड प्रक्रिया:
- वस्तु का आकार निर्धारित करें। उदाहरण के लिए, यह "वजन" 100 एमबी है।
- टुकड़ों का आकार निर्धारित करें। उदाहरण के लिए, 1 एमबी के टुकड़े को डाउनलोड करना आपके लिए सुविधाजनक है।
- कॉल ब्लॉब या ऑब्जेक्ट प्राप्त करें और उन्हें रेंज हेडर में संबंधित मान पास करें। यदि आप क्रमिक रूप से डाउनलोड करते हैं, तो आपके पहले अनुरोध में इस हेडर का मान होगा "0 - 1048575" (0 - 1 एमबी), दूसरा अनुरोध - "1048576 - 2097151" (1 - 2 एमबी) और इसी तरह।
- डाउनलोड करने के बाद, टुकड़ा कहीं रख दें।
- सभी टुकड़ों को डाउनलोड करने के बाद, एक खाली 100 एमबी फाइल बनाएं और इस फाइल को डाउनलोड किए गए टुकड़ों से भरें।
WABS, AS3 और GCS के बीच सामान्य बिंदु
सभी तीन प्रणालियों में सामान्य बिंदु हैं, उदाहरण के लिए:
- सभी तीन सिस्टम दो-स्तरीय पदानुक्रम के साथ क्लाउड-आधारित फ़ाइल सिस्टम हैं।
- सभी तीन सिस्टम आपको लंबे समय तक और सस्ते में बड़ी मात्रा में डेटा स्टोर करने की अनुमति देते हैं।
- सभी तीन प्रणालियाँ AS3 / GCS में दो-स्तरीय पदानुक्रम (बास्केट / ऑब्जेक्ट्स और WABS में बूँद कंटेनर / बूँदें) प्रदान करती हैं।
- सभी तीन प्रणालियाँ अपनी स्वयं की सेवाओं और उच्च-स्तरीय भाषाओं की लाइब्रेरी के साथ बातचीत करने के लिए एक RESTful इंटरफ़ेस प्रदान करती हैं, जो आमतौर पर REST रैपर होते हैं।
AS3 के साथ आम
जब मैंने पहली बार जीसीएस के बारे में पढ़ा, तो मैंने पाया कि जीसीएस और एएस 3 में बहुत कुछ है, उदाहरण के लिए:
- एक शब्दावली: दोनों प्रणालियाँ एक जैसी शब्दावली का उपयोग करती हैं जैसे टोकरियाँ और वस्तुएँ (WABS में इन्हें बूँद कंटेनर और बूँद कहा जाता है)।
- समान ऑपरेशन नाम: दोनों सिस्टम समान ऑपरेशन नामों का उपयोग करते हैं। उदाहरण के लिए, API की एक फ़ंक्शन जो बास्केट की सूची लौटाती है, दोनों प्रणालियों पर GET सेवा कहलाती है।
- समान मूल्य निर्धारण संरचना: दोनों प्रणालियों में एक समान मूल्य निर्धारण संरचना होती है। WABS में, सभी लेनदेन समान हैं, AS3 और GCS में लेन-देन की लागत है, जो प्रदर्शन किए जाने वाले ऑपरेशन के आधार पर भिन्न होती है।
- एक होस्टिंग शैली: दोनों सिस्टम वर्चुअल-होस्टेड स्टाइल (जैसे http://mybucket.s3.amazon.com/myobject ) और पथ-शैली (जैसे http: //s3-eu-west-1.amazonaws) का समर्थन करते हैं। com / mybucket / myobject ), जबकि WABS केवल पथ-शैली (उदा। http://myaccount.blob.core.windows.net/myblobcontainer/myblob ) का समर्थन करता है।
- एक समान स्थिरता मॉडल: दोनों सिस्टम एक समान स्थिरता मॉडल प्रदान करते हैं। उदाहरण के लिए, दोनों सिस्टम सभी PUT अनुरोधों के लिए एक मजबूत पठन-पश्चात-लेखन मजबूती मॉडल प्रदान करते हैं और अंततः सभी सूची (GET) संचालन के लिए मजबूत स्थिरता प्रदान करते हैं।
जीसीएस में अद्वितीय क्षण
जब हमने जीसीएस की बुनियादी कार्यक्षमता पर चर्चा शुरू की, तो ऐसा लग सकता है कि जीसीएस डब्ल्यूएबीएस और एएस 3 की तुलना में कम कार्यक्षमता प्रदान करता है, हालांकि, जीसीएस में ऐसे कार्य हैं जो किसी अन्य प्लेटफॉर्म पर नहीं मिलते हैं। उदाहरण के लिए:
- OAuth 2.0 प्रमाणीकरण : यह एक अनूठी और आधुनिक विशेषता है जो उपयोगकर्ताओं और अनुप्रयोगों के लिए क्रेडेंशियल प्रदान करने की आवश्यकता को समाप्त करती है जब उन्हें डेटा एक्सेस करने की आवश्यकता होती है। Https://developers.google.com/storage/docs/authentication#oauth पर अधिक जानें।
- कुकी-आधारित प्रमाणीकरण : जीसीएस आपको प्रमाणित ब्राउज़र अनुरोध करने की अनुमति देता है (उन लोगों के लिए जिनके पास जीसीएस खाता नहीं है)। ऐसा करने के लिए, ACL को कॉन्फ़िगर करें और उपयोगकर्ताओं को ऑब्जेक्ट का URL दें। Https://developers.google.com/storage/docs/authentication#cookieauth पर अधिक जानें।
- क्रॉस - ओरिजिनल रिसोर्स शेयरिंग (कोर) : केवल जीसीएस में उपलब्ध एक और अनोखी और आधुनिक सुविधा। W3C द्वारा विकसित CORS विनिर्देश विभिन्न मूल ( समान-मूल कार्यान्वयन) से संसाधनों के बीच बातचीत को रोकने के लिए क्लाइंट-साइड अनुप्रयोगों में लागू की गई नीति है। हालांकि, यह फ़ंक्शन न केवल खतरनाक व्यवहार को रोकता है, बल्कि प्रसिद्ध उत्पत्ति के बीच काफी उपयोगी और वैध बातचीत भी करता है। जीसीएस आपको कोरस-अनुरूप प्रतिक्रियाओं को वापस करने के लिए बास्केट को कॉन्फ़िगर करने की अनुमति देकर इस विनिर्देश का समर्थन करता है। Https://developers.google.com/storage/docs/cross-origin पर और जानें। कृपया ध्यान दें कि फ़ंक्शन "प्रायोगिक" चरण में है (दूसरे शब्दों में, बीटा :) में)। मुझे 100% यकीन नहीं है, लेकिन ऐसा लगता है कि WABS में $ रूट ब्लॉब्स कंटेनर का उपयोग करके एक ही चीज हासिल की जा सकती है।
मूल्य निर्धारण
दोनों प्रणालियों का उपयोग करते समय, कोई "पूंजी" लागत नहीं होती है। मूल्य निर्धारण मॉडल अपेक्षाकृत सरल है और खपत पर आधारित है। दोनों प्रणालियों में, चालान उपयोग के आधार पर बिल किया जाता है और इसमें तीन घटक शामिल हो सकते हैं:
- लेनदेन की संख्या : भुगतान किए गए लेनदेन की संख्या के अनुसार किया जाता है - मोटे तौर पर, एक लेनदेन प्रणाली में एक फ़ंक्शन कॉल है। दो प्रणालियों के बीच एक महत्वपूर्ण अंतर है - WABS में, लेनदेन की लागत तय की जाती है ($ 0.01 प्रति 10,000 लेनदेन), जीसीएस में यह लेनदेन के प्रकार के आधार पर भिन्न होता है। यदि आप PUT, COPY, POST, LIST संचालन करते हैं, तो आप GET के लिए प्रति लेनदेन ($ 0.01 प्रति 1000 लेन-देन) पर अधिक मूल्य का भुगतान करते हैं, और अन्य आप कम कीमत ($ 0.01 प्रति 10,000 लेनदेन) का भुगतान करते हैं। हटाए जाने के अनुरोध नहीं लिखे गए हैं, लेकिन मुझे लगता है कि वे जीसीएस में स्वतंत्र हैं।
- संग्रहण : आप प्रत्येक सिस्टम पर संग्रहीत डेटा की मात्रा के लिए भुगतान करते हैं।
- ट्रैफ़िक : आप सिस्टम से और इसके लिए स्थानांतरित किए गए डेटा की राशि का भुगतान करते हैं। लेखन के समय, दोनों प्रणालियां मुफ्त आने वाले ट्रैफ़िक प्रदान करती हैं। यह उल्लेख नहीं किया गया है कि जीसीएस में एक ही डेटा सेंटर के भीतर डेटा ट्रांसफर की लागत का भुगतान किया जाता है या नहीं।
एक विशेष मूल्य निर्धारण मॉडल भी उपलब्ध है और दोनों सिस्टम अलग-अलग भुगतान पैकेज प्रदान करते हैं। मूल्य निर्धारण के बारे में अधिक जानकारी -
https://www.windowsazure.com/en-us/pricing/details/ WABS के लिए और GCS के लिए
https://developers.google.com/storage/docs/pricingandterms ।
कार्यों
तालिका WABS और GCS द्वारा प्रदान किए गए कार्यों को सारांशित करती है। इसमें केवल दोनों प्रणालियों द्वारा समर्थित कार्य शामिल हैं।
निम्न तालिका केवल WABS में समर्थित सुविधाओं को सूचीबद्ध करती है।
आइए इन कार्यों पर अधिक विस्तार से विचार करें।
| WABS
| GCS
|
कंटेनर बनाएँ / बाल्टी रखें
| हां
| हां
|
यह फ़ंक्शन एक नया ब्लॉब कंटेनर या टोकरी बनाता है।
ध्यान रखने वाली एक महत्वपूर्ण बात यह है कि बूँद कंटेनर भंडारण खाते तक सीमित हैं, जबकि जीसीएस बास्केट जीसीएस परियोजना तक सीमित हैं। जब आप WABS संग्रहण खाता बनाते हैं, तो आप उसका स्थान (डेटा केंद्र) निर्धारित करते हैं, और आपके बूँद कंटेनर एक विशिष्ट भौगोलिक स्थान में एक विशिष्ट डेटा केंद्र में स्थित होते हैं। जब आप जीसीएस में एक टोकरी बनाते हैं, तो आप उस क्षेत्र का निर्धारण करते हैं जिसमें यह टोकरी बनाई जाएगी, इसलिए यदि आवश्यक हो, तो आप जीसीएस में सभी डेटा केंद्रों को बास्केट वितरित कर सकते हैं। WABS में ऐसा ही करने के लिए, आपको प्रत्येक डेटा सेंटर के लिए एक स्टोरेज अकाउंट बनाना होगा, जिसमें आप कंटेनर रखना चाहते हैं।
बूँद कंटेनर और टोकरी के लिए कई नामकरण नियम हैं, उन्हें नीचे दी गई तालिका में संक्षेपित किया गया है।
| WABS
| GCS
|
न्यूनतम / अधिकतम लंबाई शीर्षक
| 3/63
| 3/63
|
केस संवेदनशीलता
| निचला मामला
| निचला मामला
|
चरित्रों की अनुमति है
| अल्फ़ान्यूमेरिक और हाइफ़न (-)
| अल्फ़ान्यूमेरिक, हाइफ़न (-) और अवधि (।)
|
अधिक नामकरण परंपराएँ:
- बूँद कंटेनरों के नाम एक पत्र या संख्या से शुरू होने चाहिए, लेकिन एक हाइफ़न के साथ नहीं, जबकि एक हाइफ़न के बाद एक पत्र या संख्या फिर से जानी चाहिए, कई लगातार हाइफ़न की अनुमति नहीं है।
- जीसीएस बास्केट नामों में एक डॉट द्वारा अलग किए गए लेबल शामिल होने चाहिए, जहां प्रत्येक लेबल को लोअरकेस अक्षर या संख्या के साथ शुरू और समाप्त होना चाहिए, और टोकरी का नाम आईपी पते की तरह नहीं दिखना चाहिए (उदाहरण के लिए, 127.0.0.1)।
- इस तथ्य के बावजूद कि बास्केट के नाम 3 से 63 वर्णों के हो सकते हैं, यदि नाम में डॉट्स हैं, तो टोकरी का नाम 222 वर्णों तक हो सकता है, अंक की संख्या को देखते हुए।
- टोकरी नाम गूग उपसर्ग के साथ शुरू नहीं हो सकता।
टिप्पणी:
| WABS
| GCS
|
List Containers/GET Service
| हां
| हां
|
, GCS.
टिप्पणियाँ:
- WABS 5000 , , continuation token. WABS 5000 , . GCS .
- WABS , , .
- WABS , .
| WABS
| GCS
|
Delete Container/DELETE Bucket
| हां
| हां
|
.
टिप्पणियाँ:
- , , . , , , . , (Conflict Error – HTTP 409). , .
- GCS . , . 409 Conflict.
| WABS
| GCS
|
List Blobs/GET Bucket (List Objects)
| हां
| हां
|
. , :
- .
- , – WABS 5000, GCS – 1000.
- , , . — /. , , . , : images/a.png, images/b.png, images/c.png, logs/1.txt, logs/2.txt, files.txt. /, : images, logs, files.txt.
- . , , , . , “images” , : images/a.png, images/b.png, images/c.png.
- , , , continuation token, , , .
- .
:
- WABS 5000 , GCS – 1000 .
- WABS, . GCS .
- WABS, . GCS – HEAD Object .
- WABS, , (commited), .. , GCS , .
- ACL CORS .
| WABS
| GCS
|
Set Container ACL/PUT Bucket (ACL or CORS)
| हां
| हां
|
ACL , WABS . GCS CORS ( CORS ACL ).
ACL :
ACL :
- READ : .
- WRITE : , .
- FULL _ CONTROL : READ, WRITE.
GCS , , , user1 READ ACL, user2 – WRITE ACL, WABS , .
WABS , , ACL 5 , . , , . URL ( Shared Access Signatures). .
| WABS
| GCS
|
Get Container ACL/GET Bucket (ACL or CORS)
| हां
| हां
|
ACL , WABS , .
ACL
GET Bucket “
acl ”, CORS – “
cors”. , .
| WABS
| GCS
|
Put Blob/PUT Object
| हां
| हां
|
. ACL GCS .
टिप्पणियाँ:
- .
- (cache control, ..)
- MD5 .
- GCS ACL, WABS.
- -. WABS – 8 , GCS – .
- , . Put Page.
- GCS .
- , , 64 . , Put Block Put Block List.
- WABS , ( If - Modified - Since , If - Unmodified - Since , If - Match , If - None - Match ).
| WABS
| GCS
|
POST Object
| नहीं
| हां
|
, HTML-. POST PUT . , PUT HTTP-, POST multipart/form-data.
| WABS
| GCS
|
Get Blob/GET Object
| हां
| हां
|
.
टिप्पणियाँ:
- , Range.
- WABS .
- GCS ACL.
- , ( If - Modified - Since , If - Unmodified - Since , If - Match , If - None - Match ).
- – / .
| WABS
| GCS
|
Delete Blob/DELETE Object
| हां
| हां
|
.
टिप्पणियाँ:
· WABS , (
If- Modified- Since ,
If- Unmodified- Since ,
If- Match ,
If- None- Match ).
| WABS
| GCS
|
Copy Blob/Put Object – Copy
| हां
| हां
|
- .
टिप्पणियाँ:
· , (
If- Modified- Since ,
If- Unmodified- Since ,
If- Match ,
If- None- Match ). , WABS GCS.
· WABS . GCS . , , , . , , API , .
· .
:- . , , .
- «» «» . ( ) ( Version Id) .
| WABS
| GCS
|
Get Blob Properties/HEAD Object
| हां
| हां
|
, .
टिप्पणियाँ:
- Get Blob Properties WABS HEAD Object GCS , HTTP .
- WABS , ( If - Modified - Since , If - Unmodified - Since , If - Match , If - None - Match ).
- . / . , .
- WABS, Get Blob Metadata.
| WABS
| GCS
|
Get Blob Metadata/HEAD Object
| हां
| हां
|
. . / WABS.
सारांश
, , , . , .
, , Google , Amazon — . , Amazon 2006, Google 2010, , . Google , — CORS, . , Google Microsoft Amazon.
, , .