उत्पादन डेटाबेस के लिए SQL सर्वर एक्सप्रेस?


14

हम एक दोहरी वेब / आंतरिक लेनदेन एप्लिकेशन को रोल आउट करने वाले हैं जहां प्रत्येक ग्राहक का अपना डेटाबेस है। प्रत्येक डेटाबेस बहुत छोटा है - प्रत्येक 50 एमबी के तहत, इसलिए हम सोच रहे थे कि क्या यह पूर्ण SQL सर्वर के बजाय SQL एक्सप्रेस 2008 का उपयोग करने के लिए समझ में आएगा।

ऐसा लगता है कि बड़े पैमाने पर $ $ $ (छोटे 15K ड्राइव और उपयोग किए गए दोहरे कोर सर्वर दोनों सस्ती हैं) के दौरान डिस्क I / O को सर्वर पर वितरित करने के फायदे हैं। अगर कुछ बिंदु पर हमें बहुत अधिक सर्वरों की आवश्यकता होती है, तो हम SQL सर्वर पर अपग्रेड कर सकते हैं ... लेकिन दर्जनों आंतरिक उपयोगकर्ताओं के साथ यह अभी बहुत महंगा लगता है (विशेषकर चूंकि हमें एक विफलता बॉक्स की आवश्यकता होगी)।

1GB मेमोरी और एक प्रोसेसर पर 4 कोर का उपयोग हमारे छोटे डेटाबेस के आकार को देखते हुए बहुत अधिक प्रतिबंधात्मक नहीं है। हमारे पास कभी भी ~ 200 से अधिक समवर्ती उपयोगकर्ता नहीं होंगे, और अधिकांश ऑपरेशन अधिक लेन-देन वाले होंगे (जो कि भारी रैम / सीपीयू पर सही उच्च गति डिस्क के पक्ष में लगता है?)

क्या मुझे एसक्यूएल सर्वर स्टैंडर्ड के किसी भी फायदे की कमी है जो शुरू में अतिरिक्त $ 5-20K निवेश को सही ठहरा सकता है?

जवाबों:


17

SQL सर्वर के अन्य संस्करणों में आपको SQL एजेंट जैसी चीजें मिलती हैं ताकि आप डेटाबेस रखरखाव और अन्य नौकरियों को शेड्यूल कर सकें।

जब तक आपका डेटाबेस एक्सप्रेस संस्करण की सीमा के साथ फिट हो सकता है तब तक आप ठीक रहेंगे।

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

यदि आप एक्सप्रेस संस्करण से शुरू करते हैं, तो लाइसेंस खरीदने के बाद आप हमेशा बाद में मानक संस्करण में अपग्रेड कर सकते हैं।


+1 उस प्रतिक्रिया में कुछ और नहीं जोड़ सकता
निक कवादिस

मुझे नहीं लगता कि वर्कग्रुप और वेब संस्करण लाइसेंस का उपयोग बाहरी होस्ट किए गए व्यावसायिक ऐप के लिए किया जा सकता है।
आकाश काव

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

मेरा यह भी सुझाव है कि एक्सप्रेस के ऊपर से कुछ शुरू करें, और एक्सप्रेस से किसी अन्य संस्करण में जाना कभी-कभी मुश्किल हो सकता है।
DanBig

3
एसक्यूएल एक्सप्रेस अन्य संस्करणों के समान सटीक इंजन है, बस जगह में आकार सीमा के साथ। एक्सप्रेस से दूसरे संस्करण में जाना बस एक्सप्रेस संस्करण से डेटाबेस को अलग करने और इसे दूसरे उदाहरण में संलग्न करने का मामला है जो दूसरे संस्करण को चला रहा है।
मन्देनी

15

कुछ उत्पादन मुद्दे और वर्कअराउंड जो मैंने एक्सप्रेस संस्करण के साथ लिए हैं:

अनुसूचित बैकअप

लघु उद्योगों

रूपरेखा


