विंडोज एज़्योर ब्लॉब स्टोरेज और गूगल क्लाउड स्टोरेज की तुलना करना

क्लाउड कंप्यूटिंग के प्रेमियों को शुभकामनाएं।
मेरा सुझाव है कि विंडोज एज़ोर ब्लॉब स्टोरेज और गूगल क्लाउड स्टोरेज सेवाओं की तुलना को देखते हुए (जबकि लेखक अमेज़न एएस 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 था।

दो प्रणालियों में समान कार्यक्षमता:



अवधारणा का



इससे पहले कि हम इन दोनों सेवाओं के बारे में अधिक बात करें, मैं कुछ अवधारणाओं को स्पष्ट करना महत्वपूर्ण मानता हूं। यदि आप WABS और GCS की मूल अवधारणाओं से परिचित हैं, तो आप इस अनुभाग को छोड़ सकते हैं।

बूँद कंटेनर और बास्केट : यदि ये सेवाएं क्लाउड में फ़ाइल सिस्टम हैं, तो WABS बूँद कंटेनर और GCS बाल्टी को एक फ़ोल्डर या निर्देशिका के रूप में देखें। WABS संग्रहण खाते या GCS खाते में, आपके पास क्रमशः शून्य या अधिक ब्लॉब कंटेनर और बास्केट हो सकते हैं जिनमें ब्लॉब या ऑब्जेक्ट हो सकते हैं।

टिप्पणियाँ:



ब्लब्स और ऑब्जेक्ट्स : WABS ब्लॉब्स और GCS ऑब्जेक्ट्स आपके क्लाउड फाइल सिस्टम में फाइल हैं जो ब्लॉब कंटेनर और बास्केट में स्थित हैं।

टिप्पणियाँ:



दो सबसे महत्वपूर्ण कार्य डाउनलोड और डाउनलोड कर रहे हैं, आइए पहले उन पर चर्चा करें, फिर अन्य कार्यों की तुलना करें।

लोड हो रहा है और वस्तुओं



चलो कंटेनर और बास्केट में लोडिंग ब्लब्स और ऑब्जेक्ट्स के बारे में बात करते हैं। दो लोडिंग तंत्र हैं - आप एक एकल अनुरोध के ढांचे के भीतर एक बूँद या एक वस्तु को पूरी तरह से डाउनलोड कर सकते हैं या उन्हें टुकड़ों में विभाजित कर सकते हैं (जीसीएस में ब्लॉक या डब्ल्यूएबीएस पृष्ठ, उनका कोई विशेष नाम नहीं है)।

एक अनुरोध में डाउनलोड करें


यदि डाउनलोड किया गया डेटा छोटा है और आपके पास कनेक्शन की गति अच्छी है, तो आप इस डेटा को एक अनुरोध में पूरी तरह से डाउनलोड कर सकते हैं। WABS इसके लिए Put Blob का उपयोग करता है। GCS- PUT ऑब्जेक्ट या POST ऑब्जेक्ट में

टुकड़े लोड हो रहे हैं


आप बड़े डेटा को साझा कर सकते हैं जो पूरी तरह से एक ही अनुरोध में लोड करने के लिए अक्षम है। दोनों सिस्टम आपको डेटा को टुकड़ों में (WABS में ब्लॉक या पेज, जीसीएस में उनके पास कोई विशेष नाम नहीं है) को तोड़ने और धीरे-धीरे लोड करने की अनुमति देते हैं। WABS में, ब्लॉक ब्लॉब्स के लिए, आपको पेज ब्लॉब्स - पुट पेज के लिए Put Block and Put Block List का उपयोग करना चाहिए। GCS इसके लिए POST Object और Put Object फ़ंक्शन का उपयोग करता है।

कई कारण हैं कि आप यह तय कर सकते हैं कि डेटा को चंक्स में लोड करना है या नहीं:



आइए देखें कि प्रत्येक सिस्टम में टुकड़ों में डेटा को कैसे लोड किया जाए। उदाहरण के लिए, आप विखंडू में 100 एमबी की फ़ाइल अपलोड करना चाहते हैं।

WABS


मान लें कि प्रत्येक टुकड़े का आकार 1 एमबी है (इस तथ्य के बावजूद कि समान आकार के टुकड़े होने की आवश्यकता नहीं है) - आपको 100 टुकड़े डाउनलोड करने की आवश्यकता है। हम एक ब्लॉक ब्लॉब लेते हैं, जिनमें से प्रत्येक ब्लॉक (टुकड़े) में एक विशिष्ट पहचानकर्ता (ब्लॉकआईड) होता है। इसे लोड करने के लिए, पुट ब्लॉक फ़ंक्शन का उपयोग करें। BlockId 64 बाइट्स के अधिकतम आकार के साथ एक Base64- एन्कोडेड स्ट्रिंग है। सभी BlockId (हमारे मामले में 100) की लंबाई समान होनी चाहिए। इससे कोई फर्क नहीं पड़ता कि आप किस क्रम में ब्लॉकों को लोड करते हैं - आप उन्हें समानांतर में लोड कर सकते हैं। एक ब्लॉक को लोड करने के बाद, WABS इसे रिपॉजिटरी में कहीं रख देता है, और इसे 7 दिनों के लिए स्टोर करता है। सभी ब्लॉकों को लोड करने के बाद, हम इन ब्लॉकों की पुष्टि (कमिट) करते हुए पुट ब्लॉक सूची कहते हैं। जब तक इस फ़ंक्शन को कॉल नहीं किया जाता है, तब तक आप बूँद से संपर्क नहीं कर सकते हैं, और यदि आपने 7 दिनों के भीतर ब्लॉक की पुष्टि नहीं की है, तो वे सिस्टम द्वारा हटा दिए जाएंगे। फ़ंक्शन को कॉल करने के बाद, ब्लॉकआईड सूची के आदेश के आधार पर, डब्ल्यूएबीएस बूँद को फिर से बनाएगा और इसे उपलब्ध के रूप में चिह्नित करेगा। इससे कोई फर्क नहीं पड़ता कि ब्लॉकआईड का क्या मान होगा (वे सभी GUID हो सकते हैं), लेकिन यह महत्वपूर्ण है कि आप किस क्रम में ब्लॉक ब्लॉक सूची का उपयोग करते समय ब्लॉकआईड भेजते हैं।

प्रतिबंध:



GCS


जीसीएस के मामले में, एक बड़ी फाइल को चंक्स में डाउनलोड करना " रिज्यूमेबल अपलोड " कहलाता है। सबसे पहले आपको GCS को बताना होगा कि आपने POST ऑब्जेक्ट को कॉल करके बूट प्रक्रिया शुरू की आमतौर पर यह फ़ंक्शन HTML फॉर्म का उपयोग करके फ़ाइल अपलोड करने के लिए उपयोग किया जाता है, लेकिन इस मामले में आप फ़ाइल को परिभाषित नहीं करते हैं। आप अनुरोध हेडर को परिभाषित कर सकते हैं जो जीसीएस को बताते हैं कि आपने डाउनलोड प्रक्रिया शुरू कर दी है। डाउनलोड पूरा होने के बाद, GCS अपलोड आईडी युक्त एक प्रतिक्रिया लौटाएगा जो विशिष्ट रूप से डाउनलोड प्रक्रिया की पहचान करता है। इस आईडी को सहेजने की आवश्यकता है, क्योंकि टुकड़ों को लोड करते समय इसकी आवश्यकता होगी। अगला, आपको पुट ऑब्जेक्ट फ़ंक्शन का उपयोग करके फ़ाइल डाउनलोड करने और इसे अपलोड आईडी और ऑब्जेक्ट की सामग्री को पास करने की कोशिश करने की आवश्यकता है। यदि सब कुछ काम करता है, तो जीसीएस 200 ओके के HTTP कोड के साथ प्रतिक्रिया देगा, लेकिन यदि ऑपरेशन विफल हो जाता है, तो आपको डाउनलोड किए गए बाइट्स की संख्या के लिए जीसीएस से पूछना होगा। जीसीएस 308 रिज्यूम अधूरा HTTP कोड लौटाएगा। इसके अलावा पुट ऑब्जेक्ट का उपयोग करके डेटा लोड करना जारी रखना संभव होगा।

विचार:



ब्लॉब्स और ऑब्जेक्ट्स को डाउनलोड करें



आइए देखें कि आप ब्लॉब्स और ऑब्जेक्ट्स को कैसे डाउनलोड कर सकते हैं। इसके लिए दो तंत्र हैं - या तो एक अनुरोध में पूरी बूँद या ऑब्जेक्ट डाउनलोड करें, या टुकड़ों में।

प्रत्येक प्रणाली का केवल एक डाउनलोड कार्य होता है - WABS में ब्लॉब प्राप्त करें और जीसीएस में वस्तु प्राप्त करें

एक अनुरोध में डाउनलोड करें


यदि डेटा छोटा है और आपके पास कनेक्शन की गति अच्छी है, तो आप GCS में गेट ब्लॉब और GET ऑब्जेक्ट का उपयोग करके ऑब्जेक्ट को पूरी तरह से डाउनलोड कर सकते हैं।


टुकड़ों में डाउनलोड करना


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

डाउनलोड प्रक्रिया:

  1. वस्तु का आकार निर्धारित करें। उदाहरण के लिए, यह "वजन" 100 एमबी है।
  2. टुकड़ों का आकार निर्धारित करें। उदाहरण के लिए, 1 एमबी के टुकड़े को डाउनलोड करना आपके लिए सुविधाजनक है।
  3. कॉल ब्लॉब या ऑब्जेक्ट प्राप्त करें और उन्हें रेंज हेडर में संबंधित मान पास करें। यदि आप क्रमिक रूप से डाउनलोड करते हैं, तो आपके पहले अनुरोध में इस हेडर का मान होगा "0 - 1048575" (0 - 1 एमबी), दूसरा अनुरोध - "1048576 - 2097151" (1 - 2 एमबी) और इसी तरह।
  4. डाउनलोड करने के बाद, टुकड़ा कहीं रख दें।
  5. सभी टुकड़ों को डाउनलोड करने के बाद, एक खाली 100 एमबी फाइल बनाएं और इस फाइल को डाउनलोड किए गए टुकड़ों से भरें।


WABS, AS3 और GCS के बीच सामान्य बिंदु



सभी तीन प्रणालियों में सामान्य बिंदु हैं, उदाहरण के लिए:



AS3 के साथ आम



जब मैंने पहली बार जीसीएस के बारे में पढ़ा, तो मैंने पाया कि जीसीएस और एएस 3 में बहुत कुछ है, उदाहरण के लिए:



जीसीएस में अद्वितीय क्षण



जब हमने जीसीएस की बुनियादी कार्यक्षमता पर चर्चा शुरू की, तो ऐसा लग सकता है कि जीसीएस डब्ल्यूएबीएस और एएस 3 की तुलना में कम कार्यक्षमता प्रदान करता है, हालांकि, जीसीएस में ऐसे कार्य हैं जो किसी अन्य प्लेटफॉर्म पर नहीं मिलते हैं। उदाहरण के लिए:



मूल्य निर्धारण



दोनों प्रणालियों का उपयोग करते समय, कोई "पूंजी" लागत नहीं होती है। मूल्य निर्धारण मॉडल अपेक्षाकृत सरल है और खपत पर आधारित है। दोनों प्रणालियों में, चालान उपयोग के आधार पर बिल किया जाता है और इसमें तीन घटक शामिल हो सकते हैं:

  1. लेनदेन की संख्या : भुगतान किए गए लेनदेन की संख्या के अनुसार किया जाता है - मोटे तौर पर, एक लेनदेन प्रणाली में एक फ़ंक्शन कॉल है। दो प्रणालियों के बीच एक महत्वपूर्ण अंतर है - WABS में, लेनदेन की लागत तय की जाती है ($ 0.01 प्रति 10,000 लेनदेन), जीसीएस में यह लेनदेन के प्रकार के आधार पर भिन्न होता है। यदि आप PUT, COPY, POST, LIST संचालन करते हैं, तो आप GET के लिए प्रति लेनदेन ($ 0.01 प्रति 1000 लेन-देन) पर अधिक मूल्य का भुगतान करते हैं, और अन्य आप कम कीमत ($ 0.01 प्रति 10,000 लेनदेन) का भुगतान करते हैं। हटाए जाने के अनुरोध नहीं लिखे गए हैं, लेकिन मुझे लगता है कि वे जीसीएस में स्वतंत्र हैं।
  2. संग्रहण : आप प्रत्येक सिस्टम पर संग्रहीत डेटा की मात्रा के लिए भुगतान करते हैं।


  1. ट्रैफ़िक : आप सिस्टम से और इसके लिए स्थानांतरित किए गए डेटा की राशि का भुगतान करते हैं। लेखन के समय, दोनों प्रणालियां मुफ्त आने वाले ट्रैफ़िक प्रदान करती हैं। यह उल्लेख नहीं किया गया है कि जीसीएस में एक ही डेटा सेंटर के भीतर डेटा ट्रांसफर की लागत का भुगतान किया जाता है या नहीं।


एक विशेष मूल्य निर्धारण मॉडल भी उपलब्ध है और दोनों सिस्टम अलग-अलग भुगतान पैकेज प्रदान करते हैं। मूल्य निर्धारण के बारे में अधिक जानकारी - https://www.windowsazure.com/en-us/pricing/details/ WABS के लिए और GCS के लिए https://developers.google.com/storage/docs/pricingandterms

कार्यों



तालिका WABS और GCS द्वारा प्रदान किए गए कार्यों को सारांशित करती है। इसमें केवल दोनों प्रणालियों द्वारा समर्थित कार्य शामिल हैं।
WABS
GCS
कंटेनर बनाएँ / बाल्टी रखें
हां
हां
सूची कंटेनर / GET सेवा
हां
हां
कंटेनर / DELETE बाल्टी हटाएं
हां
हां
सूची बूँदें / बाल्टी प्राप्त करें (सूची वस्तुएँ)
हां
हां
कंटेनर ACL / PUT बाल्टी सेट करें (ACL या CORS)
हां
हां
कंटेनर एसीएल प्राप्त करें / बाल्टी प्राप्त करें (एसीएल या कोर)
हां
हां
Blob / PUT ऑब्जेक्ट डालें
हां
हां
पोस्ट ऑब्जेक्ट
नहीं
हां
ब्लॉब / GET ऑब्जेक्ट प्राप्त करें
हां
हां
ब्लॉब / DELETE ऑब्जेक्ट हटाएं
हां
हां
Blob / PUT ऑब्जेक्ट को कॉपी करें
हां
हां
बूँद गुण / सिर वस्तु प्राप्त करें
हां
हां
बूँद मेटाडाटा / हेड ऑब्जेक्ट प्राप्त करें
हां
हां

निम्न तालिका केवल WABS में समर्थित सुविधाओं को सूचीबद्ध करती है।
WABS
GCS
बूँद सेवा गुण सेट करें
हां
नहीं
ब्लॉब सेवा गुण प्राप्त करें
हां
नहीं
कंटेनर मेटाडेटा सेट करें
हां
नहीं
कंटेनर मेटाडेटा प्राप्त करें
हां
नहीं
बूँद गुण सेट करें
हां
नहीं
बूँद मेटाडेटा सेट करें
हां
नहीं
स्नैपशॉट बूँद
हां
नहीं
लीज की बूँद
हां
नहीं
ब्लॉक लगाएं
हां
नहीं
ब्लॉक सूची लगाएं
हां
नहीं
ब्लॉक सूची / सूची भागों प्राप्त करें
हां
नहीं
पेज लगाएं
हां
नहीं
पेज रेंज प्राप्त करें
हां
नहीं

आइए इन कार्यों पर अधिक विस्तार से विचार करें।
WABS
GCS
कंटेनर बनाएँ / बाल्टी रखें
हां
हां

यह फ़ंक्शन एक नया ब्लॉब कंटेनर या टोकरी बनाता है।

ध्यान रखने वाली एक महत्वपूर्ण बात यह है कि बूँद कंटेनर भंडारण खाते तक सीमित हैं, जबकि जीसीएस बास्केट जीसीएस परियोजना तक सीमित हैं। जब आप WABS संग्रहण खाता बनाते हैं, तो आप उसका स्थान (डेटा केंद्र) निर्धारित करते हैं, और आपके बूँद कंटेनर एक विशिष्ट भौगोलिक स्थान में एक विशिष्ट डेटा केंद्र में स्थित होते हैं। जब आप जीसीएस में एक टोकरी बनाते हैं, तो आप उस क्षेत्र का निर्धारण करते हैं जिसमें यह टोकरी बनाई जाएगी, इसलिए यदि आवश्यक हो, तो आप जीसीएस में सभी डेटा केंद्रों को बास्केट वितरित कर सकते हैं। WABS में ऐसा ही करने के लिए, आपको प्रत्येक डेटा सेंटर के लिए एक स्टोरेज अकाउंट बनाना होगा, जिसमें आप कंटेनर रखना चाहते हैं।

बूँद कंटेनर और टोकरी के लिए कई नामकरण नियम हैं, उन्हें नीचे दी गई तालिका में संक्षेपित किया गया है।
WABS
GCS
न्यूनतम / अधिकतम लंबाई शीर्षक
3/63
3/63
केस संवेदनशीलता
निचला मामला
निचला मामला
चरित्रों की अनुमति है
अल्फ़ान्यूमेरिक और हाइफ़न (-)
अल्फ़ान्यूमेरिक, हाइफ़न (-) और अवधि (।)

अधिक नामकरण परंपराएँ:


टिप्पणी:


WABS
GCS
List Containers/GET Service
हां
हां


, GCS.

टिप्पणियाँ:


WABS
GCS
Delete Container/DELETE Bucket
हां
हां

.

टिप्पणियाँ:


WABS
GCS
List Blobs/GET Bucket (List Objects)
हां
हां

. , :



:


WABS
GCS
Set Container ACL/PUT Bucket (ACL or CORS)
हां
हां

ACL , WABS . GCS CORS ( CORS ACL ).

ACL :



ACL :



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 Bucketacl ”, CORS – “ cors”. , .

WABS
GCS
Put Blob/PUT Object
हां
हां

. ACL GCS .

टिप्पणियाँ:



WABS
GCS
POST Object
नहीं
हां

, HTML-. POST PUT . , PUT HTTP-, POST multipart/form-data.
WABS
GCS
Get Blob/GET Object
हां
हां

.

टिप्पणियाँ:


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 , .

· .



:


WABS
GCS
Get Blob Properties/HEAD Object
हां
हां

, .

टिप्पणियाँ:


WABS
GCS
Get Blob Metadata/HEAD Object
हां
हां

. . / WABS.

सारांश



, , , . , .


, , Google , Amazon — . , Amazon 2006, Google 2010, , . Google , — CORS, . , Google Microsoft Amazon.
, , .

Source: https://habr.com/ru/post/In145226/


All Articles