Keyspace可以視為一個存放各個table的容器,角色等同於一般RDBMS的database。而每個容器都可以依據這個Keyspace所儲存的資料重要性去設定屬於自已的RF,如果只是一般不重要的log資料,那RF可以設定為1,資料就不會備份到其他的node。
接著實際執行,透過以下語法可以建立一個名為test的Keyspace。
每個Keyspace可以選擇的複寫策略有兩種,為必須指定的選項。
SimpleStrategy: 這個策略就是定義整個Cluster的複寫數量,也是系統的預設值。而接著在後面的replication_factor:3是這個策略的副選項,也是唯一的副選項。這個數字決定了資料的備份數量。
NetworkTopologyStrategy: 此策略主要用於,當我們架設了一個以上的DataCenter,並且想要制定不同的RF數量,宣告的方式是以datacenter(key):RF(value)來表示。
而宣告Keyspace最後的durable_writes是表示我們將使用commitlog來持續更新這個keyspace,預設值為true。官方說明最後還警告如果關閉此設定後果自負!因為關閉這個選項雖然可以增加寫入的速度,但是如果在memtable的資料flush到SSTable之前,node發生問題,那麼資料就遺失了!所以我們還是正常的使用它。