2015-06-25 3 views
7

डेटा और गति की मात्रा के कारण, हमारे मामले में टॉम्बस्टोन बनाने के बिना कैसंद्रा को डेटा लिखना महत्वपूर्ण है। वर्तमान में हमने केवल एक बार पंक्ति लिखी है, और उसके बाद फिर से पंक्ति को अपडेट करने की आवश्यकता नहीं थी, केवल डेटा को फिर से प्राप्त करें।आईएसईईआरटी के साथ कैसंड्रा में पंक्ति को ओवरराइट करें, क्या यह कबूतर का कारण बन जाएगा?

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

  1. फिर सम्मिलित करें का उपयोग कर (सभी डेटा उपलब्ध है) एक पंक्ति में डेटा के सभी के ऊपर लिख, या

  2. केवल नए डेटा पर एक अद्यतन प्रदर्शन।

ऐसा करने का सबसे अच्छा तरीका क्या है, गति को ध्यान में रखें और एक कबूतर बनाने का महत्व नहीं है?

उत्तर

7

टॉम्बस्टोन केवल डेटा हटाने या टीटीएल मानों का उपयोग करते समय बनाए जाएंगे।

कैसंड्रा आपके वर्णित उपयोग मामले में बहुत अच्छी तरह से संरेखित करता है। बढ़ते डेटा को INSERT और UPDATE स्टेटमेंट दोनों के लिए काम करेगा। उसी विभाजन कुंजी के लिए समय के साथ डेटा जोड़ने के मामले में कैसंड्रा अलग-अलग स्थानों में डेटा संग्रहीत करेगा। समय-समय पर चलने वाली कॉम्पैक्शन एक्सेस और फ्री डिस्क स्पेस को अनुकूलित करने के लिए एक कुंजी के लिए डेटा फिर से मर्ज कर देगी। यह लिखित मूल्यों के टाइमस्टैम्प के आधार पर खुश होगा लेकिन कोई नया टॉम्बस्टोन नहीं बनायेगा। आप इस बारे में अधिक जान सकते हैं कि कैसंड्रा डेटा कैसे संग्रहीत करता है उदा। here

+0

टॉम्बस्टोन बनाने का अच्छा तरीका लगभग 1000 प्रकारों के समान विभाजन कुंजी अद्यतन है जिसमें 2 या 3 संग्रह प्रकार कॉलम है और प्रत्येक बार 100 तत्वों का 1 संग्रह अपडेट करें – Anonymous

2

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

जब आप कोई सम्मिलित या अद्यतन करते हैं, तो कैसंड्रा प्रत्येक कॉलम के लिए संशोधित समय के लिए टाइमस्टैम्प रखता है। जब आप पढ़ते हैं, तो कैसंड्रा उस कुंजी के लिए स्मृति, डिस्क से, और अन्य प्रतिकृतियों से स्थिरता सेटिंग के आधार पर सभी लिखता है। फिर यह कॉलम डेटा मर्ज करेगा ताकि प्रत्येक कॉलम के लिए नवीनतम मान का उपयोग किया जा सके।

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

जब तक आप टीटीएल (टाइम टू लाइव) मान सेट करने के लिए अद्यतन का उपयोग नहीं कर रहे हैं, तब तक आपको अपडेट करके टॉम्बस्टोन बनाने की चिंता करने की आवश्यकता नहीं है। आपके एप्लिकेशन में ऐसा लगता है जैसे आप डेटा कभी नहीं हटाते हैं, इसलिए आपके पास कभी भी कोई टॉम्बस्टोन नहीं होगा।

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