2010-12-09 20 views
32

मैं हेरोकू के साथ इसका उपयोग करने के लिए पोस्टग्रेस्क्ल में कुछ MySQL विशिष्ट कोड को पोर्ट करने में व्यस्त हूं। बस सोच रहा है कि क्या कोई विशिष्ट कारण है कि हेरोकू MySQL पर Postgresql के साथ क्यों गया? प्रदर्शन, वास्तुकला, आदि?Heroku Postgresql का उपयोग क्यों करता है?

अद्यतन: एक Heroku blog post से:

Heroku में, हम PostgreSQL शक्तिशाली सुविधाओं, डेटा अखंडता, गति, मानक अनुपालन, और किसी भी SQL डेटाबेस का ओपन-सोर्स कोड का सबसे अच्छा मिश्रण प्रदान करता है का मानना ​​है ग्रह पर।

+1

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

उत्तर

25

many ways में पोस्टग्रेस mysql से बेहतर है। आप माइक्रोसॉफ्ट से पोस्टग्रेज़ में माइग्रेशन रेल ऐप के बारे में इन पोस्ट को पढ़ सकते हैं। हालांकि mysql more popular पोस्टग्रेज़ की तुलना में है, लेकिन instagram is using पोस्टग्रेस शायद these कारणों से हो सकता है। मुझे लगता है कि पोस्टग्रेस mysql से अधिक परिपक्व और मजबूत है। जबकि mysql उपयोग करने के लिए और अधिक आसान और सरल है।

Migrating MySQL to PostgreSQL in Rails « m i n d l e v

Converting Rails application data from MySQL to PostgreSQL

डेटा स्थानांतरण के लिए, एक आसान छोटे से स्क्रिप्ट: Rake task to transfer a Rails database, say from MySQL to Postgres and back again

+1

लिंक के लिए धन्यवाद। मुझे नहीं लगता कि यह कहने के लिए भी दूरस्थ रूप से सच है कि अधिकांश स्टार्टअप हालांकि mysql पर पोस्टग्रेस चुनते हैं। मैं एक स्टार्टअप पर काम करता हूं जो MySQL (और कैसंड्रा और मैनेशिया) का उपयोग करता है। कई बड़े खिलाड़ी (जैसे याहू! और अमेज़ॅन) भी MySQL का उपयोग करते हैं। – markquezada

+0

हाँ यह सच नहीं है। फेसबुक और ट्विटर शुरुआती दिनों में भी MySQL का उपयोग करता है। –

+0

मेरा बुरा। एक छोटे से शोध के बाद mysql अधिक लोकप्रिय है। मैंने घाटी में 2 स्टार्टअप के लिए काम किया है और दोनों ने पोस्टग्रेज़ का इस्तेमाल किया है। तो, मेरे पक्षपात वहाँ था। उत्तर अपडेट कर रहा है। – zengr

5

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

+0

मैंने सुना है (अनजाने में) कि पोस्टग्रेस भी अधिक ठोस है। मुझे आश्चर्य है कि उन्होंने और क्या निर्णय लिया है। – markquezada

+3

हाँ, यह ठीक है कि मैं इसे कैसे रखूंगा: ठोस। इस पूरे सिस्टम में, दस्तावेज़ शामिल थे, केवल ठोस इंजीनियरिंग की रीक, जबकि MySQL हमेशा अधिक था "एह, यह वेब के लिए काफी अच्छा है"। –

6

आम तौर पर मैं pgsql 24/7 संचालन करने के लिए खुद को उधार देता है mysql की तुलना में बेहतर लगता है बोल। इसके अलावा, ऐसा लगता है कि इसमें कम फुटगन्स बनते हैं। मुझे लगता है कि यदि आप एक या दूसरे से अधिक परिचित हैं, तो यह किसी और चीज से आपके फैसले को प्रभावित करने की अधिक संभावना है।

+4

