2009-09-03 18 views
15

क्या किसी ने इन सभी तीन डेटाबेस का उपयोग किया है? उनके साथ आपके अनुभव क्या हैं? PostgreSQL एक प्रोजेक्ट के लिए बहुत मोहक दिखता है लेकिन मैं इसके बारे में अधिक जानने के लिए उत्सुक हूं (हम एक .NET दुकान हैं)। मैंने डीबी 2 से संतुष्ट होने वाले बहुत से लोगों के बारे में भी सुना है।डीबी 2 बनाम PostgreSQL बनाम SQL सर्वर

उत्तर

5

यदि आप एक .NET दुकान हैं, और या तो एक छोटे डेटाबेस (यानी एसक्यूएल सर्वर एक्सप्रेस) का उपयोग कर रहे हैं, या पूर्ण SQL सर्वर के लिए धन है, तो इसका उपयोग करें। अधिकांश क्रियाओं के लिए SQL सर्वर PostgreSQL से बेहतर प्रदर्शन करेगा, और डीबी 2 के समान होगा।

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

मैंने इन-हाउस प्रदर्शन परीक्षण बनाम अन्य डेटाबेस चलाने के अलावा 10 वर्षों में डीबी 2 का उपयोग नहीं किया है (जहां यह ओरेकल/एसक्यूएल सर्वर के रूप में एक लेनदेन डेटाबेस के लिए समान था, जहां MySQL से बेहतर थे , PostgreSQL, आदि)।

2

यदि आप एक .NET दुकान SQL सर्वर के साथ रहते हैं।

किसी अन्य डेटाबेस प्लेटफार्म का उपयोग करने के लिए गैर-विंडोज़ को सर्वश्रेष्ठ से बाहर निकलने की आवश्यकता होगी। विंडोज़ पर, एसक्यूएल सर्वर राजा है क्योंकि एमएस ओएस और एसक्यूएल सर्वर दोनों (ओरेकल/रेड हैट की तरह) है।

+3

शायद ओरेकल/सन/सोलारिस (सॉफ्टवेयर/हार्डवेयर/ओएस), लेकिन ओरेकल/रेडहाट नहीं, ओरेकल के पास रेडहाट नहीं है। –

+0

@ पास्कल थिवेंट: जब मैंने पोस्ट किया था, ओरेकल के पास सूर्य का स्वामित्व नहीं था। और ओरेकल ने लिनक्स http://www.orafaq.com/wiki/Linux को पसंद किया है। – gbn

+2

तथ्य यह है कि SQL सर्वर केवल विंडोज़ में काम करता है, इसका मतलब यह नहीं है कि यह ओएस पर सबसे अच्छा है। सर्वोत्तम प्रदर्शन देखने के लिए टीपीसी पर एक नज़र डालें, और हम विंडोज़ पर कुछ ओरेकल और डीबी 2 देख सकते हैं। उसी समय ओरेकल AIX में अच्छा चल सकता है, इसलिए आपका मानदंड दृढ़ नहीं है। http://www.tpc.org/tpch/results/tpch_perf_results.asp?resulttype=noncluster&version=2%¤cyID=0 – AngocA

8

डीबी 2 व्यक्ति के रूप में, मैं विंडोज़ के लिए डीबी 2 चलाने और इसके लिए .NET अनुप्रयोगों को विकसित करने के बारे में कुछ विवरण प्रदान कर सकता हूं। वर्तमान संस्करण, 9.7, जून में जारी किया गया था 2009

  • ड्राइवर और किसी भी Windows प्रोग्रामिंग भाषा और आईडीई, नेट और दृश्य स्टूडियो एक्सटेंशन
  • एक नहीं लागत, उत्पादन के लिए तैयार सहित बस के बारे में के लिए एपीआई समर्थन डेटाबेस इंजन (एक्सप्रेस-सी) जिसमें डेटाबेस आकार सीमा नहीं है और ओरेकल एक्सप्रेस और एसक्यूएल सर्वर एक्सप्रेस
  • की तुलना में कम से कम प्रतिबंधित है विंडोज के लिए एक स्व-ट्यूनिंग डेटाबेस इंजन जो स्वचालित रूप से कई मेमोरी बफर का आकार बदलता है जो महत्वपूर्ण हैं अच्छा प्रदर्शन
  • एक्सएमएल के लिए रॉक-ठोस समर्थन देशी डेटाटाइप के रूप में, अपने आप से संभाला गया समर्पित क्वेरी इंजन जो एक्सएमएल की पदानुक्रमित प्रकृति के लिए अनुकूलित है। प्रश्न SQL और XQuery अभिव्यक्तियों के किसी भी संयोजन के साथ एक्सएमएल और टैब्यूलर डेटा के किसी भी संयोजन तक पहुंच सकते हैं
