2011-03-18 11 views
6

मुझे केवल <,>, < =, या> = का उपयोग करके माध्यमिक अनुक्रमणिका पर खोज करने में सक्षम होना चाहिए। मैं समझता हूं कि कैसंद्रा को कम से कम एक समानता सूचकांक खंड की आवश्यकता होती है क्योंकि यह समानता सूचकांक के सभी परिणामों पर पुनरावृत्ति करता है।समानता के बिना कैसंद्रा में माध्यमिक अनुक्रमणिका कैसे खोजें?

क्या केवल <,>, < =, या> = (कम से कम अवधारणात्मक) का उपयोग करके संचालन करने के लिए कोई चाल है? क्या यह एक बुरा विचार है?

इसके अलावा, क्या किसी को पता है कि कैसंद्रा में इसे बदलने की कोई योजना है या नहीं?

धन्यवाद!

उत्तर

6

यदि 0.7 इंडेक्स के साथ ऐसा करने का कोई अच्छा तरीका था, तो मैंने आपको "समानता अभिव्यक्ति की आवश्यकता" कहने के बजाय http://www.datastax.com/dev/blog/whats-new-cassandra-07-secondary-indexes में इसका उल्लेख किया होगा। कोई डबल गुप्त धोखा कोड नहीं है।

एक विकल्प बाइटऑर्डर्ड पार्टिशनर का उपयोग करना है (जो आपको पंक्ति कुंजी पर => क्वेरी करने देता है)। एक और लिखने के समय आपके डेटा के कुछ सबसेट पर एक भौतिक दृश्य बनाने के लिए हो सकता है। ऐसा लगता है कि आपके पास पर्याप्त पंक्तियां हैं जो एक अनियंत्रित अनुक्रमिक स्कैन कर रही हैं जो बहुत धीमी है।

0.8 में बिटमैप इंडेक्स (https://issues.apache.org/jira/browse/CASSANDRA-1472) इंडेक्स पर असमानता संचालन का समर्थन करेंगे।

+0

https://issues.apache.org/jira/browse/CASSANDRA-1339 भी देखें। ध्यान दें कि इस लेखन के अनुसार, 0.8 जारी किया गया है और सुविधा अभी तक मौजूद नहीं है, और समस्या ट्रैकर पर, 1472 की अंतिम टिप्पणी ~ 3 महीने पहले थी और अंतिम 9 महीने पहले पोस्ट किया गया था। (मैं एक कैसंद्रा देव और जेबेलिस नहीं हूं, मैं यह अनुमान लगाने का प्रयास कर रहा हूं कि यह सुविधा कब उपलब्ध होगी) – bshanks

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