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};
密钥空间现已创建。
验证:
要检查是否已创建密钥空间,请使用" DESCRIBE"命令。通过使用此命令,您可以看到所有已创建的密钥空间。
Cassandra中还有CREATE KEYSPACE的另一个属性。
Durable_writes
默认情况下,表的persistent_writes属性设置为true,也可以将该属性设置为false。但是,不能将此属性设置为单纯形策略。
示例:
让我们以一个示例来查看persistent_write属性的用法。
CREATE KEYSPACE sssit WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 3 } AND DURABLE_WRITES = false;
验证:
要检查是否已创建密钥空间,请使用" DESCRIBE"命令。通过使用此命令,您可以看到所有已创建的密钥空间。
使用键空间
要使用创建的键空间,必须使用USE命令。
语法:
USE <identifier>
请参见以下示例:
在这里,我们正在使用lidihuo密钥空间。
LTER KEYSPACE 命令用于更改Cassandra中创建的键空间中的复制因子,策略名称和持久写入属性。语法:ALTER KEYSPACE <identifier> WITH & ...