2010-03-29 15 views
5

मुझे कैसंद्रा सेवाओं पर पोर्टल बनाने में दिलचस्पी है, क्योंकि मुझे कुछ लाखों रिकॉर्ड से शुरू होने वाले कुछ प्रदर्शन और स्केल मुद्दों का सामना करना पड़ा। निश्चित रूप से, इसे हल किया जा सकता है, लेकिन मुझे अन्य विकल्पों में दिलचस्पी है।कैसंड्रा और एएसपीनेट (सी #)

मेरे मुख्य मुद्दों को पढ़ने के लिए, सभी आवश्यक अनुक्रमणिका अद्यतन करने की लागत है।

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

और दूसरा, क्या आप सी # से कैसंड्रा प्रोग्रामिंग के साथ कैसे शुरू करें, इस पर कोई दस्तावेज़ीकरण नमूने प्रदान कर सकते हैं?

+1

http://teddziuba.com/2010/03/i-cant-wait-for-nosql-to-die.html। –

+0

http://codebetter.com/blogs/karlseguin/archive/2010/03/29/nosql-for-the-rest-of-us.aspx –

+2

मैं उत्पादन वातावरण में कैसंद्रा का उपयोग करने के खिलाफ अनुशंसा करता हूं। – Pierreten

उत्तर

11

क्योंकि मुझे 1 मिलियन से अधिक रिकॉर्ड से शुरू होने वाले प्रदर्शन और स्केल मुद्दों का सामना करना पड़ा।

शायद आपका डिज़ाइन इतना अच्छा नहीं था, नोएसक्यूएल खराब डिजाइन के लिए जादू बुलेट नहीं है। मेरे पास बहु अरब पंक्ति तालिकाएं हैं और प्रतिक्रिया का 9 5% उप सेकेंड है। इंडेक्स को अपडेट करके आपका क्या मतलब है, क्या आपका मतलब आंकड़े अपडेट करना या इंडेक्स पुनर्निर्माण करना है?

+0

मुझे खुशी है कि यह आपके लिए काम करता है। निश्चित रूप से, यह मेरे लिए सबसे संभव (और सबसे सस्ता तरीका) है। हालांकि, उन्हें पहले महीने पहले अंक मिला था, सूचकांक आंकड़ों का उपयोग करने के तरीके के बारे में आलेख मिला, इसे हमारे डेटाबेस पर लागू किया गया और सबकुछ ठीक था ... 2 सप्ताह के लिए। तो, मैं देखना चाहता हूं कि – st78

+0

क्या विकल्प हैं, क्या आपके पास ऑटो अपडेट आंकड़े सक्षम हैं या क्या आपके पास कोई नौकरी है जो आंकड़े अपडेट करेगी? – SQLMenace

3

क्योंकि मुझे प्रदर्शन और स्केल 1 मिलियन रिकॉर्ड्स से शुरू होने वाले मुद्दों का सामना करना पड़ा।

आप जानते हैं कि आधुनिक डेटाबेस के लिए दस लाख अंक यह है कि यह "पूरी तरह से हास्यास्पद रूप से छोटा" नहीं है जहां आप वास्तव में यह जानकर अनदेखा कर सकते हैं कि आप क्या करते हैं। एक लाख से नीचे "छोटा" है। मेरे पास 800 मिलियन पंक्ति तालिका है और इसके साथ बहुत सी एसक्यूएल चल रही है - कोई समस्या नहीं है।

सबसे पहले, एएसपीनेट प्रोग्रामर के लिए कैसंद्रा अच्छा तरीका है?

मैं एसक्यूएल के बारे में एक मूल पुस्तक, दस्तावेज़ीकरण पढ़ने और समस्या पर कुछ हार्डवेयर फेंकने के बारे में अधिक सुझाव दूंगा। जैसा कि: पूरी तरह से खराब हार्डवेयर होने से सभी डेटा प्रबंधन प्रणालियों को मार दिया जाएगा।

1

यदि आप कुछ नया करना चाहते हैं, तो noSQL के लिए जाने के बजाय, आप डेटाबेस क्लस्टर को आजमाने का विचार करना चाहेंगे।

विचार यह है कि जब दो मशीनें एक ही समय में मूल डेटाबेस के आधा खोज करती हैं, तो आपके पास अपने मौजूदा डेटाबेस को पूरी तरह से डिज़ाइन किए बिना आधा खोज समय होता है।

+0

धन्यवाद, मैं क्लाइंट को माइक्रोसॉफ्ट एज़ूर का प्रयास करने के लिए मनाने के लिए सोच रहा हूं - यह – st78

+0

का उपयोग करना शुरू करना आसान लगता है, मेरा मानना ​​है कि आप अपने डेटाबेस को "शेडिंग" करने का मतलब मानते हैं। क्लस्टरिंग आपकी प्रदर्शन समस्या में मदद नहीं करेगा। http://en.wikipedia.org/wiki/Shard_(database_architecture) – BozoJoe

2

आप वास्तव में कैसंद्रा दस्तावेज के बारे में बात नहीं कर सकते हैं। वेब पर आंशिक ट्यूटोरियल का असंख्य है।
आप वर्चुअल मशीन में लिनक्स सेट अप करना चाहते हैं, क्योंकि विंडोज़ बिल्ड प्रक्रिया कम से कम कहने के लिए काफी चुनौतीपूर्ण है।
http://www.ridgway.co.za/archive/2009/11/06/net-developers-guide-to-getting-started-with-cassandra.aspx
ध्यान दें कि कैसेंड्रा SVN यूआरएल और कोड नमूना इस ट्यूटोरियल के लेखन के बाद से बदल गया है:
(http://www.virtualbox.org, http://www.ubuntu.com)

यहाँ howto है।
http://github.com/mattvv/hectorsharp

और यहाँ कुछ नमूना कोड:
http://www.copypastecode.com/26752/

ध्यान दें कि आप डाउनलोड करने की आवश्यकता नवीनतम जावा डेवलपमेंट किट सूर्य से (JDK) लिनक्स के लिए

यहाँ एक और सी # ग्राहक है। यह उबंटू 10.04 के भंडार में नहीं है। तो फिर तुम आदेश कैसेंड्रा अपने जावा स्थापना को खोजने के लिए में

export JAVA_HOME="/path/to/jdk" 

लिखना होगा।
http://en.wikipedia.org/wiki/NoSQL

खास तौर पर वर्गीकरण खंड दिलचस्प है:


तुम भी पर एक नज़र लेने के लिए चाहते हो सकता है।
सुनिश्चित करें कि कैसंड्रा आपकी समस्या के लिए नोएसक्यूएल समाधान का सही प्रकार है, उदा। यदि आपकी समस्या वास्तव में एक ग्राफ समस्या है तो Neo4J का उपयोग करें।

इसके अलावा, आपको यह सुनिश्चित करना होगा कि आपका नोएसक्यूएल समाधान एसीआईडी-अनुरूप है।
उदाहरण के लिए, नियो 4 जे एकमात्र एसीआईडी-अनुरूप नोएसक्यूएल ग्राफ इंजन है।

संपादित करें: ravendb:
http://coderjournal.com/2010/03/cassandra-jump-start-for-the-windows-developer/
http://www.ronaldwidha.net/2010/06/23/running-cassandra-on-windows-first-attempt/
http://www.yafla.com/dforbes/Getting_Started_with_Apache_Cassandra_a_NoSQL_frontrunner_on_Windows/

2

कैसेंड्रा के बजाय आप पर एक नज़र ले सकता है: यहाँ विंडोज के लिए एक तुरत प्रारम्भ गाइड, संकलन के बिना है। माना जाता है कि यह एक दस्तावेज़ स्टोर है जिसे नेट के साथ बनाया गया है और बनाया गया है। इसमें लिंक एकीकरण है, और (फिर से माना जाता है) बहुत तेज़ है।

किसी भी नई तकनीक के साथ, अगर यह आपके विशिष्ट मामले में आपकी सहायता करता है, और जांचें कि यह सिद्ध तकनीक है (क्या उनके पास मुख्यधारा के ग्राहक हैं)।

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

अंतिम अखरोट कम से कम नहीं, अगर आपकी एसक्यूएल मशीन में कुछ प्रोसेसर जोड़ने से समस्याएं ठीक हो सकती हैं, तो यह आमतौर पर एक बहुत सस्ता समाधान है।

3

यदि आप अपने .NET अनुप्रयोग के लिए कैसंद्रा का उपयोग कर रहे हैं तो Aquiles पर एक नज़र डालें। मैंने इसे अपनी कंपनी की जरूरतों के आधार पर विकसित किया। अगर आपको यह उपयोगी लगता है या किसी मदद की ज़रूरत है तो मुझे बताएं।

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