मैं cassandra
के लिए नया हूँ और मैं एनालिटिक्स कार्यों के लिए इसका उपयोग कर रहा हूँ (अच्छा अनुक्रमण आवश्यक)।कैसेंड्रा - जहां गैर प्राथमिक कुंजी नुकसान के साथ खंड
मैंने इस पोस्ट (और अन्य) में पढ़ा है: cassandra, select via a non primary key कि मैं WHERE clause
के साथ गैर-प्राथमिक कुंजी कॉलम के साथ अपने डीबी से क्वेरी नहीं कर सकता।
ऐसा करने के लिए, ऐसा लगता है कि वहाँ 3 संभावनाएं (सभी प्रमुख नुकसान के साथ):
- एक माध्यमिक सूचकांक बनाएँ (प्रदर्शन के मुद्दों के लिए अनुशंसित नहीं)।
- एक नई तालिका बनाएं (मुझे अनावश्यक डेटा नहीं चाहिए भले ही यह कैसंद्रा के साथ ठीक है)।
- कॉलम को प्राथमिक कुंजी के भीतर क्वेरी करना चाहते हैं और इस मामले में मुझे अपने WHERE खंड में प्राथमिक कुंजी के सभी हिस्सों को परिभाषित करने की आवश्यकता है और मैं
IN
या=
से अन्य ऑपरेटर का उपयोग नहीं कर सकता।
क्या ऊपर की 3 बाधाओं के बिना मैं क्या करने की कोशिश कर रहा हूं (WHERE clause
गैर प्राथमिक कुंजी कॉलम के साथ)?
कैसंद्रा वास्तव में उस उपयोग के मामले के लिए उपयुक्त नहीं है जिसका आप वर्णन कर रहे हैं। ऐसा लगता है कि आपको क्वेरी लचीलापन की आवश्यकता है, और आप बस इसे कैसंद्रा से नहीं निकाल पाएंगे। निचली पंक्ति, यह है कि क्वेरी टेबल (अनावश्यक डेटा के साथ) बनाने की सिफारिश *** एक स्केलेबल समाधान *** है; जबकि एक संबंधपरक डेटाबेस की तरह कैसंद्रा का उपयोग करने की कोशिश नहीं कर रहा है। – Aaron
हाय @ एरॉन oups, समस्या यह है कि क्वेरी लचीलापन 'mongodb' के लिए 'cassandra' से अधिक की सिफारिश की जाती है, लेकिन' पढ़ने/लिखने 'प्रदर्शन के लिए (जो मेरे मामले में अत्यधिक महत्वपूर्ण है) और बाद में इस बिंदु में बहुत बुरा है। – farhawa
और एकमात्र तरीका जिसे आप कभी भी उस प्रदर्शन को देखेंगे, अनावश्यक डेटा का उपयोग कर क्वेरी-आधारित मॉडलिंग दृष्टिकोण लेना है। क्वेरी लचीलापन प्राप्त करने के लिए एक रिलेशनल मॉडल या इसी तरह के तरीकों का उपयोग करने का प्रयास करते समय कैसंड्रा बहुत ही शानदार प्रदर्शन करता है। – Aaron