Tempdb में फ़ाइलों को जोड़ने के संदर्भ में हॉट स्पॉटिंग क्या है?


12

मैं यह पता लगाने की कोशिश कर रहा हूं कि क्या SQL सर्वर सेवा को पुनरारंभ किए बिना किसी SQL सर्वर में tempdb फ़ाइलों को जोड़ना संभव है। मैंने इसका उत्तर डेटाबेस प्रशासकों के यहाँ देखा:

और एक उत्तर बताता है:

ADD - कोई आउटेज आवश्यक नहीं है। हालाँकि जैसा कि Microsoft से सीन ने बताया, SQL निम्न भरी हुई फ़ाइलों का उपयोग करना पसंद करेगा। यदि आप 1 डेटा फ़ाइल से जा रहे हैं और अधिक जोड़ रहे हैं, तो SQL कुछ समय के लिए नए का उपयोग करेगा, लेकिन आपका प्रदर्शन केवल एक फ़ाइल होने से भी बदतर नहीं होगा। हालाँकि, यदि आपके पास 2+ पहले से है और एक और जोड़ते हैं, तो यह नए पर हॉटस्पॉट करेगा और प्रदर्शन को कम करेगा।

हालाँकि, एक टिप्पणी निम्नलिखित सावधान करती है:

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

उस टिप्पणी के बारे में मेरे पास निम्नलिखित प्रश्न हैं, लेकिन उस प्रश्न के उत्तरों में टिप्पणी के माध्यम से टिप्पणीकार से पूछने के बजाय उन प्रश्नों को मेरे स्वयं के एक नए प्रश्न (यह एक) में पूछने का निर्देश दिया गया था।

विशेष रूप से:

  1. हॉट स्पोटिंग क्या है? (मुझे कुछ जानकारी Google के माध्यम से मिली, लेकिन विस्तार से नहीं कि फाइलों को जोड़ने के बाद tempdb पर हॉटस्पॉटिंग के साथ क्या होता है)
  2. हॉट स्पॉटिंग के बारे में क्या टेम्पर्डब में चीजें बहुत खराब होती हैं?
  3. डीबी में कौन सी विशिष्ट चीजें बहुत खराब हो जाएंगी?

जवाबों:


16
  1. हॉट स्पोटिंग क्या है?

    इस संदर्भ में "हॉट स्पॉटिंग" का अर्थ है कि, भले ही टेंपीडीबी में कई फाइलें हों, लेकिन सभी I / O कार्य एक ही फाइल में किए जा रहे हैं। अगर टेम्पर्डब फाइल जोड़ने को सही ठहराने के लिए पर्याप्त व्यस्त है, तो असंतुलन जो गर्म-स्पॉटिंग ( आनुपातिक भरण के कारण ) होता है , वह अल्पकालिक होगा, इसलिए मुझे लगता है कि चेतावनियां थोड़ी चिकन हो सकती हैं। मेरे अनुभव में, वैसे भी।

  2. हॉट स्पॉटिंग के बारे में क्या टेम्पर्डब में चीजें बहुत खराब होती हैं?

    मुझे लगता है कि इसे tempdb में और भी बुरा माना जाता है क्योंकि यह अधिकांश कार्यभार में लेखन गतिविधि का खामियाजा उठाता है। आप निश्चित रूप से उपयोगकर्ता डेटाबेस में इसी तरह की समस्याओं से पीड़ित हो सकते हैं, लेकिन जब से आप पहले से ही tempdb में एक समस्या को हल करने की कोशिश कर रहे हैं ...

  3. डीबी में कौन सी विशिष्ट चीजें बहुत खराब हो जाएंगी?

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

    पूर्णतः सुनिश्चित करे:


10
  1. हॉट स्पोटिंग क्या है?

हारून सही है और मैं ऊपर बताए गए शब्दों को फिर से नहीं लिखूंगा, हालांकि यह डिस्क आईओ के बारे में नहीं है। TempDB में अधिकांश लोगों के पास मुख्य मुद्दा कुछ ट्रैकिंग संरचनाओं पर विवाद के कारण है।

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

कृपया ध्यान दें कि SQL सर्वर 2019 में कुछ अंतर्निहित सिस्टम टेबल को इन-मेमोरी टेबल में बदलने के लिए विकल्प हैं, जिसमें सुधार हो सकता है क्योंकि इन-मेमोरी ऑब्जेक्ट को डिस्क-बेक्ड टेबल की तुलना में अलग-अलग आवंटित किया जाता है। डिस्क-आधारित टेबल पारंपरिक टेबल हैं जो हम सभी वर्षों से काम कर रहे हैं। SQL सर्वर 2014 ने मेमोरी-ऑप्टिमाइज़्ड टेबल पेश किए । SQL सर्वर 2019 स्मृति-अनुकूलित तालिकाओं में कुछ आवंटन मेटाडेटा को संभाल सकता है।

एक और परिवर्तन SQL सर्वर 2019 में समवर्ती पीएफएस परिवर्तनों के साथ मदद करने के लिए किया गया था, जो कि आम तौर पर आवंटन में स्मृति संरचना के लिए विवाद का PAGELATCH_*इंतजार कर रहे हैं ।

  1. हॉट स्पॉटिंग के बारे में क्या टेम्पर्डब में चीजें बहुत खराब होती हैं?

कुछ भी नहीं IMHO। हां, TempDB में अधिक आइटम हैं जो इसे सीधे उपयोग किए बिना लिख ​​सकते हैं ताकि यह कुछ वस्तुओं में बाधा उत्पन्न कर सके। हालाँकि, डेटा परिवर्तन की दर के संदर्भ में एक बहुत ही व्यस्त उपयोगकर्ता डेटाबेस केवल उतना ही बुरा है। यह सिर्फ TempDB तक सीमित नहीं है।

  1. डीबी में कौन सी विशिष्ट चीजें बहुत खराब हो जाएंगी?

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

हारून ने पहले ही बताया कि पुराने संस्करण में ट्रेस झंडे हैं, ताकि यह सुनिश्चित हो सके कि समान रूप से उपयोग किया जाता है और यह कि फाइलग्रुप में सभी फाइलें एक साथ बढ़ती हैं (आरोन 1117 और 1118 को इंगित करता है जो 2016+ में एनओपी हैं)। दूसरी बात जो मैं फिर से बताना चाहूंगा कि यह सिर्फ टेम्पपडी के लिए नहीं है, बल्कि किसी भी डेटाबेस के लिए है, और भौतिक लेआउट को जरूरतों के आधार पर सोचा जाना चाहिए।

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

आप waitresourceपीएफएस पृष्ठ (जो पृष्ठ 1, और फिर प्रत्येक 8088 पृष्ठों पर) की तलाश में आवंटन संरचना विवाद देख सकते हैं । यदि आप देखते हैं कि सभी एक ही फ़ाइल (2: फ़ाइल: पृष्ठ) में हैं, तो आप जानते हैं कि यह हो रहा है।

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