Cassandra查詢語言(CQL)可幫助開發(fā)人員與Cassandra溝通交互。 Cassandra查詢語言的語法與SQL非常相似。
鍵空間(Keyspace)是用于保存列族,用戶定義類型的對(duì)象。 鍵空間(Keyspace)就像RDBMS中的數(shù)據(jù)庫(kù),其中包含列族,索引,用戶定義類型,數(shù)據(jù)中心意識(shí),鍵空間(Keyspace)中使用的策略,復(fù)制因子等。
在Cassandra中,“Create Keyspace”命令用于創(chuàng)建keyspace。
語法:
CREATE KEYSPACE <identifier> WITH <properties>
或者 -
Create keyspace KeyspaceName with replicaton={'class':strategy name,
'replication_factor': No of replications on different nodes}
策略:Cassandra語法中有兩種類型的策略聲明:
復(fù)制因子:復(fù)制因子是放置在不同節(jié)點(diǎn)上的數(shù)據(jù)的副本數(shù)。 超過兩個(gè)復(fù)制因子是很好的獲得沒有單點(diǎn)故障。 所以3個(gè)以上是很好的復(fù)制因子。
讓我們舉個(gè)例子來演示如何創(chuàng)建一個(gè)名為“yiibai_ks”的鍵空間。
CREATE KEYSPACE yiibai_ks WITH replication = {'class':'SimpleStrategy', 'replication_factor' : 3};
執(zhí)行結(jié)果如下所示 -
cqlsh> CREATE KEYSPACE yiibai_ks
... WITH replication = {'class':'SimpleStrategy', 'replication_factor' : 3};
cqlsh>
cqlsh> CREATE KEYSPACE yiibai_ks WITH replication = {'class':'SimpleStrategy', 'replication_factor' : 3};
AlreadyExists: Keyspace 'yiibai_ks' already exists
cqlsh>
驗(yàn)證:
要檢查鍵空間是否創(chuàng)建,請(qǐng)使用“DESCRIBE”命令。 通過使用此命令可以看到創(chuàng)建的所有鍵空間。
cqlsh> DESCRIBE yiibai_ks;
CREATE KEYSPACE yiibai_ks WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '3'} AND durable_writes = true;
cqlsh>
查看所有的鍵空間,可使用以下命令 -
cqlsh> DESCRIBE keyspaces
system_schema system_auth system yiibai_ks system_distributed system_traces
cqlsh>
Durable_writes屬性
默認(rèn)情況下,表的durable_writes屬性設(shè)置為true,您也可以將此屬性設(shè)置為false。 但是,這個(gè)屬性不能設(shè)置為單機(jī)策略。
示例:
讓我們舉個(gè)例子來看看durable_write屬性的用法。
CREATE KEYSPACE yiibai_ks1
WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 3 }
AND DURABLE_WRITES = false;
如下圖中所示 -
驗(yàn)證:
要檢查鍵空間是否創(chuàng)建,請(qǐng)使用“DESCRIBE”命令。 通過使用此命令可以看到創(chuàng)建的所有鍵空間。

要使用創(chuàng)建的鍵空間,可使用USE命令。
語法:
USE <identifier>
這里,我們使用的是名稱為 yiibai_ks 的鍵空間(keyspace)。如下圖所示 -