2
  1. यदि आप SQL सर्वर लाइसेंस पढ़ते हैं, तो आपको निष्क्रिय सर्वर के लिए अतिरिक्त लाइसेंस खरीदने की आवश्यकता नहीं है यदि इसका पूरी तरह से विफलता के लिए उपयोग किया जाता है और यह आपके पहले सर्वर के विफल होने तक प्रश्नों की सेवा नहीं करता है।

  2. हमने काफी लंबे समय तक SQL सर्वर एक्सप्रेस का उपयोग किया है, और इसका अच्छा और बहुत बेहतर है, तो पहले MSDE, हमारे पास तब 200 से अधिक सिमुलैनेट कनेक्शन हैं, लेकिन हमारे पास केवल 2GB आकार का एक डेटाबेस है, और सब कुछ सुचारू है। हमें कभी कोई समस्या नहीं हुई, बशर्ते कि हम महँगे जोड़ से बचें और हम अच्छी अनुक्रमण करें। अब हम SQL मानक का उपयोग कर रहे हैं, लेकिन जब तक आपके डेटाबेस का आकार अधिक नहीं है तब तक 4GB और आपके उपयोगकर्ताओं की संख्या कम है तो 200-500, आप निश्चित रूप से SQL एक्सप्रेस के साथ रह सकते हैं।

  3. SQL सर्वर एक्सप्रेस बहुत कम मेमोरी फ़ुटप्रिंट ~ 200MB का उपयोग करता है जहाँ मानक संस्करण ~ 1.5GB का उपयोग करता है, शायद इसलिए मानक संस्करण बहुत सारे कैशिंग करेगा। आपके प्रश्नों को मानक संस्करण की तुलना में कुछ मिलीसेकंड में एक्सप्रेस में धीमा किया जाएगा। दुर्भाग्य से एक्सप्रेस संस्करण बहु कोर सीपीयू (सीमित सुविधा) का उपयोग नहीं करता है, इसलिए यह आपके लिए 2 कोर या 4 कोर से बहुत मदद नहीं करेगा।


मुझे लगा कि SSE 2008 में मल्टी-कोर (4 तक) का उपयोग किया गया है?
बीप बीप

@LuckyLindy मानक 4 सॉकेट का उपयोग करेगा, आपके पास सॉकेट प्रति कई कोर के साथ।
मर्डेनी

"लेकिन जब तक आपके डेटाबेस का आकार अधिक होता है तब तक 4GB" 4GB प्रति एक उदाहरण पर प्रतिबंध है। मुझे याद नहीं है कि प्रयुक्त उदाहरणों की संख्या पर प्रतिबंध है
Gennady Vanin Геннадий Ванин

2

LuckyLindy - मैं आपको सिर्फ एक सेकंड के लिए रुकने के लिए प्रोत्साहित करूँगा और सत्यापित करूँगा कि आपको SQL एजेंट की आवश्यकता नहीं है। आप ने लिखा:

हम एक दोहरी वेब / आंतरिक लेनदेन एप्लिकेशन को रोल आउट करने वाले हैं जहां प्रत्येक ग्राहक का अपना डेटाबेस है। प्रत्येक डेटाबेस बहुत छोटा है - प्रत्येक 50 एमबी के तहत, इसलिए हम सोच रहे थे कि क्या यह पूर्ण SQL सर्वर के बजाय SQL एक्सप्रेस 2008 का उपयोग करने के लिए समझ में आएगा।

बैकअप के लिए आपकी क्या योजना है? आपको SQL एजेंट का उपयोग करने की आवश्यकता नहीं है, लेकिन यह सुनिश्चित करता है कि DBA का जीवन आसान हो जाए। आप T-SQL / SMO / PowerShell / जो भी स्क्रिप्ट आपके बैकअप करते हैं और फिर अनुसूचित शेड्यूल का उपयोग करके sqlcmd या PowerShell के माध्यम से निष्पादित कर सकते हैं।

