लॉग-स्ट्रक्चर फाइल सिस्टम

एक लॉग-संरचित फाइल सिस्टम एक फाइल सिस्टम है जिसमें डेटा और मेटाडेटा क्रमिक रूप से एक गोलाकार बफर में लिखे जाते हैं, जिसे बोटा दस्तावेज कहा जाता है। डिजाइन पहली बार 1988 में जॉन के. ओस्टरहाउट और फ्रेड डौग्लिस द्वारा प्रस्तावित किया गया था और पहली बार 1992 में ओस्टरहाउट और मेंडल रोसेनब्लम द्वारा यूनिक्स-जैसी स्प्राइट (ऑपरेटिंग सिस्टम) वितरित ऑपरेटिंग सिस्टम के लिए लागू किया गया था।

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

लॉग-संरचित फ़ाइल सिस्टम का डिज़ाइन इस परिकल्पना पर आधारित है कि यह अब प्रभावी नहीं होगा क्योंकि आधुनिक कंप्यूटरों पर मेमोरी के बढ़ते आकार के कारण I/O लेखन-भारी हो जाएगा क्योंकि मेमोरी कैश से रीड लगभग हमेशा संतुष्ट होंगे। एक लॉग-संरचित फ़ाइल सिस्टम इस प्रकार अपने भंडारण को एक परिपत्र बफर के रूप में मानता है और क्रमिक रूप से लॉग के शीर्ष पर लिखता है।

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

लॉग-संरचित फ़ाइल सिस्टम, हालांकि, फ़ाइल सिस्टम को पूर्ण होने से रोकने के लिए लॉग की पूंछ से मुक्त स्थान को पुनः प्राप्त करना चाहिए जब लॉग का सिर इसे पूरा करने के लिए लपेटता है। पूंछ अंतरिक्ष को छोड़ सकती है और डेटा को छोड़ कर आगे बढ़ सकती है जिसके लिए नए संस्करण लॉग में आगे मौजूद हैं। यदि कोई नया संस्करण नहीं है, तो डेटा को स्थानांतरित कर दिया जाता है और शीर्ष पर जोड़ दिया जाता है।

इस कचरा संग्रह (कंप्यूटर विज्ञान) द्वारा किए गए ओवरहेड को कम करने के लिए, अधिकांश कार्यान्वयन विशुद्ध रूप से परिपत्र लॉग से बचते हैं और उनके भंडारण को खंडों में विभाजित करते हैं। लॉग का शीर्ष केवल गैर-आसन्न खंडों में आगे बढ़ता है जो पहले से ही मुक्त हैं। यदि स्थान की आवश्यकता है, तो सबसे कम-पूर्ण खंडों पर पहले पुनः दावा किया जाता है। यह कचरा कलेक्टर के I/O लोड (और लेखन प्रवर्धन को कम करता है) को कम करता है, लेकिन तेजी से अप्रभावी हो जाता है क्योंकि फाइल सिस्टम भरता है और क्षमता के करीब आता है।

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

यह भी देखें

 * लॉग-संरचित फाइल सिस्टम की सूची
 * फाइल सिस्टम की तुलना

अग्रिम पठन

 * Log-structured File Systems (2014), Arpaci-Dusseau, Remzi H.; Arpaci-Dusseau, Andrea C.; Arpaci-Dusseau Books