2008-10-02 7 views
9

मैं अमेज़ॅन की सरल डीबी सेवा का उपयोग करने की व्यवहार्यता में अनुसंधान करना शुरू कर रहा हूं क्योंकि आरओआर आवेदन के लिए डेटास्टोर मैं निर्माण करने की योजना बना रहा हूं। हम वेब सर्वर के लिए ईसी 2 का उपयोग करेंगे, और MySQL सर्वर के लिए ईसी 2 का उपयोग करने की योजना बनाई थी। लेकिन अब सवाल यह है कि क्यों SimpleDB का उपयोग नहीं करते?RoR ऐप के लिए MySQL और अमेज़ॅन के SimpleDB के बीच निर्णय लेने पर आपको क्या विचार करने की आवश्यकता है?

एप्लिकेशन (यदि सफल हो) को समर्थित उपयोगकर्ताओं के # के संदर्भ में बहुत स्केलेबल होने की आवश्यकता है, तो एक सरल और कुशल कोड आधार बनाए रखने की आवश्यकता होगी, और विश्वसनीय होने की आवश्यकता होगी।

मैं इस बारे में उत्सुक हूं कि एसओ समुदायों के विचार इस पर क्या हैं।

+0

मैंने अभी आपके प्रश्न (कुछ हद तक) को संबोधित किया है: http://stackoverflow.com/questions/53693 – rjurney

उत्तर

4

रूबी SimpleDB पुस्तकालय है जरूरत ActiveRecord (डिफ़ॉल्ट रेल डीबी एडाप्टर) के रूप में पूर्ण नहीं है, इसलिए आपके द्वारा उपयोग की जाने वाली कई सुविधाएं वहां नहीं होंगी।

प्लस तरफ यह स्कीमलेस, स्केलेबल और ec2 के साथ अच्छी तरह से काम करता है।

यदि आप अपने ऐप में पूर्ण पाठ खोज जैसी चीजें करने जा रहे हैं तो सरल डीबी सबसे अच्छा विकल्प नहीं हो सकता है, एआर + स्फिंक्स के साथ चिपक सकता है।

4

ठीक है, सरल डीबी पर विचार करने से एसक्यूएल का उपयोग नहीं होता है, या यहां तक ​​कि टेबल भी हैं, इसका मतलब है कि यह MySQL और अन्य SQL- आधारित चीजों (http://aws.amazon.com/simpledb/) से एक पूरी तरह से अलग जानवर है। कोई बाधा नहीं है, ट्रिगर्स, या जुड़ते हैं। सौभाग्य।

यहाँ यह को ठीक और चालू करने का एक तरीका है: http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1242 (http://rubyforge.org/projects/aws-sdb/ के माध्यम से)

मुझे लगता है अगर तुम कभी नहीं रेल के बाहर डेटा क्वेरी करने के लिए की जरूरत करने जा रहे हैं, तो SimpleDB ठीक होने के लिए साबित हो सकता है । लेकिन चूंकि यह प्रथम श्रेणी समर्थित डीबी नहीं है, इसलिए आप उन समस्याओं में भाग लेने की संभावना रखते हैं जिन्हें ठीक करना मुश्किल है। मैं अर्ध-बीटा बैकएंड में उत्पादन रेल ऐप नहीं चलाऊंगा।

+0

मुझे नहीं लगता कि यह इस विषय के लिए कोई मूल्य कैसे जोड़ता है। –

+0

मैं यह स्पष्ट करना चाहता हूं कि मेरी पिछली टिप्पणी "पश्चिम में सबसे तेज बंदूक" पोस्ट के बाद आई थी जहां आपने पहला पैराग्राफ पोस्ट किया था। –

+0

इसका सुंदर धुन विश्वसनीय है, और विश्लेषण के लिए एसक्यूएल डीबी में डेटा खींचने में आसान है। – rjurney

1

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

संपादित करें: यह सच है कि SimpleDB कोई सामान्य सुविधाओं एक "सामान्य" डेटाबेस है, लेकिन यह चाल करना चाहिए अगर आप केवल के खिलाफ काम करने के लिए एक सरल CRUD परत है, जो मेरे मामले

+0

जैसा कि मैं हूं। नहीं कि मैं 100% एडब्ल्यूएस सेवाओं का उपयोग करके इस ऐप को बनाने की कोशिश कर रहा हूं, लेकिन सरल डीबी और एसक्यूएस केवल दो ही उपयोग नहीं कर रहे हैं। मैंने जो पढ़ा है, उससे यदि आप सरल डीबी का उपयोग करने के मार्ग पर जाते हैं, तो एसक्यूएस का उपयोग करना कोई ब्रेनर नहीं है। –

0

SimpleRecord नामक एक लाइब्रेरी है जो ActiveRecord के प्रतिस्थापन में एक बूंद है, लेकिन SimpleDB को इसके बैकएंड डेटा स्टोर के रूप में उपयोग करती है।

2

मेरे लिए यह वास्तव में इन विशिष्ट उपकरणों का उपयोग करने की आवश्यकता के बजाय, "इन दोनों स्वच्छ उपकरण हैं, मुझे उनका उपयोग करके एक परियोजना बनाना चाहिए" जैसा लगता है। शायद मैं सिर्फ क्रैबी हूं लेकिन यह समयपूर्व अनुकूलन के क्लासिक मामले की तरह लगता है। आप एक बाहरी सेवा का उपयोग करने की कोशिश कर रहे हैं जिसने एक ऐप के लिए धन खर्च किया है जो अभी तक लिखा नहीं गया है और आप यह नहीं कहते कि आपको गारंटीकृत दर्शक मिलते हैं या एक जो आवश्यक रूप से उस स्तर पर स्केल करेगा जो उस पर वारंट करता है।

"आवेदन (यदि सफल हो) को # समर्थित उपयोगकर्ताओं के संदर्भ में बहुत स्केलेबल होने की आवश्यकता है, गंभीरता से, जो आधा इंटरनेट का वर्णन करता है। यह "अगर सफल" हिस्सा है जो वास्तव में सवाल है। बस एप्लिकेशन को जल्दी और आसानी से बनाने पर ध्यान केंद्रित करें। ऐसा करने का सबसे आसान तरीका सिर्फ आरओआर का उपयोग करना है क्योंकि यह बोलने के लिए बाहर है। इसे डेटाबेस के साथ जोड़ें, ActiveRecord का उपयोग करें और कुछ बनाया और उपयोगकर्ताओं को आकर्षित करें।

असल में, मैं आगे जाऊंगा और कहूंगा कि EC2 हमेशा सर्वर पर हमेशा महंगा है। स्लाइसहोस्ट या किसी अन्य होस्टेड समाधान पर इसे तैनात करें और फिर मांग को समर्थन देने के लिए आपको ईसी 2 पर ले जाएं।

+0

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

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