डेटाबेस रखरखाव के लिए आपकी क्या योजना है? समय के साथ, उन डेटाबेस को अलग-थलग कर दिया जाएगा और स्थिरता के लिए जाँच की जाएगी। मानक संस्करण में यह आसान बनाने के लिए सभी प्रकार के उपहार हैं, जबकि एक्सप्रेस में, आपको काम करना होगा (फिर से स्क्रिप्टिंग और निर्धारित कार्यों के साथ)।

आपको सर्वर पर समस्याओं के बारे में कैसे सूचित किया जाएगा? जब कोई लॉग पूरा हो रहा है, तो आपको सूचित करने के लिए एजेंट अलर्ट के साथ यहां मदद करता है, एक डिस्क भर रहा है, आदि।


ये महत्वपूर्ण SQL सर्वर DBA- प्रकार के कार्य हैं। इन-हाउस ऐप के लिए एक्सप्रेस को चलाना एक बात है लेकिन एक बार जब आप हमें बताना शुरू करते हैं कि आप क्लाइंट्स के लिए ये होस्ट कर रहे हैं, तो मैं चिंतित हो जाता हूं :)


इसका भाग 2 आपसे पूछ रहा है कि आप कितने ग्राहकों को इस पर समर्थन देने की योजना बना रहे हैं - दोनों लॉन्च और एक साल बाद? यदि आप कहते हैं, "100 ग्राहक", तो 100 50MB डेटाबेस एक्सप्रेस पर पर्याप्त नहीं होंगे - आपके पास पर्याप्त मेमोरी नहीं है। हेक - आपके पास कितना डेल्टा है, इसके आधार पर, आप अधिकतम 15 DB कर सकते हैं, मुझे नहीं पता।

हमारे पास कभी भी ~ 200 से अधिक समवर्ती उपयोगकर्ता नहीं होंगे, और अधिकांश ऑपरेशन अधिक लेन-देन वाले होंगे (जो कि भारी रैम / सीपीयू पर सही उच्च गति डिस्क के पक्ष में लगता है?)

लेन-देन के संचालन जैसे INSERTs को अभी भी मेमोरी में लिखा जाता है, इसलिए यह उम्मीद न करें कि आपको कम मेमोरी सपोर्ट की आवश्यकता है। वास्तव में, आप कितने INSERT करते हैं, इस पर निर्भर करते हुए, आपके पास उपयोगकर्ताओं की संख्या के साथ अधिक से अधिक मेमोरी की आवश्यकता हो सकती है। यदि आप बहुत सारे डेटा लोड कर रहे हैं जो लोग वास्तव में उपयोग नहीं कर रहे हैं तो यह अभी भी मेमोरी पर कब्जा कर लेता है। आप "डेटा जिसे उपयोगकर्ता बार-बार क्वेरी कर रहे हैं" और "डेटा जो उपयोगकर्ता लोड कर रहे हैं कि कोई भी थोड़ी देर के लिए क्वेरी नहीं करेगा" के बीच विवाद मुद्दों में चल सकता है। SQL डेटा को संरक्षित करके हमें बचाता है लोग स्मृति में अधिक बार क्वेरी कर रहे हैं लेकिन आपके पास अभी भी विवाद होगा।

इस बिंदु पर, मैं योग्य लय कर रहा हूँ। और 200 समवर्ती उपयोगकर्ता मेरे साथ एक्सप्रेस के लिए या तो जिब नहीं करते हैं। मान लीजिए कि 64k औसत कनेक्शन मेमोरी की आवश्यकता है, आपके ऐप्स कितने कनेक्शन बनाएंगे? क्या आप कनेक्शन पूलिंग का उपयोग करेंगे?

सब सब में, आपके विवरण को पढ़ने से मेरी आंत का कहना है, "नहीं - एक्सप्रेस संस्करण अभी पर्याप्त शक्तिशाली नहीं है।" और मुझे वर्कग्रुप संस्करण से नफरत है - लगता है कि यह एक बुरा सौदा है - इसलिए स्टैंडर्ड मुझे सही लगता है।


