2010-03-04 18 views
32

मैं एक ऐसे प्रोजेक्ट पर काम कर रहा हूं जो डेटाबेस के रूप में कैसंद्रा का उपयोग करने पर विचार कर रहा है। हम अंततः कैसंद्रा में माइग्रेट करना चाहते हैं भले ही हम MySQL का उपयोग शुरू करने के लिए शुरू करें, इसकी स्केलेबिलिटी के साथ। मुझे पता है कि फेसबुक, डिग, और हाल ही में ट्विटर जैसी बड़ी कंपनियां कैसंद्रा का उपयोग कर रही हैं, लेकिन मुझे विश्वास नहीं है कि इनमें से किसी भी साइट रेल से बाहर है। मेरा सवाल यह है कि रेल पर रुबी का उपयोग करके कैसंद्रा का उपयोग करना संभव है या नहीं। विचार करने के लिए अंक:क्या कैसंद्रा उत्पादन रेल पर रूबी के लिए तैयार है?

  1. हम औथ्लोगिक मणि पर भरोसा करते हैं। कैसंद्रा में स्विच करने से यह प्रभावित होता है कि यह कैसे काम करता है?
  2. क्या कैसंद्रा के लिए कोई परिपक्व रूबी ग्राहक हैं? गिथब को देखते हुए ऐसा लगता है कि fauna's client (now twitters's client) सबसे परिपक्व है। क्या किसी के पास इसका उत्पादन अनुभव है?

किसी भी सुझाव की सराहना करें।

+3

हां, लेकिन यह नहीं मानें कि वे कंपनियां सबकुछ के लिए कैसंद्रा का उपयोग कर रही हैं। उदाहरण के लिए फेसबुक में एक विशाल MySQL परिनियोजन है, और ट्विटर MySQL में अपनी सभी ट्वीट्स संग्रहीत करता है। अपने विशिष्ट उपयोग मामलों पर विचार करें। –

+0

मैं कहूंगा कि रूबी कैसंद्रा के लिए पर्याप्त परिपक्व नहीं है। –

उत्तर

16

ट्विटर अपने अधिकांश फ्रंट एंड पर रेल चल रहा है। Fauna का क्लाइंट वास्तव में ट्विटर द्वारा बनाया और जारी किया जाता है, इसलिए आप बहुत निश्चित हो सकते हैं कि यह बड़े वर्कलोड पर अद्यतित और स्थिर है। कामों के इतिहास को देखते हुए पता चलता है कि इसमें लगातार सुधार किए जा रहे हैं, जो कि बहुत अच्छा है।

सबसे अधिक संभावना है कि ऑथलॉगिक को कैसंद्रा के साथ ठीक से काम करने के लिए अनुकूलित करने की आवश्यकता होगी। विशेष रूप से, यह नाम_स्कोप और संबंधपरक डेटा के आधार पर कुछ विधियां प्रदान करता प्रतीत होता है।

ऐसा लगता है कि किसी ने एथलॉगिक में डेटामैपर समर्थन के लिए एक प्लगइन बनाया है: http://twitter.com/collintmiller/statuses/2064046718। आप इसे कैसंद्रा के साथ संगत बनाने के लिए प्रारंभिक बिंदु के रूप में उपयोग करने में सक्षम हो सकते हैं।

गुड लक!

+0

धन्यवाद। Fauna के बारे में स्पष्टीकरण बहुत उपयोगी है, और मैं निश्चित रूप से DataMapper प्लगइन में देखेंगे। – funkymunky

+1

विचार करने के लायक एक और विकल्प: क्या आपके रेल ऐप दोनों mysql और cassandra का उपयोग करते हैं। इस प्रकार आपकी उपयोगकर्ता तालिका (दूसरों के बीच) AuthLogic के साथ MySQL पर रह सकती है जबकि आपकी उच्च मात्रा तालिका कैसंड्रा जा सकती है। मैंने वास्तव में अभी तक यह कोशिश नहीं की है, लेकिन मैंने जो देखा है उससे यह संभव लगता है। –

9

मुझे नहीं लगता कि MySQL से शुरू हो रहा है और फिर कैसंद्रा में जाना एक अच्छा विचार है।

कैसंड्रा NoSQL समाधान है, जबकि MySQL एक "क्लासिक" SQL-संचालित डेटाबेस है।

इसका मतलब है कि आपके मॉडल अलग होंगे।

यदि आप MySQL से शुरू करते हैं, तो आपको अपने मॉडल बनाने के लिए ActiveRecord पर भरोसा करना होगा। यदि आप फिर कैसंद्रा में बदल जाते हैं, तो आपको अपने सभी मॉडलों को नोएसक्यूएल-संगत मिडलवेयर (जैसे BigRecord) में बदलना होगा। इसका न केवल आपके मॉडल को बदलने का मतलब है, बल्कि नियंत्रक जो उनका उपयोग करते हैं (क्योंकि उनका इंटरफ़ेस अलग होगा)।