+1। MySQL बहुत बेहतर है यदि आप सभी सख्तता विकल्पों को चालू करते हैं ताकि यह चुपचाप टाइमस्टैम्प को बढ़ाए या निर्दिष्ट वर्चर लम्बाई से अधिक डेटा को छोटा कर सकें, पोस्टग्रेज़ बस बॉक्स से ठीक से काम करता है। –

11

MySQL gotchas की इस सूची की लंबाई postgresql gotchas की सूची में तुलना करें। MySQL आपको गड़बड़ करने की अधिक संभावना है।

+0

ग्रेट लिंक, धन्यवाद। – markquezada

0

ऊपर सलाह के किसी भी विरोधाभासी नहीं, लेकिन अगर आप वास्तव में चाहते हैं या MySQL के साथ छड़ी की जरूरत है किसी कारण से, मैं हाल ही में देखा है कि Heroku अब पेशकश कर रहा है एक नि: शुल्क MySQL ऐड-ऑन, ClearDB कहा जाता है:

https://addons.heroku.com/cleardb

इसका उपयोग नहीं किया है, इसलिए मैं इसके लिए झुकाव नहीं कर सकता। हेरोोकू मुफ़्त संस्करण के लिए 99.9 5% अपटाइम का दावा करता है (बनाम 100% अपटाइम किसी भी भुगतान संस्करण के लिए दावा किया गया है), और वे मुक्त संस्करण को "उत्पादन तैयार" के रूप में अस्वीकार करते हैं। वे दावा करते हैं कि ClearDB "मूल, अनमोडिफाइड MySQL" है।

0

मैं इस समय अपने ग्राहक के रेल ऐप्स को हेरोोक पोस्टग्रेस्क्ल से माइस्क्ल (ClearDB एडन) में ले जा रहा हूं। PostgreSQL कई तरीकों से एक कठोर और अधिक "सही" डेटाबेस सेवा है, ऐसा प्रतीत होता है कि हेरोोकू इसका समर्थन क्यों करता है। हालांकि, मुझे लगता है कि मतभेदों पर रेल ढांचे में कम या ज्यादा कमी आती है, और अधिकांश रेल एप्स माइस्क्ल के प्रदर्शन के मुद्दों को डीलब्रेकर बनने के लिए काफी बड़ा नहीं होगा।

  • मूल्य:

    दूसरी ओर, PostgreSQL (विशेष रूप से Heroku की पेशकश में) पर एक स्टार्टअप अनुप्रयोग के लिए एक जोड़े को तेज नुकसान है। हरोकू पोस्टग्रेस के साथ काम करते समय साप्ताहिक "डेटाबेस कनेक्शन खो गया" त्रुटियों को रोकने के लिए, आपको $ 200/माह खोलना होगा। ClearDB पर, आपको $ 10/माह योजना के लिए 100% अपटाइम (हमें अभी तक इस दावे का मूल्यांकन करने का मौका नहीं मिला है), जो 1 जीबी स्पेस भी प्रदान करता है - हमें कभी भी आवश्यकता होगी।

  • कॉलम ऑर्डरिंग। रेल विकास करते समय, मैं प्रत्येक 5 मिनट में schema.rb डेटाबेस स्कीमा फ़ाइल का संदर्भ देता हूं, और इस फ़ाइल को साफ और पठनीय रखने के लिए मुझे यह निर्दिष्ट करने में सक्षम होना चाहिए कि ऑर्डर कॉलम को किस क्रम में जोड़ा जाना चाहिए। MySQL कॉलम के क्रम को निर्दिष्ट करने का समर्थन करता है ; PostgreSQL नहीं करता है। कई मामलों में, यह सुविधा महत्वहीन है, लेकिन रेल/ActiveRecord कैसे काम करती है, इसकी वजह से जब मैं स्तंभों को पुन: व्यवस्थित नहीं कर सकता तो मेरा जीवन अधिक कठिन हो जाता है।
संबंधित मुद्दे