क्या मुझे 32-बिट डेटाबेस या 64-बिट डेटाबेस स्थापित करना चाहिए?


16

(मैंने 64-बिट बनाम 32-बिट OS / Apps के बारे में बहुत कुछ पढ़ा है, लेकिन यह सवाल विशेष रूप से डेटाबेस के संबंध में है।)

मैं 32-बिट बनाम 64-बिट डेटाबेस के पेशेवरों और विपक्षों को समझने की कोशिश कर रहा हूं, और अर्थात्, उन शर्तों के तहत जो 64-बिट इंस्टॉलेशन का उपयोग करने के लिए समझ में आता है।

जिन डेटाबेस सिस्टम में मेरी रुचि है, वे हैं: SQL Server 2008, MySQL और PostgreSQL 9.0।

मैंने पढ़ा है कि PostgreSQL के पूर्व 9.0 संस्करण केवल Windows के लिए 32-बिट में आते हैं, और 64-बिट Windows पर 32-बिट PostgreSQL चलाने के बारे में यह लेख मेरे कुछ भ्रम को साफ करता है, लेकिन मैं अधिक जानकारी की तलाश में हूं।

मुझे 64-बिट डेटाबेस (यानी डेटाबेस साइज़ / डिस्क स्पेस, उपलब्ध सिस्टम मेमोरी, डेटा सर्नॉरिटीज के प्रकार जो इसका लाभ लेने के लिए जाने जाते हैं, जो डेटाबेस इंजन का उपयोग किया जा रहा है, आदि) से लाभ होगा?

जवाबों:


20

किन परिस्थितियों में यह 64-बिट इंस्टॉलेशन का उपयोग करने के लिए समझ में आता है।

मुहावरेदार होने के अलावा सभी के तहत। क्षमा करें - 64 बिट सर्वर पर 32 बिट डेटाबेस स्थापित करने में क्या अच्छा होगा? और - कल्पना - SERVER 2008R2 केवल 64 बिट में उपलब्ध है।

वहाँ है - आज - कोई परिदृश्य जहां यह एक 32 बिट SQL सर्वर संस्करण स्थापित करने के लिए समझ में आता है अगर एक मौका है।

डेटाबेस इसमें विशिष्ट हैं - क्योंकि वे आवश्यक होने पर कैश के रूप में बहुत सारी मेमोरी का उपयोग करना चाहते हैं। 2GB / 3Gb की 32 बिट प्रक्रिया की तुलना में बहुत अधिक उन्हें दे सकता है। PAE समान नहीं है। यहां तक ​​कि सीमाओं की अनदेखी करते हुए, पीएई मेमोरी SQL Server it के लिए वास्तविक मेमोरी के बराबर नहीं है (यह केवल एक चीज के लिए उपयोग किया जाता है - कैशिंग पृष्ठों का उपयोग)।

32 बिट ओएस - समान स्तर पर है। यह 32 बिट ओएस स्थापित करने के लिए आधुनिक हार्डवेयर पर कोई मतलब नहीं है।


4
+1 आमीन भाई !!
DaniSQL

6
खैर जहां तक ​​32-बिट OS और एप्स के बारे में, कुछ छोटे फायदे हैं, जैसे कि छोटे मेमोरी फुटप्रिंट।
जॉन जुब

@TomTom: SQL Server 2008 R2 32-बिट (थोड़ा नीचे स्क्रॉल करें) में उपलब्ध है। msdn.microsoft.com/en-us/library/ms143506.aspx
JohnB

1
हाँ, छोटे पदचिह्न। SADLY विशेष रूप से डेटाबेस के लिए जो अप्रासंगिक है। डेटाबेस शब्द नहीं है। यह ज्यादातर इंस्टॉल के तहत डील करता है - बहुत सारे डेटा, इसलिए रैम के बहुत सारे एक्सेस करना समझ में आता है।
टॉमटॉम

