16 नवंबर 2016 को, माइक्रोसॉफ्ट ने SQL सर्वर 2016 मानक संस्करण के लिए कुछ बहुत ही महत्वपूर्ण परिवर्तनों की घोषणा की, जिन्हें में लागू किया गया था SQL सर्वर 2016 सर्विस पैक 1 (बिल्ड 13.0.4001.0)। कई बहुत उपयोगी प्रोग्रामयोग्यता-संबंधी विशेषताएं जो पहले केवल एंटरप्राइज़ संस्करण में उपलब्ध थीं, अब मानक संस्करण (और वेब संस्करण और यहां तक कि एक्सप्रेस संस्करण में भी) में उपलब्ध होंगी।
एक बार जब आपके पास SQL सर्वर 2016 मानक संस्करण सर्विस पैक 1 (या इससे भी कम संस्करण) का उपयोग करने वाला डेटाबेस एप्लिकेशन हो, तो आप सॉकेट के लिए उच्च लाइसेंस सीमाओं का लाभ उठाते हुए और भी अधिक स्केलेबिलिटी और प्रदर्शन प्राप्त करने के लिए एंटरप्राइज़ संस्करण में संस्करण अपग्रेड कर सकते हैं। एंटरप्राइज़ संस्करण में , कोर और मेमोरी, जैसा कि यहां विस्तृत है।
आपको कई अन्य आंतरिक प्रदर्शन लाभ भी मिलेंगे जो एंटरप्राइज़ संस्करण में मौजूद हैं, साथ ही कई प्रबंधनीय सुधार जो आपके जीवन को एक डीबीए के रूप में इतना आसान बनाते हैं।
कॉलमस्टोर इंडेक्स
यदि आप Columnstore अनुक्रमणिका का उपयोग कर रहे हैं, तो जब आप एंटरप्राइज़ संस्करण का उपयोग करते हैं, तो आपको निम्न प्रदर्शन लाभ स्वचालित रूप से प्राप्त होते हैं:
- कुल पुशडाउन: यह प्रदर्शन सुविधा अक्सर स्कैन नोड के लिए क्वालीफाइंग एग्रीगेट्स को धक्का देकर 2X-4X क्वेरी प्रदर्शन लाभ देती है, जिससे उस इटरेटर से निकलने वाली पंक्तियों की संख्या कम हो जाती है।
- सूचकांक निर्माण/पुनर्निर्माण: एंटरप्राइज़ संस्करण एकाधिक प्रोसेसर कोर के साथ कॉलमस्टोर इंडेक्स बना/पुनर्निर्माण कर सकता है, जबकि मानक संस्करण केवल एक प्रोसेसर कोर का उपयोग करता है। आपके हार्डवेयर के आधार पर, इन कार्यों के लिए बीता हुआ समय पर इसका काफी महत्वपूर्ण प्रभाव पड़ता है।
- स्थानीय समुच्चय: एंटरप्राइज़ संस्करण स्थानीय एकत्रीकरण का उपयोग स्कैन नोड से निकलने वाली पंक्तियों की संख्या को फ़िल्टर करने के लिए कर सकता है, जिससे बाद के क्वेरी नोड्स द्वारा किए जाने वाले कार्य की मात्रा कम हो जाती है। आप क्वेरी के लिए निष्पादन योजना के XML में "ActualLocallyAggregatedRows" विशेषता ढूंढकर इसकी पुष्टि कर सकते हैं।
- एकल निर्देश एकाधिक डेटा (SIMD) अनुकूलन: यह सुविधा हार्डवेयर निर्देशों के एक सेट का उपयोग करती है जो एक ही निर्देश में डेटा की एक सरणी को संसाधित करने में सक्षम हैं, नाटकीय रूप से समग्र संचालन को तेज करते हैं। ये हार्डवेयर निर्देश सभी आधुनिक प्रोसेसर (जिनके पास AVX समर्थन है) पर मौजूद हैं, लेकिन इनका उपयोग केवल एंटरप्राइज़ संस्करण द्वारा किया जाता है।
- स्ट्रिंग प्रेडिकेट पुशडाउन: यह प्रदर्शन सुविधा इन विधेय को स्कैन नोड में धकेल कर स्ट्रिंग कॉलम पर विधेय (ओं) का उपयोग करके प्रश्नों के प्रदर्शन में सुधार कर सकती है। यह बाद के नोड्स द्वारा किए जाने वाले काम की मात्रा को बहुत कम कर सकता है।
- समानता की डिग्री: मानक संस्करण पर बैच मोड क्वेरी MAXDOP =2 तक सीमित हैं। एंटरप्राइज़ संस्करण उदाहरण के लिए मौजूद सभी कोर का उपयोग कर सकता है। यह विशिष्ट, आधुनिक सर्वर हार्डवेयर पर बड़ी क्वेरी के लिए बहुत महत्वपूर्ण हो सकता है।
- स्मृति सीमाएं: Columnstore ऑब्जेक्ट पूल मानक संस्करण पर प्रति आवृत्ति 32GB तक सीमित है। एंटरप्राइज़ संस्करण में Columnstore ऑब्जेक्ट पूल के लिए कोई स्मृति सीमा नहीं है।
इन प्रदर्शन अभिकथनों का परीक्षण करने के लिए, मैंने अपने Intel Core i7-6700K वर्कस्टेशन पर Microsoft ContosoRetailDW डेटाबेस पर कुछ काफी सरल परीक्षण चलाए। मेरे पास SQL Server 2016 SP1 के दो नामित इंस्टेंस स्थापित हैं, एक मानक संस्करण का उपयोग कर रहा है, और दूसरा डेवलपर संस्करण (जो एंटरप्राइज़ संस्करण के बराबर है) का उपयोग कर रहा है।
सभी इंस्टेंस-स्तर और डेटाबेस-स्तरीय कॉन्फ़िगरेशन और गुण दो उदाहरणों के बीच समान हैं, और उपयोगकर्ता और tempdb डेटाबेस फ़ाइल स्थान एक ही पर अलग-अलग निर्देशिकाओं में हैं, प्रत्येक उदाहरण के लिए अलग फ्लैश स्टोरेज डिवाइस। दोनों मामलों में डेटाबेस संगतता स्तर को 130 में बदल दिया गया था, और अंतर्निहित विंडोज कॉन्फ़िगरेशन और हार्डवेयर दोनों उदाहरणों के लिए समान है। यहां केवल अंतर प्रत्येक उदाहरण के संस्करण का है।
पहला परीक्षण एक साधारण क्वेरी है (Niko Neugebauer से अनुकूलित) जो SQL Server 2016 को FactOnlineSales तालिका पर कुल पुशडाउन का उपयोग करने की अनुमति देता है। परिणाम तालिका 1 में दिखाए गए हैं।
संस्करण | बीता हुआ समय (ms) |
---|---|
मानक संस्करण | 30 |
डेवलपर संस्करण | 1 |
समय का अंतर | <थ>29|
% सुधार | <थ>96.7%
तालिका 1:कुल पुशडाउन तुलना
अगला परीक्षण यह समय है कि 12.6 मिलियन पंक्ति फैक्टऑनलाइनसेल्स टेबल पर क्लस्टर्ड कॉलमस्टोर इंडेक्स बनाने में कितना समय लगता है। परिणाम तालिका 2 में दिखाए गए हैं।
संस्करण | बीता हुआ समय (ms) |
---|---|
मानक संस्करण | 42,197 |
डेवलपर संस्करण | 14,384 |
समय का अंतर | <थ>27,813|
% सुधार | 65.9% |
तालिका 2:क्लस्टर्ड कॉलमस्टोर इंडेक्स तुलना का निर्माण
अगला परीक्षण यह है कि एक ही फ़ैक्टऑनलाइनसेल्स टेबल पर क्लस्टर्ड कॉलमस्टोर इंडेक्स को फिर से बनाने में कितना समय लगता है। परिणाम तालिका 3 में दिखाए गए हैं।
संस्करण | बीता हुआ समय (ms) |
---|---|
मानक संस्करण | 33,105 |
डेवलपर संस्करण | 11,460 |
समय का अंतर | <थ>21,645|
% सुधार | <थ>65.4%
तालिका 3:संकुलित Columnstore अनुक्रमणिका तुलना का पुनर्निर्माण
अगला परीक्षण एक और सरल क्वेरी है जो SQL सर्वर 2016 को FactOnlineSales तालिका पर स्थानीय एकत्रीकरण का उपयोग करने की अनुमति देता है। परिणाम तालिका 4 में दिखाए गए हैं।
संस्करण | बीता हुआ समय (ms) |
---|---|
मानक संस्करण | 122 |
डेवलपर संस्करण | 83 |
समय का अंतर | <थ>39|
% सुधार | <थ>32.0%
तालिका 4:स्थानीय एकत्रीकरण तुलना
अगला परीक्षण एक और सरल क्वेरी है जो SQL सर्वर 2016 को फ़ैक्टऑनलाइनसेल्स और डिमप्रोमोशन टेबल पर स्ट्रिंग प्रेडिकेट पुशडाउन का उपयोग करने की अनुमति देता है। परिणाम तालिका 5 में दिखाए गए हैं।
संस्करण | बीता हुआ समय (ms) |
---|---|
मानक संस्करण | 2,683 |
डेवलपर संस्करण | 1,221 |
समय का अंतर | <थ>1,466|
% सुधार | <थ>54.6%
तालिका 5:स्ट्रिंग विधेय पुशडाउन तुलना
ये समान हार्डवेयर पर SQL Server 2016 मानक संस्करण की तुलना में SQL Server 2016 एंटरप्राइज़ संस्करण में Columnstore अनुक्रमणिका के लिए अंतर्निहित प्रदर्शन लाभों के कुछ सरल उदाहरण हैं। यदि आप वास्तव में Columnstore अनुक्रमणिका (जो कुछ कार्यभार के लिए एक बहुत प्रभावी विशेषता हो सकती है) में गोता लगाना चाहते हैं, तो आपको निको नेउगेबॉयर की लंबी श्रृंखला के कॉलमस्टोर.नेट पर बुकमार्क और पढ़ना चाहिए।
DBCC CHECKDB प्रदर्शन
SQL सर्वर 2016 एंटरप्राइज़ संस्करण पर मौजूद एक अन्य प्रबंधनीयता प्रदर्शन सुधार DBCC CHECKDB प्रदर्शन है। मानक संस्करण पर, DBCC CHECKDB केवल एक प्रोसेसर कोर का उपयोग करता है, जबकि यह एंटरप्राइज़ संस्करण पर सभी उपलब्ध कोर का उपयोग कर सकता है। यह व्यवहार SQL सर्वर के पिछले संस्करणों से अपरिवर्तित है। SQL सर्वर 2016 आपको उन कोर की संख्या को सीमित करने की अनुमति देता है जिनका उपयोग DBCC CHECKDB एक नए WITH (MAXDOP =x) विकल्प के साथ कर सकता है।
मेरे पास कुछ बड़े डेटाबेस (लगभग 38GB) पर PHYSICAL_ONLY विकल्प के साथ DBCC CHECKDB चलाने से तालिका 6 में दिखाए गए परिणाम प्राप्त हुए।
संस्करण | बीता हुआ समय (ms) |
---|---|
मानक संस्करण | 58,492 |
डेवलपर संस्करण | 24,897 |
समय का अंतर | <थ>33,595|
% सुधार | <थ>57.4%
तालिका 6:PHYSICAL_ONLY तुलना के साथ DBCC CHECKDB
एक ही डेटाबेस पर एक मानक DBCC CHECKDB चलाने से तालिका 7 में दिखाए गए परिणाम मिले।
संस्करण | बीता हुआ समय (ms) |
---|---|
मानक संस्करण | 435,039 |
डेवलपर संस्करण | 119,767 |
समय का अंतर | <थ>315,272|
% सुधार | <थ>72.5%
तालिका 7:DBCC CHECKDB तुलना
DBCC CHECKDB प्रदर्शन में एक बहुत महत्वपूर्ण कारक उन सभी LUN से अनुक्रमिक पठन प्रदर्शन है जहां आपकी डेटाबेस डेटा फ़ाइल स्थित हैं। आप NUL डिवाइस पर बैकअप डेटाबेस कमांड चलाकर आसानी से इसकी जांच कर सकते हैं (COPY_ONLY और NO_COMPRESSION विकल्पों का उपयोग करना सुनिश्चित करें)। यह आपको आपके प्रभावी अनुक्रमिक पठन प्रदर्शन को दिखाएगा, जैसा कि मेरे कार्य केंद्र से इस उदाहरण में दिखाया गया है:
बैकअप डेटाबेस ने 16.115 सेकंड (2447.502 एमबी/सेकंड) में 5048514 पृष्ठों को सफलतापूर्वक संसाधित किया।ध्यान रखें कि यह सभी परीक्षण सिंगल, क्वाड-कोर डेस्कटॉप प्रोसेसर पर किए गए थे। कई और अधिक कुल प्रोसेसर कोर वाला एक मल्टी-सॉकेट सर्वर इनमें से कई परीक्षणों में और भी अधिक प्रदर्शन सुधार दिखाएगा।
इन सबका उद्देश्य केवल SQL सर्वर 2016 मानक संस्करण SP1 से SQL Server 2016 एंटरप्राइज़ संस्करण SP1 में अपग्रेड करके, एक ही हार्डवेयर पर, प्रदर्शन सुधारों के कुछ ठोस उदाहरण दिखाना है, जिससे कोई डेटाबेस या एप्लिकेशन परिवर्तन नहीं होता है। . यह सूची किसी भी तरह से संपूर्ण नहीं है, क्योंकि इसके कई अन्य लाभ भी हैं।