2013-06-04 5 views
5

कैसंड्रा में लगभग 20 मिलियन पंक्तियों वाली एक टेबल है।कैसंद्रा में अंतिम रिकॉर्ड प्राप्त करें

तालिका को primary_key कॉलम द्वारा आदेश दिया गया है, जो एक स्ट्रिंग है। हम 'बाइटऑर्डर्ड पार्टिशनर' का उपयोग कर रहे हैं, इसलिए पंक्तियों को primary_key द्वारा आदेश दिया गया है और primary_key कॉलम का हैश नहीं है।

तालिका में अंतिम रिकॉर्ड प्राप्त करने का एक अच्छा तरीका क्या है?

बहुत बहुत धन्यवाद!

+0

आप दृढ़ता से रखरखाव के कारण ByteOrderedPartitioner का उपयोग नहीं करने की सलाह दी जाती आवश्यक है जब आपके डेटा वितरण परिवर्तन या आप अपने क्लस्टर पैमाने। यदि संभव हो, तो आपको अपना डेटा मॉडल बदलना चाहिए ताकि आप इसके बजाय कॉलम रेंज क्वेरी का उपयोग कर सकें। – Richard

उत्तर

1

यदि "बहुत आखिरी रिकॉर्ड" के लिए आपका मतलब है कि आखिरी बार आदेश दिया गया है तो मुझे नहीं लगता कि आप इसे "जीईटी" की तरह कर सकते हैं, आपको पंक्तियों को स्कैन करना होगा। सबसे अच्छा आप कर सकते हैं, afaik, आपकी प्राथमिक कुंजी के अनुसार स्कैन करने के लिए एक अच्छी श्रृंखला का चयन करें (अच्छी शुरुआत कुंजी)।

datastax डॉक्स से:।

प्राथमिक कुंजी द्वारा

"का आदेश दिया विभाजक का उपयोग करते हुए आदेश दिया की अनुमति देता है स्कैन आप पंक्तियों को स्कैन कर सकते है जैसे कि आप एक पारंपरिक सूचकांक के माध्यम से एक कर्सर जा रहे थे इसका मतलब यह है उदाहरण के लिए, यदि। आपके एप्लिकेशन में उपयोगकर्ता पंक्ति कुंजी के रूप में नाम हैं, तो आप उन उपयोगकर्ताओं के लिए पंक्तियों को स्कैन कर सकते हैं जिनके नाम जेक और जो के बीच गिरते हैं। यादृच्छिक रूप से विभाजित पंक्ति कुंजी का उपयोग करके इस प्रकार की क्वेरी संभव नहीं है क्योंकि कुंजी क्रम में संग्रहीत हैं एमडी 5 हैश (अनुक्रमिक रूप से नहीं)। "

यदि आपको बेहतर समाधान मिलता है तो मुझे बताएं।

सादर, कार्लो

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