डिस्क क्षेत्र
एक डिस्क में एक निश्चित क्षेत्र का आकार होता है, आम तौर पर कुछ आधुनिक डिस्क पर 512 बाइट्स या 4096 बाइट्स; इन डिस्क में एक मोड भी होगा जहां वे 512 बाइट सेक्टर का अनुकरण करते हैं। डिस्क में सेक्टरों की संख्या अलग-अलग होगी; डिस्क के बाहर के करीब पटरियों में अधिक सेक्टर होते हैं क्योंकि उनके पास दिए गए बिट घनत्व के लिए अधिक जगह होती है। यह डिस्क स्थान के अधिक कुशल उपयोग की अनुमति देता है; आम तौर पर एक ट्रैक में आधुनिक डिस्क पर 1,000 512 बाइट सेक्टर जैसा कुछ होगा।
कुछ फ़ॉर्मेटिंग संरचनाओं में शामिल हो सकते हैं, सिक्योरिटीज़ में त्रुटि सुधारने वाली जानकारी, जो 520 या 528 बाइट सेक्टरों के साथ निम्न-स्तरीय स्वरूपित डिस्क में प्रकट होती है। इस मामले में अभी भी सेक्टर में उपयोगकर्ता डेटा के 512 बाइट्स हैं। न तो विंडोज और न ही लिनक्स सीधे इसका समर्थन करते हैं, हालांकि i5OS (आईबीएम iSeries) और विभिन्न सैन नियंत्रक करते हैं।
आम तौर पर सेक्टर / हेड / ट्रैक का तार्किक ब्लॉक पते में अनुवाद किया जाता है; पिछड़े संगतता के साथ ऐतिहासिक मुद्दों के कारण ऑपरेटिंग सिस्टम (विशेष रूप से आईडीई और एसएटीए डिस्क पर) द्वारा देखी गई ज्यामिति (हेड एक्स सेक्टर एक्स ट्रैक) का सामान्य रूप से इसकी भौतिक संरचना के साथ बहुत कम संबंध है।
RAID पट्टी का आकार
RAID नियंत्रक में स्ट्रिप (उदाहरण के लिए RAID-5 या RAID-10) का उपयोग करके एक सरणी के लिए एक स्ट्राइप आकार हो सकता है। यदि सरणी में (128 मीटर की पट्टी के लिए) एक्सैम्पल है, तो प्रत्येक डिस्क में 128k सन्निहित डेटा होता है, और फिर डेटा का अगला सेट अगली डिस्क पर होता है। आम तौर पर आप डिस्क की प्रति क्रांति लगभग एक पट्टी प्राप्त करने की उम्मीद कर सकते हैं, इसलिए पट्टी का आकार कुछ कार्यभार पर प्रदर्शन को प्रभावित कर सकता है।
विभाजन संरेखण
डिस्क विभाजन एक RAID स्ट्रिप के साथ बिल्कुल संरेखित हो सकता है या नहीं भी हो सकता है, और यदि यह संरेखित नहीं है, तो विभाजन रीड के कारण प्रदर्शन में गिरावट हो सकती है। कुछ सिस्टम (जैसे विंडोज 2008 सर्वर) स्वचालित रूप से डिस्क वॉल्यूम स्ट्राइप आकार के साथ संरेखित करने के लिए विभाजन कॉन्फ़िगर करेंगे। कुछ (जैसे विंडोज 2003 सर्वर) नहीं होगा, और आपको विभाजन उपयोगिता का उपयोग करना होगा जो यह सुनिश्चित करने के लिए स्ट्राइप अलाइनमेंट का समर्थन करता है।
फ़ाइल सिस्टम ब्लॉक का आकार
फ़ाइल सिस्टम एक निश्चित आकार के टुकड़ों में भंडारण के ब्लॉक आवंटित करेगा। आम तौर पर यह विन्यास योग्य है - उदाहरण के लिए NTFS आवंटन इकाइयों (IIRC) 4K से 64K तक का समर्थन करेगा। RAID धारियों के विभाजन और फ़ाइल सिस्टम ब्लॉक का गलत संयोजन कई डिस्क एक्सेस उत्पन्न करने के लिए पढ़े गए एकल फाइल सिस्टम ब्लॉक का कारण बन सकता है जहां केवल एक ही आवश्यक होगा यदि फ़ाइल सिस्टम ब्लॉक RAID धारियों के साथ सही ढंग से संरेखित हो।
डेटाबेस ब्लॉक का आकार
डेटाबेस किसी दिए गए ब्लॉक आकार में टेबल या इंडेक्स में जगह आवंटित करेगा। SQL सर्वर के मामले में यह 8K है, और कई प्रणालियों पर 8K डिफ़ॉल्ट है। Oracle जैसी कुछ प्रणालियों पर, यह विन्यास योग्य है, और PostgreSQL पर यह एक बिल्ड-टाइम विकल्प है। अधिकांश प्रणालियों पर तालिकाओं के लिए स्थान आवंटन आम तौर पर बड़ी मात्रा में किया जाता है, उन खंडों के भीतर आवंटित ब्लॉक के साथ।
फाइलसिस्टम और डेटा आवंटन ब्लॉकों का मिसलिग्न्मेंट एक एकल ब्लॉक लिखने के लिए कई I / Os उत्पन्न कर सकता है, जो एक प्रदर्शन जुर्माना लगा सकता है।
आई / ओ चंकिंग
आम तौर पर एक DBMS वास्तव में अपने I / O को एक से अधिक ब्लॉक के भाग में करेगा। उदाहरण के लिए, SQL सर्वर पर, सभी I / O 8 ब्लॉक, 64k के कुल में किए जाते हैं)। ओरेकल पर यह विन्यास योग्य है। PostgreSQL डॉक्स का आकस्मिक निरीक्षण यह बताता है कि PostgreSQL ऐसा करता है या नहीं, इसलिए मुझे यकीन नहीं है कि यह इस प्लेटफॉर्म पर कैसे काम करता है।
जब I / O चंक फाइल सिस्टम ब्लॉक साइज से बड़ा होता है या RAID स्ट्रिप बाउंड्रीज़ के साथ मिसल किया जाता है, तो DB से लिखी गई डिस्क से मल्टीपल डिस्क लिखने का कारण बन सकता है, जो परफॉर्मेंस पेनल्टी उत्पन्न करता है।
डिस्क स्थान का उपयोग
कोई डिस्क स्थान व्यर्थ नहीं है - डेटाबेस I / O का उपयोग डिस्क पर एक या अधिक भौतिक I / O संचालन को पूरा करने के लिए किया जाएगा - लेकिन गलत तरीके से I / O अक्षमता उत्पन्न कर सकते हैं जो डेटाबेस को धीमा कर देगा। मुख्य चीजें जो संरेखण में होनी चाहिए:
RAID पट्टियाँ और विभाजन - विभाजन एक RAID पट्टी सीमा पर शुरू होना चाहिए।
फाइलसिस्टम I / O आवंटन और छापे पट्टी / विभाजन सीमाएँ - एक RAID स्ट्रिप सीमा एक filesystem आवंटन इकाई के साथ संरेखित होनी चाहिए, और एक से अधिक filesystem आवंटन इकाई आकार होना चाहिए।
डिस्क लेखन आकार और फाइलसिस्टम आवंटन इकाई का आकार। डेटाबेस I / O संचालन और फाइलसिस्टम I / O संचालन के बीच 1: 1 संबंध होना चाहिए।
Misalignment अन्यथा डेटा मौजूद नहीं होने से अधिक डेटा अखंडता समस्या नहीं बनाता है। डेटाबेस और फाइल सिस्टम में तंत्र होता है ताकि यह सुनिश्चित किया जा सके कि फाइल सिस्टम ऑपिरेशंस परमाणु हैं। आम तौर पर एक डिस्क दुर्घटना डेटा हानि लेकिन डेटा अखंडता मुद्दों में परिणाम होगा।