2015-05-27 30 views
0

我在Cassandra的POC中有這種情況。Apache Cassandra。索引或包含複合主鍵的表的具體情況

甲表

CREATE TABLE B (B-UID UUID, 
    A-UID UUID, 
    CREATED_AT timestamp , 
    JSON text, 
    PARENT_B-UID UUID, 
    POSTALCODE text, 
    CUSTOMER_TYPE text, 
    START_DATE timestamp, 
    END_DATE timestamp, 
    SOME_PRICE int, 
PRIMARY KEY (B-UID)); 

24ķ轉寫/ 2 k轉速讀的。對於1個A-UID,在大多數情況下,我將有67個B-IUD。

在我的應用程序的生命週期中,我將不得不搜索一個特定的A-IUD的所有B-IUD。

我的問題是:它是更好的創建一個複合主鍵的表或創建一個索引A-IUD?寫作表現會受到複合主鍵的影響?

我已經閱讀過DataStax的文檔,他們寫的這個例子對我來說不是太好,至少在我的理解中是這樣! :)

回答

2

嘗試避免二級索引到最大程度

如果唯一的查詢是檢索所有B-IUD對特定A-IUD,具有複合主鍵(A-IUD,B-IUD) 。

如果還需要搜索特定的B-IUD,有兩個表

1中:表1:用B-IUD作爲主鍵和剩餘的列作爲是
2:表2:與一個複合主鍵(A-IUD,B-IUD)和其餘列如同

+0

感謝您的快速回復! –