1
... एक प्रक्रिया में RAM के 4GB से अधिक होने की संभावना है? आपको पता है कि पूरे बहु-संसाधित सर्वर के लिए कितने SQL सर्वर प्रदान नहीं करते हैं? मैं तर्क नहीं दे रहा हूं कि 64 बिट ओएस, और एसक्यूएल सर्वर होना एक बुरा विचार है, लेकिन मैं कहूंगा कि बहुत सारे कॉन्फ़िगरेशन हैं जहां यह कोई फर्क नहीं पड़ता / बिल्कुल नहीं।
इवान कैरोल

6

PostgreSQL 64-बिट बिल्ड को दो मुख्य तरीकों से लाभान्वित करता है। सबसे पहले, डेटा प्रकार जो 64-बिट्स (बड़े पूर्णांक और टाइमस्टैम्प प्रकार मुख्य रूप से) में फिट हो सकते हैं, पॉइंटर्स का उपयोग करने के बजाय सीधे रजिस्टरों में अधिक कुशलता से पास हो सकते हैं। दूसरा, डेटाबेस के समर्पित बफर कैश के लिए अधिक मेमोरी आवंटित करना संभव है। उस ट्यूनेबल (शेयर्ड_बफर्स) पर कम रिटर्न की बात आमतौर पर 8GB के आसपास होती है, लेकिन यह 32-बिट सिस्टम पर <2GB तक सीमित रहेगा।

हालाँकि, यदि आप विंडोज पर हैं, तो PostgreSQL UNIX-ish प्लेटफ़ॉर्म पर साझा की गई मेमोरी को कुशलता से हैंडल नहीं करता है। ह्रासमान वापसी की बात आम तौर पर डेटाबेस के लिए समर्पित मेमोरी के <= 512MB होने पर समाप्त होती है चाहे आपके पास 32-बिट या 64-बिट का निर्माण PostgreSQL हो। आप डेटाबेस को समर्पित करने के बजाय ऑपरेटिंग सिस्टम कैश के लिए बाकी को छोड़ना बेहतर करेंगे। तदनुसार, विंडोज पर PostgreSQL के साथ 32 से 64 बिट्स तक जाने वाले प्रदर्शन का लाभ वास्तव में नहीं है; आमतौर पर अधिक रैम उपलब्ध होने से लाभान्वित होने वाला मुख्य ट्यून वास्तव में इसका बहुत अच्छा उपयोग नहीं करता है।


1
ध्यान दें कि कुछ लोगों ने work_mem के लिए बहुत बड़े मान सेट करके 64-बिट Windows PostgreSQL से एक लाभ देखने की सूचना दी है, जो सर्वर को मेमोरी में बड़ी मात्रा में डेटा सॉर्ट करने देता है।
ग्रेग स्मिथ

4

मैं 64-बिट आर्किटेक्चर पर MySQL चलाता हूं क्योंकि मैं चाहता हूं कि वे प्रति धागा 4GB से अधिक मेमोरी का कुशलतापूर्वक उपयोग करें। सामान्यतया, यह सभी डेटाबेस पर लागू होना चाहिए।

आर्किटेक्चर के बीच प्राथमिक अंतरों में से एक वृद्धि हुई है संबोधित करने से अधिक मेमोरी हैंडलिंग की अनुमति मिलती है। जबकि इंटेल का भौतिक पता एक्सटेंशन 4GB से अधिक के पते की अनुमति देता है, यह अभी भी प्रति धागे 4GB तक सीमित है। PAE अधिकतम 64GB तक की अनुमति देता है।

विकिपीडिया एक है तुलना बनाम 32 बिट 64-बिट, जो और अधिक निम्न स्तर विवरण शामिल की।


2
यह प्रति प्रक्रिया है, प्रति धागा नहीं। थ्रेड्स समान मेमोरी स्पेस साझा करते हैं।
इवान कैरोल

3

ध्यान दें कि यदि आपके पास केवल 64-बिट MySQL क्लाइंट लाइब्रेरी है, तो आपको 32-बिट कोड के साथ लिंक करने का प्रयास करते समय "गलत आर्किटेक्चर" त्रुटियां मिलेंगी। यह मेरे साथ तब हुआ जब मैंने पायथन बाइंडिंग स्थापित करने की कोशिश की ("पाइप इंस्टॉल मायक्यूसी-पायथन")।