2
स्कॉट - शानदार जवाब। आपकी बात के लिए ... SQL Server Express में वास्तव में डेटाबेस में कोई संग्रहण आकार सीमा नहीं है, आपके पास 4GB से अधिक डेटा वाला एक डेटाबेस नहीं हो सकता है। परीक्षण के रूप में मैंने एक सर्वर पर 10,000 100MB डेटाबेस (1TB) बनाए, और SQL सर्वर एक्सप्रेस ठीक चला। साथ ही, प्रत्येक कनेक्शन से संबंधित मेमोरी को 1GB कुल की ओर नहीं गिना जाता है। मैं इस बात से सहमत हूं कि इन सभी डेटाबेसों का प्रबंधन करना थोड़ा कष्टदायक हो सकता है ... लेकिन चूंकि हमारे पास वास्तव में डेटाबेसों की अधिकता होगी, इसलिए हमें वैसे भी स्क्रिप्ट की आवश्यकता होगी (ऐसा कोई तरीका नहीं है जब तक कि मैं डेटाबेस को मैन्युअल रूप से स्पर्श नहीं करना चाहता जब तक कि यह बन न जाए। भ्रष्ट)।
बीप बीप

+1, मैं मानता हूं कि यह जीआर 8 जवाब था लेकिन मैंने इसे भी उखाड़ फेंका
गेन्नेडी वेनिन गैंगैनहैफ्टन ऑनेस्टेक

1

क्या आपने मुफ्त DBMS (MySQL, PostreSQL ...) में से एक का उपयोग करने पर विचार किया है? यह आपके लाइसेंस की चिंताओं को कम करेगा?

यदि वह विकल्प नहीं है, तो SQL सर्वर एक्सप्रेस एक अच्छा समाधान लगता है।


2
हमने वास्तव में पिछले साल सभी प्रमुख डेटाबेस के खिलाफ प्रदर्शन परीक्षण चलाए - MySQL, PostgreSQL, Firebird, DB2, Oracle, SQL Server, SQL Server Express और SQL Desktop। हमने पाया कि डीबी 2, ओरेकल और एसक्यूएल सर्वर (और एक्सप्रेस, लेकिन डेस्कटॉप नहीं) ने हमारे ट्रांसेक्शनल ऑपरेशंस के लिए विंडोज पर MySQL और PostgreSQL को उड़ा दिया - 2. के कारक द्वारा 2. 1/2 प्रदर्शन का मतलब है सर्वरों का # दो बार। जब लिनक्स पर होस्ट किया जाता है, तो MySQL और PostgreSQL ने थोड़ा बेहतर किया, लेकिन अभी भी बराबर नहीं है।
बीप बीप

1

यह निश्चित रूप से महत्वपूर्ण उत्पादन अनुप्रयोगों के लिए इस्तेमाल किया जा सकता है। हमने हर दिन लाखों लेनदेन करने के लिए अलग-अलग SQL सर्वर एक्सप्रेस इंस्टेंसेस के साथ 1500 से अधिक हेल्थकेयर क्लीनिकों में इसका उपयोग किया है। आप निम्न में से किसी एक का उपयोग करके आसानी से SQL सर्वर एजेंट नुकसान के आसपास पहुँच सकते हैं:

  1. तीसरे पक्ष के उत्पाद जैसे SQLAutomate
  2. विंडोज टास्क शेड्यूलर
  3. 1 और 2 स्थापित मास्टर सर्वर क्षमता के साथ SQL सर्वर का एक मानक या एंटरप्राइज़ संस्करण बहुत कम लागत या मुफ़्त है। 3 महंगा है जब तक कि आपके पास पहले से ही यह आपके वातावरण में उपलब्ध न हो।

"उत्पादन में SQL सर्वर एक्सप्रेस का उपयोग करना" पर माइकल ओटीई की उत्कृष्ट प्रस्तुति (इसे Google) देखें।


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