+0

फ्रेड: मेरे ग्राहक एक मशीन के लिए 2 जीबी रैम के साथ जाने के लिए देख रहे हैं। मुझे लगता है कि मौजूदा डीबी 2 एक्सप्रेस सी संस्करण के साथ यह बाधा है? दूसरा, समुदायों में डीबी 2 सहायता SQL सर्वर और ओरेकल की तुलना में इतनी तेज़ी से नहीं आती है। – RKh

+0

डीबी 2 एक्सप्रेस-सी 2 जीबी रैम से अधिक सर्वर पर चला सकता है, लेकिन डीबी 2 इंस्टेंस केवल 2 जीबी उपलब्ध रैम का उपयोग करने में सक्षम होगा। इस सीमा को एफटीएल में अपग्रेड करके दोगुना किया जा सकता है, साथ ही अधिक CPU कोर और प्रतिकृति को स्थानीय या दूरस्थ डीबी 2 डेटाबेस में उपयोग करने की अनुमति भी मिलती है। डीबी 2 में कई क्षेत्रों में एक संपन्न समुदाय है, जिसमें IDUG.org पर डीबी 2-एल मेलिंग सूची और पिछले तकनीकी सम्मेलनों की प्रस्तुतियां शामिल हैं। आईबीएम डेवलपर वर्क्स विशिष्ट सुविधाओं की खोज के लिए एक और उत्कृष्ट संसाधन है जो मैन्युअल पूरी तरह से समझा नहीं सकता है। –

+0

कृपया डीबी 2 LUW में .NET रूटीन का उपयोग करने की क्षमता का उल्लेख करें और मैं आपके उत्तर को ऊपर उठाऊंगा। –

16

मैं एक बहुत बड़े संगठन में काम करता हूं जो मुख्य रूप से लिनक्स (रेड हैट) पर डीबी 2 का उपयोग करता है। हमारे पास कई बड़े डेटाबेस हैं और ओआरकल और एसक्यूएल सर्वर जैसे अन्य आरडीबीएमएस समाधानों में जाने की जांच की है। मैंने एसक्यूएल सर्वर के अंत में बहुत सारे काम किए।

हमने पाया कि SQL सर्वर बहुत बेहतर प्रदर्शन करता है और डीबी 2 की तुलना में कम ट्यूनिंग की आवश्यकता होती है, खासकर जब टेबल 1 एम रिकॉर्ड से बड़ा हो जाता है। कम से कम कहने के लिए एचएडीआर भी मुश्किल और भारी है।

हमें डीबी 2 और एसक्यूएल सर्वर के बीच कई अंतर मिले, और यहां सूचीबद्ध करने के लिए बहुत सारे लोग हैं। मैं एक मंच से दूसरे प्लेटफॉर्म पर कोड रूपांतरण के पीछे बहुत सारी इंजीनियरिंग करने के लिए ज़िम्मेदार था, और यह नहीं कह सकता कि मुझे एसक्यूएल सर्वर से बेहतर होने के लिए डीबी 2 में कुछ भी मिला, लेकिन मुझे कई चीजें मिलीं जो मुझे SQL सर्वर के बारे में बेहतर पसंद आया। यहां मेरे सिर के शीर्ष से कुछ हैं:

  • SQL सर्वर में बेहतर चयन डेटा प्रकार, जैसे पैसा और लघु धन।
  • SQL सर्वर में मिश्रित वर्ण एन्कोडिंग। कुछ कॉलम एएनएसआई और अन्य यूनिकोड (क्रमशः चार और नाचर) हो सकते हैं। डीबी 2 में इसे स्थापित करना न तो सरल और न ही आसान है।
  • एसक्यूएल सर्वर में बेहतर उपकरण, मुख्य रूप से ईटीएल के लिए एसएसआईएस (बेहद मूल्यवान आईबीएम डेटा स्टेज के विपरीत)।
  • एसक्यूएल सर्वर में अधिक क्षमाशील वाक्यविन्यास है। उदाहरण के लिए, आपको हर जगह अर्ध-कॉलन की आवश्यकता नहीं है। शायद सिर्फ एक व्यक्तिगत वरीयता है लेकिन मुझे टी-एसक्यूएल में कोड के लिए यह बहुत आसान लगता है।
  • SQL सर्वर में कई उन्नत सुविधाएं बेहतर काम करने लगती हैं। उदाहरण के लिए, SQL सर्वर आपको पेज-स्तरीय संपीड़न करने देता है, जहां डीबी 2 पंक्ति-स्तर संपीड़न तक सीमित है।
  • यह एसक्यूएल सर्वर आईडीई के साथ धुन एसक्यूएल सर्वर प्रश्नों आसान था

