Cassandra 教程

Cassandra键空间操作

Cassandra表操作

Cassandra数据CRUD操作

Cassandra CQL数据类型

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/cassandra-create-keyspace.html

Cassandra创建键空间(Keyspace)


Cassandra 查询语言(CQL)可帮助开发人员与 Cassandra 沟通交互。Cassandra 查询语言的语法与 SQL 非常相似。

什么是键空间(Keyspace)?

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

在 Cassandra 中,“Create Keyspace”命令用于创建 keyspace。

语法:

CREATE KEYSPACE <identifier> WITH <properties>

或者 -

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

Cassandra Keyspace 的不同组件

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

  • 简单策略:在一个数据中心的情况下使用简单的策略。在这个策略中,第一个副本被放置在所选择的节点上,剩下的节点被放置在环的顺时针方向,而不考虑机架或节点的位置。
  • 网络拓扑策略:该策略用于多个数据中心。在此策略中,您必须分别为每个数据中心提供复制因子。

复制因子:复制因子是放置在不同节点上的数据的副本数。超过两个复制因子是很好的获得没有单点故障。所以3个以上是很好的复制因子。

实例:

让我们举个例子来演示如何创建一个名为“yiibai_ks”的键空间。

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

执行结果如下所示 -

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>

验证:

要检查键空间是否创建,请使用“DESCRIBE”命令。通过使用此命令可以看到创建的所有键空间。

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 属性

默认情况下,表的durable_writes属性设置为true,您也可以将此属性设置为false。但是,这个属性不能设置为单机策略。

示例:

让我们举个例子来看看durable_write属性的用法。

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

如下图中所示 -

验证:

要检查键空间是否创建,请使用“DESCRIBE”命令。通过使用此命令可以看到创建的所有键空间。

使用键空间

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

语法:

USE <identifier>

这里,我们使用的是名称为 yiibai_ks 的键空间(keyspace)。如下图所示 -