create table的方式與其他資料庫的方式差異不大,建表時可以使用WITH來添加一些選項。
較常用到的大致是以下幾樣。
預設的設定是SizeTieredCompactionStrategy,是依據資料表的大小分成幾個tier,如果tier 1達到4個SSTable,就會合併成tier 2的一個SSTable。這種方式利於資料庫類型屬於較頻繁的寫入,或著一旦寫入就幾乎不再做異動的資料。但因為同一個row有可能因為這樣的策略而分佈在多個SSTable導致在讀取的表現較差。不過目前在使用上還沒有遇到這個問題。
而另一種LeveledCompactionStrategy則是把SSTable分level,一開始由memtable寫入的SSTable分配到level 0,而每一層都會是上一層的10倍大,所以level 1會有10個,level 2會有100個SStable。這個策略會確保同一個row只會在同一層level的SSTable,並且最小化分散的SSTable,所以其表現在讀取的方面較佳。還有一種Time-windowCompactionStrategy,在此策略下,假如我們設定單位是一天,則當一天的時間結束,所有的SSTable會被合併成同一個。