गूगल फाइल सिस्टम
गूगल फ़ाइल सिस्टम गूगल द्वारा विकसित एक स्वामित्व वाली वितरित फ़ाइल प्रणाली है, जो कमोडिटी हार्डवेयर के बड़े समूहों का उपयोग करते हुए डेटा तक कुशल, विश्वसनीय पहुँच प्रदान करती है। गूगल फ़ाइल सिस्टम के अंतिम संस्करण का नाम कोलोसस २०१० में जारी किया गया था।
Google के मुख्य डेटा भंडारण और उपयोग की जरूरतों (मुख्य रूप से ) के लिए जीएफएस बढ़ाया जाता है, जो कि बड़ी मात्रा में डेटा बनाए रख सकता है जिसे बनाए रखना चाहिए; Google फ़ाइल सिस्टम Google के पहले दिनों में विकसित हुआ, "बिगफ़ाइल्स", जिसे लैरी पेज और सर्गेई ब्रिन ने Google के शुरुआती दिनों में विकसित किया था, जबकि यह अभी भी स्टैनफोर्ड में स्थित था। फाइलों को 64 मेगाबाइट के निश्चित आकार के टुकड़ों में विभाजित किया जाता है, जो नियमित फाइल सिस्टम में क्लस्टर या सेक्टर के समान होते हैं, जो केवल बहुत ही कम ओवरराइट या सिकुड़ जाते हैं; फ़ाइलें आमतौर पर संलग्न या पढ़ी जाती हैं। यह Google के कंप्यूटिंग समूहों पर चलने के लिए डिज़ाइन और अनुकूलित भी है, घने नोड्स जिनमें सस्ते "कमोडिटी" कंप्यूटर शामिल हैं, जिसका अर्थ है कि व्यक्तिगत नोड्स की उच्च विफलता दर और बाद में डेटा हानि के खिलाफ सावधानी बरतनी चाहिए। अन्य डिज़ाइन निर्णय उच्च डेटा के लिए चयन करते हैं, तब भी जब यह विलंबता की लागत पर आता है।
एक GFS क्लस्टर में कई नोड होते हैं। इन नोड्स को दो प्रकारों में विभाजित किया जाता है: एक मास्टर नोड और कई चॉन्सेर्वर्स। प्रत्येक फ़ाइल को निश्चित आकार के टुकड़ों में विभाजित किया गया है। चंक्सवर्कर्स इन चंक्स को स्टोर करते हैं। प्रत्येक चंक को निर्माण के समय मास्टर नोड द्वारा एक विश्व स्तर पर अद्वितीय 64-बिट लेबल सौंपा जाता है, और घटक चंक्स के लिए फाइलों की तार्किक मैपिंग बनाए रखी जाती है। प्रत्येक चंक को पूरे नेटवर्क में कई बार दोहराया जाता है। डिफ़ॉल्ट रूप से, इसे तीन बार दोहराया जाता है, लेकिन यह विन्यास योग्य है। जो फ़ाइलें उच्च मांग में हैं, उनमें उच्च प्रतिकृति कारक हो सकता है, जबकि उन फ़ाइलों के लिए, जिनके लिए क्लाइंट क्लाइंट सख्त संग्रहण अनुकूलन का उपयोग करता है, उन्हें तीन बार से कम बार दोहराया जा सकता है - ताकि त्वरित कचरा सफाई नीतियों का सामना किया जा सके।
मास्टर सर्वर आमतौर पर वास्तविक चंक्स को स्टोर नहीं करता है, बल्कि सभी चंकट से जुड़े मेटाडेटा, जैसे कि टेबल 64-बिट लेबल को चंक करने के लिए मैपिंग करते हैं और वे फाइलें जो बनाते हैं (फाइलों से चंक्स तक मैपिंग), स्थान चंक्स की प्रतियों में, क्या प्रक्रियाएं किसी विशेष चंक को पढ़ रही हैं या लिख ​​रही हैं, या इसे दोहराने के लिए चंक का अनुसरण करने वाले का "स्नैपशॉट" ले रही है (आमतौर पर नोड सर्वर की विफलता के कारण, जब मास्टर सर्वर के इंस्ट्रक्शन पर) एक चंक की प्रतियां सेट संख्या के नीचे गिर गई हैं)। यह सभी मेटाडेटा मास्टर सर्वर द्वारा समय-समय पर प्रत्येक चंक सर्वर ("हार्ट-बीट मैसेज") से अपडेट प्राप्त करके चालू रखा जाता है।
संशोधनों के लिए अनुमतियाँ समय-सीमित, "पट्टों" को समाप्त करने की एक प्रणाली द्वारा नियंत्रित की जाती हैं, जहां मास्टर सर्वर समय की एक सीमित अवधि के लिए एक प्रक्रिया की अनुमति देता है, जिसके दौरान किसी अन्य प्रक्रिया को मास्टर सर्वर द्वारा चंक को संशोधित करने की अनुमति नहीं दी जाएगी। । मॉडिफाइड चंकज़र, जो हमेशा प्राइमरी चंक होल्डर होता है, फिर बैकअप कॉपियों के साथ चांसर्स में बदलाव का प्रचार करता है। जब तक सभी हिस्सा लेने वाले स्वीकार नहीं कर लेते, तब तक परिवर्तन को सहेजा नहीं जाता है, इस प्रकार ऑपरेशन के पूरा होने और परमाणु होने की गारंटी होती है।
कार्यक्रम वांछित विखंडू के स्थानों के लिए पहले मास्टर सर्वर को क्वेरी करके चंक्स तक पहुंचते हैं; यदि विखंडू को संचालित नहीं किया जा रहा है (अर्थात कोई बकाया पट्टों का अस्तित्व नहीं है), मास्टर स्थानों के साथ उत्तर देता है, और फिर कार्यक्रम सीधे संपर्क करता है और सीधे चंकसर से डेटा प्राप्त करता है (काजा और उसके सुपरनॉड्स के समान)।
अधिकांश अन्य फ़ाइल सिस्टमों के विपरीत, GFS किसी ऑपरेटिंग सिस्टम के कर्नेल में लागू नहीं किया जाता है, बल्कि इसके बजाय एक यूजरस्पेस लाइब्रेरी के रूप में प्रदान किया जाता है।
Google फ़ाइल सिस्टम एक POSIX इंटरफ़ेस प्रदान नहीं करता है। फ़ाइलों को निर्देशिकाओं में श्रेणीबद्ध रूप से व्यवस्थित किया जाता है और पथनामों द्वारा पहचाना जाता है। फ़ाइल संचालन जैसे बनाना, हटाना, खोलना, बंद करना, पढ़ना, लिखना समर्थित हैं। यह रिकॉर्ड परिशिष्ट का समर्थन करता है जो कई ग्राहकों को समवर्ती रूप से एक ही फ़ाइल में डेटा संलग्न करने की अनुमति देता है और परमाणुता की गारंटी है।
बेंचमार्किंग परिणामों से निर्णय लेते हुए, [3] जब अपेक्षाकृत कम संख्या में सर्वर (15) के साथ उपयोग किया जाता है, तो फ़ाइल सिस्टम एक एकल डिस्क (80-100 एमबी / एस) के बराबर प्रदर्शन पढ़ने को प्राप्त करता है, लेकिन इसमें कम लेखन प्रदर्शन होता है (30) MB / s), और मौजूदा फ़ाइलों के डेटा को जोड़ने में अपेक्षाकृत धीमी (5 MB / s) है। लेखक यादृच्छिक खोज समय पर कोई परिणाम प्रस्तुत नहीं करते हैं। चूंकि मास्टर नोड सीधे डेटा रीडिंग में शामिल नहीं है (डेटा को चंक सर्वर से रीडिंग क्लाइंट को सीधे पास किया जाता है), रीड रेट चंक सर्वरों की संख्या के साथ काफी बढ़ जाती है, जो 342 नोड्स के लिए 583 MB / s प्राप्त करता है। कई सर्वरों को एकत्र करना भी बड़ी क्षमता की अनुमति देता है, जबकि इसे तीन स्वतंत्र स्थानों में डेटा संग्रहीत करके (अतिरेक प्रदान करने के लिए) कुछ हद तक कम किया जाता है।