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) 
); 

在這裏,我需要確保這兩個表/ CF將生活在同一個分區的方式爲同一ACCOUNT_ID這兩個組數據可以從同一節點中獲取

任何指針,非常感謝。另外,如果有人有使用UDT(用戶定義類型)的一些經驗,我想了解後向兼容性如何工作。如果我將「addr」UDT修改爲具有更多屬性(例如zip_code2 int和名稱文本),那麼具有這些屬性的舊行如何工作?它是否兼容?

感謝

回答

10

如果兩個表共享相同的複製策略和同一個分區鍵,他們將colocate自己的分區。所以只要兩個表都在同一個密鑰空間和它們的分區鍵匹配

PRIMARY KEY(ACCOUNT_ID)== PRIMARY KEY(ACCOUNT_ID,ADDRESS_ID)

任何給定的ACCOUNT_ID將爲(並複製到)相同的機器。

+0

非常好! +1以獲得快速和乾淨的響應。你能幫忙回答關於UDT問題的其他部分嗎? – im2kul

+0

最好將不相關的問題分成不同的SO問題。這使得人們在未來尋求類似答案的服務更好。 – RussS

+0

明白了。我發佈了另一個問題:http://stackoverflow.com/questions/34300141/user-defined-type-udt-behavior-in-cassandra – im2kul

相關問題