2017-04-11 67 views
2

我知道使用物化視圖時增加了10%,但是我想知道(並且還沒有發現任何線索),如果存在對基於主鍵進行大量刪除時表刪除優化的反響。Cassandra - 物化視圖對錶刪除優化的影響

這裏有一個案例:

TABLE a_simple_table (
    year int, 
    fulldate date, 
    ref1 text, 
    ref2 text, 
    data blob, 
    PRIMARY KEY ((year), fulldate, ref1, ref2) 
); 

MATERIALIZED VIEW demo.a_simple_table_view 
AS SELECT year, fulldate, ref1, ref2, data 
FROM demo.a_simple_table 
WHERE ref1 IS NOT NULL AND year IS NOT NULL AND fulldate IS NOT NULL AND ref2 IS NOT NULL 
PRIMARY KEY ((ref1), year, fulldate, ref2) 
WITH CLUSTERING ORDER BY (year DESC, fulldate DESC, ref2 ASC); 

對於我明白什麼我已被告知,當我們做到以下幾點:

DELETE from a_simple_table WHERE year = 2017; 

卡桑德拉標誌只有一個墓碑,我們爲此唐如果主鍵值2017下的表中有100行,則不做100刪除。

但是,由於物化視圖必須找到要刪除的每一行,才能刪除自己的ta ble,刪除成本是多少?

回答

1

刪除操作是不大於所述插入件不同: http://www.doanduyhai.com/blog/?p=1930

https://www.datastax.com/dev/blog/new-in-cassandra-3-0-materialized-views

當刪除時,物化視圖將查詢所有被刪除值的基表和生成每個的墓碑物化視圖行,因爲在視圖中需要邏輯刪除的值不包含在基表的邏輯刪除單元中...

基本上,「命中」就好像您試圖插入所有基值錶行。由於物化視圖中的墓碑數量增加,讀數將受到打擊。

+1

感謝您的解釋和第一個鏈接! – MrBouh