官术网_书友最值得收藏!

Creating a keyspace

A keyspace is a collection of related tables, equivalent to a database in a relational system. To create the keyspace for our MyStatus application, issue the following statement in the CQL shell:

CREATE KEYSPACE "my_status"
WITH REPLICATION = {
  'class': 'SimpleStrategy', 'replication_factor': 1
};

Here we created a keyspace called my_status, which we will use for the remainder of this book. When we create a keyspace, we have to specify replication options. Cassandra provides several strategies for managing replication of data; SimpleStrategy is the best strategy as long as your Cassandra deployment does not span multiple data centers. The replication_factor value tells Cassandra how many copies of each piece of data are to be kept in the cluster; since we are only running a single instance of Cassandra, there is no point in keeping more than one copy of the data. In a production deployment, you would certainly want a higher replication factor; 3 is a good place to start.

Note

A few things at this point are worth noting about CQL's syntax:

  • It's syntactically very similar to SQL; as we further explore CQL, the impression of similarity will not diminish.
  • Double quotes are used for identifiers such as keyspace, table, and column names. As in SQL, quoting identifier names is usually optional, unless the identifier is a keyword or contains a space or another character that will trip up the parser.
  • Single quotes are used for string literals; the key-value structure we use for replication is a map literal, which is syntactically similar to an object literal in JSON.
  • As in SQL, CQL statements in the CQL shell must terminate with a semicolon.

Selecting a keyspace

Once you've created a keyspace, you would want to use it. In order to do this, employ the USE command:

USE "my_status";

This tells Cassandra that all future commands will implicitly refer to tables inside the my_status keyspace. If you close the CQL shell and reopen it, you'll need to reissue this command.

主站蜘蛛池模板: 林甸县| 岐山县| 松潘县| 南溪县| 潮州市| 仁怀市| 渑池县| 左权县| 定日县| 云和县| 基隆市| 香格里拉县| 东城区| 汉阴县| 嘉祥县| 墨竹工卡县| 宝兴县| 瑞安市| 岑巩县| 葵青区| 清苑县| 嘉兴市| 安徽省| 宜丰县| 罗山县| 加查县| 三原县| 华宁县| 丽江市| 香格里拉县| 赫章县| 崇州市| 安岳县| 英山县| 南漳县| 孟津县| 朔州市| 公主岭市| 和林格尔县| 通辽市| 南乐县|