लिंक्ड SQL सर्वर से मुझे कौन सी बड़ी सीमाएं चाहिए?


9

हमारा उत्पाद Microsoft SQL सर्वर पर आधारित है। वर्तमान में, हम तीन डेटाबेस का उपयोग कर रहे हैं, और उन्हें हमेशा एक SQL सर्वर इंस्टेंस पर तैनात किया है।

तीन डेटाबेस ओएलटीपी, ओएलएपी और ऑडिट हैं। OLAP डेटाबेस में क्रॉस डेटाबेस क्वेरीज़ का उपयोग करते हुए OLTP और ऑडिट दोनों से EOD पर बड़े पैमाने पर इनबाउंड डेटा है।

प्रशन

अगर हम एक ही भौतिक सर्वर के अंदर तीन अलग-अलग मानक संस्करण इंस्टेंस पर इन तीन डेटाबेसों को तैनात करने के लिए थे , और SQL सर्वर के लिंक्ड सर्वर सुविधा का उपयोग करके उन्हें एक साथ बाँधते हैं:

  1. आवेदन कोड कितना पारदर्शी होगा? मुझे कितने बदलाव की उम्मीद करनी चाहिए?
  2. OLAP में इनबाउंड डेटा 50k-100k पंक्तियों में, प्रति ईओडी 200-500MB पेलोड। मुझे कितना प्रदर्शन छोड़ना चाहिए?
  3. मुझे किन अन्य बड़ी सीमाओं की उम्मीद करनी चाहिए?

पृष्ठभूमि

वर्तमान में हम अपने संभावित पहले ग्राहक को 500+ समवर्ती उपयोगकर्ताओं के साथ पिच कर रहे हैं।

हम एक सर्वर युक्ति का मसौदा तैयार कर रहे हैं, जिसमें 64 कोर और 256GB रैम शामिल हैं। SQL सर्वर उन सभी प्रचुर संसाधनों का उपयोग करने के लिए, क्लाइंट को एंटरप्राइज़ संस्करण खरीदना होगा, जो SQL सर्वर 2016 के लिए केवल प्रति-कोर आधारित लाइसेंसिंग में उपलब्ध है।

हमें डर है कि लाइसेंसिंग लागत अकेले (64 x $ 7400) उन्हें नीचे रख देगी। इसलिए मैं मानक संस्करण के तीन उदाहरणों में डेटाबेस को विभाजित करने के बारे में सोच रहा हूं, और उन्हें एक साथ जोड़ा है, उम्मीद है कि लिंक कोड एप्लिकेशन कोड से पारदर्शी होगा।

जवाबों:


14

आवेदन कोड कितना पारदर्शी होगा? मुझे कितने बदलाव की उम्मीद करनी चाहिए?

पारदर्शी बिल्कुल नहीं। बड़े बदलाव की उम्मीद है।

आपको बहुत अधिक प्रदर्शन गिरावट के लिए तैयार रहना चाहिए।

वितरित क्वेरी (लिंक किए गए सर्वरों के लिए ढांचा) एक सामान्य ओएलईडी मॉडल का उपयोग करता है जो दूसरे छोर पर सर्वर होता है। यह सही है कि SQL सर्वर लक्ष्य अधिक पूर्ण जानकारी (मेटाडेटा, आँकड़े इत्यादि) प्रदान करने में सक्षम हो सकता है, लेकिन इसका परिणाम अभी भी उतना ही निकट है जितना कि मूल क्रॉस-डेटाबेस ऑपरेशन के रूप में कसकर एकीकृत या सक्षम होना चाहिए।

सुदूर प्रदर्शन और ऑप्टिमाइज़र द्वारा खराब योजना विकल्पों के लिए दूरस्थ प्रश्नों की एक योग्य प्रतिष्ठा है। डेटा (डिलीट, इंसर्ट, अपडेट, मर्ज) बदलने वाले स्टेट्स विशेष रूप से प्रवण होते हैं क्योंकि मूल मॉडल अक्सर एक कर्सर का होता है।


यदि आपको कभी भी तदर्थ क्रॉस-इंस्टॉलेशन क्वेरी करने की आवश्यकता नहीं है , तो आप स्वीकार्य प्रदर्शन के लिए प्रत्येक संग्रहीत क्वेरी को हाथ से ट्यून करने में सक्षम हो सकते हैं, लेकिन यह बहुत काम है, और सफलता की कोई गारंटी नहीं है।

पार उदाहरण थोक संचालन के लिए, आप ज्यादा वास्तविक थोक आपरेशनों का उपयोग कर बंद बेहतर होगा ( bcp, BULK INSERTजुड़ा हुआ सर्वर का उपयोग करने से उदाहरणों के बीच, लघु उद्योगों ... आदि।)।


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

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