2009-02-19 12 views
9

जबकि पोस्ट @http://highscalability.com/amazon-architecture सामान्य रूप से अमेज़ॅन की वास्तुकला बताता है, मुझे यह जानने में दिलचस्पी है कि अमेज़ॅन एस 3 कैसे कार्यान्वित किया जाता है।अमेज़ॅन एस 3 आर्किटेक्चर

मेरे अनुमान से कुछ हैं

  1. HDFS की तरह एक वितरित फ़ाइल प्रणाली http://hadoop.apache.org/core/docs/current/hdfs_design.html
  2. CouchDB तरह http://couchdb.apache.org/

इसे करने के लिए कुछ इसी तरह लागू करने के लिए संभव हो सकता है एक गैर संबंधपरक लगातार डीबी यह पायथन या PHP जैसे स्क्रिप्टिंग भाषाओं का उपयोग करके बहुत छोटे पैमाने पर है?

+0

कम से कम [one] (https://sourceforge.net/projects/s3mockup/) है एस 3 समकक्ष समाधान जिसका उपयोग आप ग्राहकों के खिलाफ परीक्षण के लिए कर सकते हैं। आपको स्रोत कोड का अध्ययन करके कुछ जानकारी मिल सकती है और शायद आप इसे अपने स्वयं के प्रोजेक्ट में इस्तेमाल कर सकते हैं। –

+0

मोगाइलएफएस देखें। यह एस 3 के साथ संगत एपीआई नहीं है, और इसमें एस 3 की तुलना में बहुत कम सुविधाएं हैं, लेकिन यह कम लागत वाले स्टोरेज सर्वरों के सेट पर स्थैतिक फ़ाइलों को वितरित करने की मूल प्रक्रिया करता है। – melo

उत्तर

5

अमेज़न S3 वास्तुकला डायनमो पत्र में वर्णित का उपयोग कर कार्यान्वित किया जाता है:

http://www.allthingsdistributed.com/2007/10/amazons_dynamo.html

कागज संगत हैशिंग बताते हैं, और कैसे और क्यों की गारंटी है "अंतिम स्थिरता"।

डायनेमो के बारे में बात करने वाले संघर्ष समाधान एस 3 के उपयोगकर्ताओं के संपर्क में नहीं है। इसका उपयोग अमेज़ॅन के अनुप्रयोगों में आंतरिक रूप से किया जाता है, लेकिन एस 3 के लिए, एकमात्र संघर्ष समाधान अंतिम लेखन जीत है।

संपादित करें: वर्नर वोगल्स ने कहा है "डायनेमो को सीधे वेब सेवा के रूप में बाहरी रूप से उजागर नहीं किया जाता है, हालांकि, डायनेमो और इसी तरह की अमेज़ॅन प्रौद्योगिकियों का उपयोग हमारी अमेज़ॅन वेब सेवाओं, जैसे कि एस 3 के कुछ हिस्सों को पावर करने के लिए किया जाता है।" http://www.allthingsdistributed.com/2007/10/amazons_dynamo.html

मैं जोर देता हूं कि वह एस 3 और डायनेमो शेयर घटकों को नहीं कह रहा है, वह स्पष्ट रूप से कहता है कि डायनेमो स्वयं ही उन प्रौद्योगिकियों में से एक है जो एस 3 को शक्ति देते हैं। सब कुछ मैंने सीवी से देखा है, जिसमें चेतावनी शामिल है, एस 3 मानते हैं कि एस 3 प्रमाणीकरण, लेखांकन और अंतिम-लेखन-जीत संघर्ष के साथ डायनेमो के आसपास एक फैंसी वेब सेवा रैपर है जो उपयोगकर्ता के लिए अदृश्य है।

मूल प्रश्न एस 3 के लिए अंतर्निहित स्टोरेज तंत्र के बारे में था। यह स्पष्ट रूप से एक वितरित फ़ाइल सिस्टम नहीं है जैसे एचडीएफएस या कॉच डीबी जैसे गैर-रिलेशनल डेटाबेस। डायनेमो इस भूमिका को भरता है।

+1

मुझे नहीं लगता कि यह काफी सच है। डायनेमो के लक्ष्यों को एस 3 से अलग है (डायनेमो का उपयोग शॉपिंग कार्ट और इसी तरह के उपयोग के मामलों, बहुत सारे लिखने, ऐप-प्रदत्त संघर्ष समाधान, लघु मूल्यों) के लिए किया जाता है एस 3 की तुलना में (सरल कुंजी/मूल्य स्टोर, बड़े मूल्यों के साथ, कोई सामग्री-आधारित संघर्ष नहीं संकल्प या विलय। और इस प्रकार, आंतरिक इम्प्ला और डिज़ाइन काफी अलग हैं (AFAIK) आर्किटेक्चरल में वे कई चीजें साझा करते हैं, और कुछ आंतरिक घटक भी। – StaxMan

+0

डायनेमो और एस 3 पूरी तरह से अलग आर्किटेक्चर हैं – leon

+0

डायनेमो का उपयोग कुछ टुकड़ों के लिए किया जा सकता है एस 3 (जैसे मेटाडेटा स्टोरेज), लेकिन प्राथमिक भंडारण संरचना पूरी तरह से असंबंधित है –

1

यह 2 के करीब है, हालांकि सामग्री के बारे में देखभाल करने वाले सिस्टम के बिना "बीएलओबी" के रूप में संग्रहीत सामग्री के साथ, जबकि कॉच डीबी करता है। बैकएंड स्टोरेज कई प्रतियों को स्टोर करने के लिए क्लस्टर के नोड्स के लिए स्थानीय डीबी (बीडीबी?) का उपयोग करता है। पढ़ता है किसी भी नोड पर जा सकता है जिसमें एक प्रतिलिपि हो सकती है, जैसा लिख ​​सकता है, लेकिन विवादों से छुटकारा पाने के लिए लिखने के लिए लिखने की आवश्यकता है। जैसा कि केविन का उल्लेख है, यह "अंतिम स्थिरता" की गारंटी देता है, लेकिन जब, या जो लिखता है (बाहरी पीओवी से; आंतरिक रूप से परिभाषित किया गया है) की कोई सख्त गारंटी नहीं देता है।

पढ़ना डायनेमो दस्तावेज़ कई अवधारणाओं को समझने में उपयोगी है, लेकिन AFAIK कार्यान्वयन अलग है। अन्य उपयोगों के लिए अमेज़ॅन द्वारा डायनेमो का आंतरिक रूप से उपयोग किया जाता है। दोनों के खुले स्रोत कार्यान्वयन भी हैं; एक दिलचस्प एक Project Voldemort है। कॉच डीबी स्पष्ट रूप से बहुत ही रोचक है।

2

अमेज़ॅन एस 3 के आर्किटेक्चर के न तो और न ही कार्यान्वयन अभी तक सार्वजनिक कर दिया गया है। इस प्रकार, यह किसी भी आकार के निजी बादल बनाने की क्षमता विकसित करने के लिए विस्तार के लिए उपलब्ध नहीं है।

क्लाउड स्टोरेज आर्किटेक्चर विषयों पर कुछ कागजात हैं। आप उन्हें उपयोगी पा सकते हैं। यहाँ एक है: CACSS: Towards a Generic Cloud Storage Service

तरीका है जिसके द्वारा विभिन्न प्रौद्योगिकियों एक भी उत्कृष्ट प्रदर्शन प्रदान करने के लिए जोड़ा जा सकता है, अत्यधिक स्केलेबल और विश्वसनीय क्लाउड भंडारण प्रणाली भी विस्तृत है। यह शोध अनुभवहीन क्लाउड प्रदाताओं के लिए ज्ञान स्रोत के रूप में कार्य करता है, जिससे उन्हें अपनी क्लाउड स्टोरेज सेवाओं को तेजी से स्थापित करने की क्षमता मिलती है