क्या लेनदेन लॉग फ़ाइलों को एक अलग ड्राइव पर रखने के लिए एक प्रदर्शन लाभ है?


9

कई ब्लॉग पोस्ट और सर्वोत्तम अभ्यास लेख हैं जो SQL सर्वर डेटा फ़ाइल को एक हार्ड ड्राइव पर रखने और दूसरे पर लेन-देन लॉग के गुण को बढ़ाते हैं। इसका कारण यह है कि डेटाबेस फ़ाइल यादृच्छिक रीडिंग का सामना कर रही है और लिखती है जबकि लेनदेन लॉग में केवल अनुक्रमिक लेखन होगा।

लेकिन क्या होगा अगर आपके पास सैकड़ों डेटाबेस हैं? क्या एक अलग डिस्क पर सैकड़ों लेनदेन लॉग फ़ाइलों को रखने के लिए एक सच्चा प्रदर्शन लाभ है? यदि एकाधिक लेन-देन लॉग के लिए लिखा जा रहा है, तो मुझे लगता है कि लेन-देन लॉग लिखता सिर्फ उतना ही यादृच्छिक होगा जितना डेटाबेस लिखता है।

जवाबों:


7

सही बात। सिद्धांत रूप में, यदि आपके पास 100s DBs हैं तो आपको 100s ड्राइव की आवश्यकता है, प्रत्येक लॉग के लिए एक। व्यवहार में, हालांकि कोई ऐसे मामले की परवाह नहीं करता है, जब आपके पास 100s DB होते हैं तो आप स्पष्ट रूप से प्रत्येक DB के लिए शीर्ष पायदान TPC प्रदर्शन की उम्मीद नहीं करते हैं । आपके पास उच्च थ्रूपुट और कड़े SLAs के साथ कुछ DBs होने की संभावना है और आप उन्हें प्रत्येक अलग स्पिंडल पर रख सकते हैं, जबकि कई निचले स्तर SLAs कुछ साझा डिस्क पर क्रैम करते हैं।


2

लेन-देन लॉग वास्तव में है कि ... सभी लेनदेन का एक लॉगिंग लॉग। इस तरह यह एक दिशा में लगातार भरता रहता है जब तक कि चेकपॉइंट और ओवरराइट नहीं किया जाता है, या छोटा और ओवरराइट नहीं किया जाता है। अधिलेखित अनुक्रमिक है।

अपनी डेटा फ़ाइलों पर विचार करें। एक ग्राहक रिकॉर्ड में 5 साल पहले का ऑर्डर हो सकता है, और 10 साल पहले का। यदि आप उन आदेशों को हटाते हैं (कहते हैं, तो आप डेटा कहीं और संग्रहित कर रहे हैं), तो वर्तमान स्थिति में आपने 1 हटा दिया है, और क्रम में 2 हटाएं। हालाँकि आपकी डेटा फ़ाइलों में आपने उन ब्लॉक को स्पर्श किया है जो 5 और 10 साल पहले लिखे गए थे।

तो यह निश्चित बात के लिए करता है :)


2

लेन-देन लॉग को एक अलग डिस्क पर रखने से आपको अन्य डेटा / लॉग फ़ाइलों के साथ इसे रखने की तुलना में बेहतर प्रदर्शन मिलेगा। यदि आप सभी लॉग को एक ही डिस्क पर रखते हैं, तो आप वास्तव में अनुक्रमिक IO नहीं कर रहे हैं, लेकिन इन लॉग फ़ाइलों के बीच यादृच्छिक IO।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.