2010-11-24 6 views
7

हम अपने क्लाइंट को लेनदेन लॉग फ़ाइल (एलडीएफ) की तुलना में एक अलग भौतिक ड्राइव पर SQL सर्वर डेटाबेस फ़ाइल (एमडीएफ) डालने के लिए कह रहे हैं। तकनीकी कंपनी (हमारे ग्राहक द्वारा किराए पर लिया गया) लेनदेन लॉग को डेटाबेस ड्राइव की तुलना में धीमे (उदा। सस्ता) ड्राइव पर रखना चाहता था, क्योंकि लेनदेन लॉग के साथ, आप केवल अनुक्रमिक रूप से लॉग फ़ाइल को लिख रहे हैं।क्या लेनदेन लॉग ड्राइव को डेटाबेस ड्राइव जितना तेज़ होना चाहिए?

मैंने उनसे कहा कि मैंने सोचा था कि ड्राइव (वास्तव में एक RAID कॉन्फ़िगरेशन) को एक तेज ड्राइव पर भी होना आवश्यक है, क्योंकि प्रत्येक डेटा को डेटाबेस में कॉल करने की आवश्यकता है, साथ ही डाटाबेस के लिए भी सहेजा जाना चाहिए ।

यह कहने के बाद कि, मुझे एहसास हुआ कि मुझे इसके बारे में पूरी तरह से यकीन नहीं था। लेनदेन लॉग ड्राइव की गति प्रदर्शन में एक महत्वपूर्ण अंतर बनाती है ... यदि डेटाबेस के साथ ड्राइव तेज है?

उत्तर

4

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

  • डेटा अपडेट आलसी से लिखे गए हैं और चेकपॉइंट पर फंस गए हैं। इसका मतलब है कि एक अद्यतन कील औसत ड्राइव throughput
  • कई अद्यतन एक ही पृष्ठ पर संचित कर सकते हैं भर में परिशोधित किया जा सकता है और इस तरह एक ही लिखने की आवश्यकता होगी

तो आप सही है कि लॉग प्रवाह क्षमता महत्वपूर्ण है कर रहे हैं।

लेकिन साथ ही, लॉग लिखने में अनुक्रमिक लिखने का एक विशिष्ट पैटर्न होता है: लॉग हमेशा अंत में संलग्न होता है।अनुक्रमिक संचालन के लिए, दोनों यांत्रिक ड्राइवों में बहुत अधिक थ्रूपुट होता है, क्योंकि दोनों डिस्क हेड के कम भौतिक आंदोलन को शामिल करते हैं। तो यह भी सच है कि आपके ओप लोग क्या कहते हैं कि एक धीमी ड्राइव वास्तव में पर्याप्त थ्रूपुट की पेशकश कर सकती है।

लेकिन इन सभी कुछ बड़े चेतावनी के साथ आते हैं:

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

+1: एसक्यूएल घटकों के बारे में एक महान बिंदु जो लेनदेन लॉग को "पढ़ता है" क्योंकि यह अक्सर देखा जाता है। –

+0

धन्यवाद, आपकी जानकारी (अन्य प्रतिक्रियाओं के साथ) चीजों को साफ़ करती है। हमारे पास इस ड्राइव पर एक से अधिक लॉग होंगे - हालांकि अब तक कोई सबसे अधिक लेनदेन वाला ट्रैफिक होगा। नियमित लेनदेन लॉग बैकअप भी होंगे। मुझे लगता है कि एक तेज ड्राइव सबसे सुरक्षित शर्त है। – Clinemi

+0

आप तैनाती से पहले विभिन्न कॉन्फ़िगरेशन का परीक्षण करने के लिए हमेशा SQLIOSIM.EXE का उपयोग कर सकते हैं: http://support.microsoft.com/kb/231619 –

2

सरल शब्दों में, यदि आप किसी ओएलटीपी डेटाबेस के बारे में बात कर रहे हैं, तो आपका थ्रूपुट लेनदेन लॉग में आपके लिखने की गति से निर्धारित होता है। एक बार यह प्रदर्शन छत हिट हो जाने के बाद, अन्य सभी आश्रित कार्यों को पूरा करने के लिए लॉग पर प्रतिबद्धता पर प्रतीक्षा करनी चाहिए।

यह लेनदेन लॉग के आंतरिक पर एक बहुत ही सरल लेना है, जिसमें पूरी किताबें समर्पित हैं, लेकिन प्राथमिक बिंदु बनी हुई है।

अब यदि आप जिस स्टोरेज सिस्टम के साथ काम कर रहे हैं, वह आईओपीएस प्रदान कर सकता है जिसे आपको अपने लेनदेन लॉग और डाटाबेस डेटा फ़ाइलों दोनों को एक साथ समर्थन करने की आवश्यकता है तो एक साझा ड्राइव/एलयूएन आपकी आवश्यकताओं के लिए पर्याप्त रूप से प्रदान करेगा।

आपको एक विशिष्ट अनुशंसित पाठ्यक्रम प्रदान करने के लिए मुझे आपके डेटाबेस वर्कलोड और प्रदर्शन के लिए आपके डेटाबेस सर्वर की आवश्यकता के बारे में अधिक जानकारी होगी।

SQL सर्वर लेनदेन लॉग के आंतरिक में पूरी तरह से देखने के लिए SQL Server 2008 Internals शीर्षक पर अपना हाथ प्राप्त करें, यह वहां के सर्वोत्तम SQL सर्वर शीर्षकों में से एक है और यह आपके द्वारा प्राप्त मूल्य से मिनटों में ही भुगतान करेगा पढ़ने।

+0

+1: कालेन डेलाने की पुस्तक (रों) * है * स्रोत सभी विवरण के लिए जाने के लिए। –

+0

जानकारी के लिए धन्यवाद! – Clinemi

+0

@ क्लाइनमी: आपका स्वागत है और आपकी परियोजना के साथ शुभकामनाएँ! –

0

ठीक है, लेनदेन लॉग मुख्य संरचना है जो एसीआईडी ​​प्रदान करती है, प्रदर्शन के लिए एक बड़ी बाधा हो सकती है, और यदि आप नियमित रूप से बैकअप करते हैं तो इसकी आवश्यक जगह की ऊपरी सीमा होती है, इसलिए मैं इसे एक सुरक्षित, तेज़ ड्राइव में रखूंगा बस पर्याप्त जगह के साथ + मार्जिन का थोड़ा सा।

0

लेनदेन लॉग सबसे तेज ड्राइव पर होना चाहिए, अगर यह लॉग में लिखने को पूरा कर सकता है तो यह स्मृति में शेष लेनदेन कर सकता है और बाद में डिस्क को हिट कर सकता है।

संबंधित मुद्दे