Cassandra 创建键空间

 

Cassandra查询语言(CQL)方便开发人员与Cassandra进行通信。 Cassandra查询语言的语法与SQL非常相似。

 

什么是键空间?

键空间是用于保存列族(用户定义的类型)的对象。键空间类似于RDBMS数据库,其中包含列族,索引,用户定义的类型,数据中心意识,键空间中使用的策略,复制因子等。

在Cassandra中,"创建键空间"命令用于创建键空间。

语法:

CREATE KEYSPACE <identifier> WITH <properties> 

Create keyspace KeyspaceName with replicaton={'class':strategy name, 
'replication_factor': No of replications on different nodes} 

 

Cassandra键空间的不同组件

策略: Cassandra语法中有两种类型的策略声明:

简单策略:  对于一个数据中心,使用简单策略。在这种策略中,第一个副本放置在选定节点上,其余节点按顺时针方向放置在环中,而无需考虑机架或节点的位置。

网络拓扑策略: 该策略用于多个数据中心的情况。在此策略中,您必须分别为每个数据中心提供复制因子。

复制因子: 复制因子是放置在不同节点上的数据的副本数。多于两个的复制因子可以使单点故障都没有。因此,3是一个很好的复制因子。

示例:

让我们以创建一个名为" lidihuo"的键空间为例。

CREATE KEYSPACE lidihuo
WITH replication = {'class':'SimpleStrategy', 'replication_factor' : 3}; 

Cassandra创建密钥空间1

密钥空间现已创建。

 

验证:

要检查是否已创建密钥空间,请使用" DESCRIBE"命令。通过使用此命令,您可以看到所有已创建的密钥空间。

Cassandra创建密钥空间2

Cassandra中还有CREATE KEYSPACE的另一个属性。

 

Durable_writes

默认情况下,表的persistent_writes属性设置为true,也可以将该属性设置为false。但是,不能将此属性设置为单纯形策略。

示例:

让我们以一个示例来查看persistent_write属性的用法。

CREATE KEYSPACE sssit
WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 3 }
 AND DURABLE_WRITES = false;

Cassandra创建密钥空间3

 

验证:

要检查是否已创建密钥空间,请使用" DESCRIBE"命令。通过使用此命令,您可以看到所有已创建的密钥空间。

Cassandra创建密钥空间4

 

使用键空间

要使用创建的键空间,必须使用USE命令。

语法:

USE <identifier>

请参见以下示例:

在这里,我们正在使用lidihuo密钥空间。

Cassandra创建密钥空间5

 LTER KEYSPACE 命令用于更改Cassandra中创建的键空间中的复制因子,策略名称和持久写入属性。语法:ALTER KEYSPACE <identifier> WITH & ...