5

मैं datastax ब्लॉग्स और प्रलेखन पर पढ़ने की कोशिश की, लेकिन किसी भी इसकैसे एक ही विभाजन

पर विशिष्ट नहीं पा सके वहाँ कैसेंड्रा में 2 टेबल रखने के लिए एक ही विभाजन से संबंधित एक रास्ता है के भीतर 2 कैसेंड्रा टेबल रखने के लिए? उदाहरण के लिए:

CREATE TYPE addr (
    street_address1 text, 
    city text, 
    state text, 
    country text, 
    zip_code text, 
); 

CREATE TABLE foo (
    account_id timeuuid, 
    data text, 
    site_id int, 
    PRIMARY KEY (account_id) 
}; 

CREATE TABLE bar (
    account_id timeuuid, 
    address_id int, 
    address frozen<addr>, 
    PRIMARY KEY (account_id, address_id) 
); 

यहाँ मैं यह सुनिश्चित करें कि इन तालिकाओं के दोनों/सीएफ ही ACCOUNT_ID के लिए एक ही विभाजन पर रहेंगे कि जिस तरह से डेटा के इन सेट के दोनों की जरूरत है एक ही नोड से दिलवाया जा सकता है

किसी भी पॉइंटर्स की अत्यधिक सराहना की जाती है।

इसके अलावा, अगर किसी को यूडीटी (उपयोगकर्ता परिभाषित प्रकार) का उपयोग करने में कुछ अनुभव है, तो मैं समझना चाहता हूं कि पिछड़ा संगतता कैसे काम करेगी। यदि मैं कुछ और विशेषताओं के लिए "addr" UDT को संशोधित करता हूं (उदाहरण के लिए zip_code2 int, और नाम टेक्स्ट के लिए कहें), पुरानी पंक्तियों में इन गुणों का काम कैसे होता है? क्या यह भी संगत है?

धन्यवाद

उत्तर

10

तो दो तालिका शेयर एक ही प्रतिकृति रणनीति और एक ही विभाजन कुंजी वे अपने विभाजन colocate होगा। तो जब तक दो तालिकाओं ही keyspace में हैं और उनके विभाजन कुंजी से मेल खाते हैं

प्राथमिक कुंजी (ACCOUNT_ID) == प्राथमिक कुंजी (ACCOUNT_ID, address_id)

किसी भी ACCOUNT_ID पर होगा (और एक ही मशीनों के लिए दोहराया)।

+0

बढ़िया! त्वरित और साफ प्रतिक्रिया के लिए +1। क्या आप यूडीटी पर प्रश्न के दूसरे भाग का उत्तर देने में मदद कर सकते हैं? – im2kul

+0

अलग-अलग SO प्रश्नों में असंबद्ध प्रश्नों को अलग करना सबसे अच्छा है। यह भविष्य में लोगों को इसी तरह के उत्तरों की तलाश करने वाले लोगों के लिए बेहतर बनाता है। – RussS

+0

समझ गया। मैंने एक और प्रश्न पोस्ट किया है: http://stackoverflow.com/questions/34300141/user-defined-type-udt-behavior-in-cassandra – im2kul

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