वहाँ अधिक हैं, लेकिन ईमानदारी से मेरा सुझाव है कि किसी को जो एक दूसरे के ऊपर विचार कर रहा है सेट दोनों चाहिए और दोनों के साथ काम कुछ समय बिताने सिस्टम। अभी ऐसा लगता है जैसे SQL सर्वर एक बेहतर समग्र समाधान है, लेकिन डीबी 2 एक दिन ताज ले सकता है।

आखिरकार, डेटा वेयरहाउसिंग, एसक्यूएल, एसएसआईएस और एसएसएएस से निपटने के दौरान इन्फोस्फेयर, डेटास्टेज और डीबी 2 की तुलना में काफी बेहतर समाधान हुआ। मैं उस पर एक श्वेत पत्र लिख सकता हूं, लेकिन मेरा सुझाव यह है कि इसे अपने आप स्थापित करें और एक सप्ताह बिताएं या प्रत्येक समाधान के साथ खेलें। माइक्रोसॉफ्ट का समाधान यहां आईबीएम की तुलना में तेज़ और सस्ता था। मुझे किसी अन्य आधार के बारे में पता नहीं है जिस पर निर्णय लेना है।

प्लेटफ़ॉर्म एक समस्या नहीं होनी चाहिए क्योंकि डेटाबेस आमतौर पर अपनी मशीनों पर चलते हैं, लेकिन हमेशा "कोई माइक्रोसॉफ्ट नहीं होता!" और "कोई लिनक्स नहीं!" दुकानों के आसपास। यह वास्तव में एक शर्म की बात है। मैं एसक्यूएल सर्वर की सिफारिश करता हूँ।

+0

इस चर्चा में जोड़ें - एसक्यूएल सर्वर की तुलना में डीबी 2 प्रबंधन एक शाही पिटा (और मेरा मतलब भूमध्यसागरीय फ्लैटब्रेड नहीं है)। SQLServer के त्रुटि संदेश स्पष्ट हैं, और संचालन करने के लिए सरल हैं। उत्पादन के बैकअप से परीक्षण वातावरण को ताज़ा करने के लिए डीबी 2 बहाली और डीबी 2 रोलफोर्ड कमांड के आर्केन सिंटैक्स को नेविगेट करने की तुलना में छह माउस क्लिक की आवश्यकता होती है। डेटाबेस प्रबंधित करने के लिए लोगों की चल रही लागत की गणना करना याद रखें –

2

प्लेग की तरह माइक्रोसॉफ्ट से बचें। हमेशा विंडोज़ पर PostgreSql का उपयोग करने के लिए धक्का, उदाहरण के लिए अनुप्रयोगों के विकास के लिए बेहतर समर्थन जावा/पायथन और अभी भी .NET में अच्छा समर्थन है। बेशक पूरी तरह से नि: शुल्क है जो SQL सर्वर के लिए वर्तमान लाइसेंस फीस दिया गया है, भले ही आप एक मिलियन डॉलर की कंपनी हो, तब भी स्नीफ नहीं किया जा सकता है।

1 SQL सर्वर लाइसेंस की लागत के लिए आप £ 30,000 ($ 40,000 कहें) या अधिक बचत करने जा रहे हैं - पोस्टग्रेज़ चलाने के लिए बेहतर हार्डवेयर खरीदें और अभी भी शुद्ध लाभ प्राप्त करें।

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

संपादित करें: .NET एकीकरण पर, वास्तव में यह वास्तव में SQL सर्वर में वास्तव में खराब है, इसमें पोस्टग्रेज़/डीबी 2 स्वीकार्य रूप से अधिक सुविधाएं हैं लेकिन यह एसएसआईएस या संग्रहीत प्रक्रियाओं पर वास्तव में बहुत फायदेमंद नहीं है। मैं अपने काम में मुख्य उपयोग केस को सीएलआर। डीएलएल से कक्षाओं और कार्यों तक पहुंचने के रूप में देख सकता था लेकिन फिर आप डेटाबेस में तर्क लागू कर रहे हैं जो आपके लिए एक अच्छा विचार हो सकता है या नहीं।

+1

वास्तव में .NET एकीकरण पर असहमत हैं। मैं डीबी में विश्लेषणात्मक (जोखिम) सीएलआर कार्यों का उपयोग करता हूं, जिसमें कुछ 10 मिलियन पंक्तियों के परिणाम खोजने में 2 सेकंड लगते हैं। ऐसा करने से एसक्यूएल या एसक्यूएल के बाहर मिनटों में लगेंगे। कम्प्यूटेशनल गहन कार्यों के लिए एसक्यूएल के अंदर .NET की प्रदर्शन वृद्धि बहुत बड़ी है। बड़े डेटा एनालिटिक्स एसक्यूएल के लिए मुझे सबसे अच्छा लगता है। – gjvdkamp

संबंधित मुद्दे