यह कहा गया है कि, कैसंद्रा और जैसे ही ट्विटर की तरह बहुत मांग वाले अनुप्रयोगों पर उपयोग किया जाना चाहिए।

शेष वेब अनुप्रयोगों में तीव्रता के आदेश कम तीव्र हैं - क्या आपको यकीन है कि आपको अभी भी कैसंद्रा की आवश्यकता होगी?

पोस्टग्रेएसक्यूएल, और एक अच्छी तरह से डिज़ाइन किया गया डेटाबेस, केवल 98% पर्याप्त अच्छा है।

+1

पूरी तरह से सहमत हुए। NoSQL एक शांत और रोमांचक तकनीक है। यदि आपको कुछ बड़े पैमाने पर स्केल करने की आवश्यकता है। बग आपको पहले स्केल करने के लिए कुछ बड़ा चाहिए। –

1

http://github.com/NZKoz/cassandra_object भी है, जो IIANM जीवों के ग्राहक के शीर्ष पर बनाता है। "कैसंड्रा ऑब्जेक्ट कैसंड्रा के साथ काम करने के लिए एक अच्छा एपीआई प्रदान करता है। कैसंड्रा ऑब्जेक्ट्स ज्यादातर डक-प्रकार ActiveRecord ऑब्जेक्ट्स के साथ संगत होते हैं, इसलिए आपके अधिकांश नियंत्रक कोड को ठीक काम करना चाहिए ... केवल उत्पादन में इसका उपयोग करें यदि आप विकास के साथ मदद करना चाहते हैं , अभी मोटे किनारों का एक गुच्छा है। "

5

मैं अभी कैसंद्रा, मोंगोडीबी और कॉच डीबी का शोध कर रहा हूं।

सबसे ज्यादा डेवलपर समर्थन देने वाला एक तरीका यह है कि प्रत्येक के लिए उच्चतम रेटेड गिथब परियोजना पर वॉचर्स की संख्या की जांच करके। कम से कम एक अनुमान के रूप में। MongoDB http://github.com/jnunemaker/mongomapper

544 - - CouchDB http://github.com/jchris/couchrest

178 -

अभी यह

852 है कैसेंड्रा http://github.com/fauna/cassandra

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

मोंगो अब तक का सबसे अच्छा और सर्वोत्तम दस्तावेज प्रतीत होता है। उनकी ऑटो-शेर्डिंग अभी भी अल्फा में है, इसलिए मुझे लगता है कि यह कितनी अच्छी तरह से दिखता है।

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

+0

यह थोड़ी सी चीज है क्योंकि मोंगो के पास बहुत सारे उपयोग-मामले हैं, जबकि कैसंद्रा जैसे कुछ लोगों का उपयोग केवल उन लोगों द्वारा किया जा रहा है जिनके पास विशिष्ट जरूरत है, इस मामले में उच्च प्रदर्शन इत्यादि। – Bitterzoet

7

आप तो कैसेंड्रा को बदलते हैं, तो आप एक NoSQL

करने के लिए अपने सभी मॉडलों को बदलने के लिए होगा यह बिल्कुल सच नहीं है। यदि आपने इस तरह से प्रोग्राम किया है कि आपका MySQL डीबी जुड़ने का भार करता है, तो हाँ, आपको कोई समस्या हो सकती है। जब हमने MySQL मार्ग शुरू किया, तब हमने शुरुआत से ही शामिल होने से बचाया। फिर जब हमने कैसंद्रा में माइग्रेट करना शुरू किया तो यह काफी आसान था, हमने पहले 1 मॉडल के साथ ऐसा किया था। फिर एक बार में 4 मॉडल कहें। आदि अच्छी तरह से काम करता है। वास्तव में, जब आप ट्विटर के साथ साक्षात्कार पढ़ते हैं तो आपको पता चलेगा कि वे थोड़ी देर के लिए समान मॉडल के समानांतर में MySQL और Casandra चला चुके हैं: http://nosql.mypopescu.com/post/407159447/cassandra-twitter-an-interview-with-ryan-king

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

+0

लिंक के लिए धन्यवाद यह बहुत दिलचस्प है। हम अब के लिए MySQL के साथ चिपके हुए हैं क्योंकि हम जानते हैं कि 100% यह हमारे ऐप के साथ काम करता है। यह जानना अच्छा है कि भविष्य में कैसंद्रा में स्विच संभव है। – funkymunky

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