में प्रत्येक विभाजन कुंजी के लिए पहली पंक्ति प्राप्त करें मैं डेटा कटअप करने के लिए अपने ईटीएल नौकरी के दौरान एक मध्यवर्ती भंडारण के रूप में कैसंद्रा को विचार कर रहा हूं।कैसंड्रा
आइए कल्पना करें कि मेरे पास घटनाओं की एक धारा है, उनमें से प्रत्येक के पास कुछ व्यावसायिक इकाई आईडी, टाइमस्टैम्प और कुछ मूल्य है। मुझे प्रत्येक व्यवसाय कुंजी के लिए इन-इवेंट टाइमस्टैम्प के मामले में केवल नवीनतम मूल्य प्राप्त करने की आवश्यकता है, लेकिन ईवेंट अनियंत्रित हो सकते हैं।
CREATE TABLE sample_keyspace.table1_copy1 (
id uuid,
time timestamp,
value text,
PRIMARY KEY (id, time)
) WITH CLUSTERING ORDER BY (time DESC)
अब अगर मैं इस तालिका में कुछ डेटा सम्मिलित मैं कुछ दिया विभाजन के लिए नवीनतम मूल्य प्राप्त कर सकते हैं:
मेरा विचार एक विभाजन कुंजी और टाइमस्टैम्प एक क्लस्टरिंग कुंजी के रूप में के रूप में कारोबार आईडी के साथ मचान तालिका बनाने के लिए था कुंजी:।
select * from table1 where id = 96b29b4b-b60b-4be9-9fa3-efa903511f2d limit 1;
लेकिन वह हर व्यवसाय कुंजी मैं में दिलचस्पी रखता हूँ के लिए इस तरह के प्रश्न जारी करने के लिए की आवश्यकता होगी
वहाँ कुछ प्रभावी तरीके से मैं कर सकता है यह सीक्यूएल में?
मुझे पता है कि हमारे पास सभी उपलब्ध विभाजन कुंजी सूचीबद्ध करने की क्षमता है (select distinct id from table1
द्वारा)। तो अगर मैं कैसंद्रा के भंडारण मॉडल को देखता हूं, तो प्रत्येक विभाजन कुंजी के लिए पहली पंक्ति प्राप्त करना बहुत कठिन नहीं होना चाहिए।
क्या यह समर्थित है?