एक 32-बिट MySQL क्लाइंट के साथ 64-बिट MySQL सर्वर का उपयोग कर सकता है और यह शर्म की बात है कि MySQL समुदाय सर्वर में 32-बिट और 64-बिट क्लाइंट लाइब्रेरी संस्करण दोनों शामिल नहीं हैं। सही समाधान अतिरिक्त 32-बिट MySQL क्लाइंट लाइब्रेरी स्थापित करने के लिए है। हालाँकि, MySQL को स्थापित करने का सबसे आसान तरीका MySQL कम्युनिटी सर्वर बाइनरी डाउनलोड लगता है , और यह देखते हुए कि 64-बिट इंस्टॉलर केवल 64-बिट क्लाइंट लाइब्रेरी के साथ आता है, कम से कम प्रतिरोध का रास्ता सिर्फ 32-बिट इंस्टॉलर को डाउनलोड करना है ।

(यह सब मानते हुए कि आप हमेशा बहुत छोटे डेटा सेट का उपयोग करेंगे)


2

इतनी सारी चीजों के लिए, 32 बिट एक जीत है (जब तक आप पता स्थान के साथ रह सकते हैं), लेकिन डीबी एक चीज है जहां छोटे डेटाबेस में भी 64 बिट में वास्तविक वृद्धि हो सकती है। दी, मैं एमएस SQL ​​सर्वर के बारे में एक बात नहीं जानता, लेकिन मैंने बेंचमार्क देखा है (उदाहरण के लिए, एक सन 5 (64 बिट सन डेस्कटॉप), 32 बिट आम ​​तौर पर थोड़ा बहुत तेज था, सिवाय mysql को छोड़कर, जो 30 था 64 बिट में तेजी से%।


2
"इतनी सारी चीजों के लिए, 32 बिट एक जीत है" - उदाहरण ??
क्रिस एस

1
केवल मामला मैं कल्पना कर सकता हूं कि 32 बिट डेटाबेस 64 बिट से अधिक तेज होगा यदि कोड उपयुक्त अनुकूलन के साथ संकलित नहीं किया गया है। जहाँ तक व्यवसाय सॉफ़्टवेयर जाता है, डेटाबेस शायद वह चीज़ हैं जो 64 बिट्स की पेशकश का सबसे अच्छा लाभ उठा सकते हैं।
जॉन गार्डनियर्स

1
खैर, RISC 32> 64 संक्रमण युग में बड़ी संख्या में बेंचमार्क, और कम से कम शुरुआती x86 में बहुत कम दिखाया गया, अगर 64 बिट को कोई लाभ होता है, जब तक कि आपको पता स्थान की आवश्यकता नहीं होती है, और डीबी करते हैं। मैं इसे या तो विश्वास नहीं करना चाहता था, और मैंने आज x86 के लिए शर्त लगाई, 64 बिट हमेशा तेज होता है (सिर्फ इसलिए कि आप उस i32 निर्देश सेट से बच जाते हैं)। जब तक आपकी आंख से खून बहता है, आनंदटेक डॉट कॉम के पास बेंचमार्क हैं। याद रखें: डेटा मुझे दिखाओ।
रोनाल्ड पोटोल

1
बाकी सभी समान हैं, मुख्य नुकसान जो मैं 64-बिट के लिए सोच सकता हूं वह बड़े पॉइंटर्स (64-बिट्स) के साथ है, जो एक बराबर 32-बिट डायनामिक डेटा संरचना (यानी लिंक की गई सूची, पेड़ों) से अधिक कैश मेमोरी स्पेस लेगा ...)। यह उपलब्ध कैश मेमोरी की मात्रा को कम करता है। यह लक्षण मुख्य स्मृति में भी बना रहता है। केवल 64Mb रैम वाला मेरा 64-बिट डेबियन सर्वर अधिक स्वैप का उपयोग करता है और एक समान सेटअप 32-बिट सर्वर की तुलना में कम एप्लिकेशन चलाता है।
सिलेब्रोन

3
@sybreon: मुझे लगता है कि अगर आप की जरूरत है, तो मेरे पास एक पुराना 128mb बिछा हुआ है!
JohnB
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.