Apache Cassandra 1.1 Documentation

CREATE KEYSPACE

This document corresponds to an earlier product version. Make sure you are using the version that corresponds to your version.

Latest Cassandra documentation | Earlier Cassandra documentation

Define a new keyspace and its replica placement strategy.

Synopsis

CREATE KEYSPACE <ks_name>
    WITH strategy_class = <value>
    [ AND strategy_options:<option> = <value> [...]
    [ AND durable_writes = true | false ] ];

Description

CREATE KEYSPACE creates a top-level namespace and sets the replica placement strategy, associated replication factor options, and the durable writes option for the keyspace. Valid keyspace names are strings of alpha-numeric characters and underscores, and must begin with a letter. Enclose keyspace names in double quotation marks to preserve case-sensitive names; otherwise, Cassandra stores keyspace names in lowercase. As of Cassandra 1.1.6, you do not need to enclose the noncase-sensitive keyspace name, strategy, and option strings in single quotation marks. Properties such as replication strategy and count are specified during creation using the following accepted keyword arguments:

Keyword Description
strategy_class Required. The name of the replica placement strategy for the new keyspace, such as SimpleStrategy and NetworkTopologyStrategy.
strategy_options Optional. Additional arguments appended to the option name.
durable_writes Optional. True or false. Use caution. See durable_writes.

Use the strategy_options keyword, separated by a colon to specify a strategy option. For example, a strategy option of DC1 with a value of 1 would be specified as strategy_options:DC1 = 1; replication_factor for SimpleStrategy could be strategy_options:replication_factor=3.

To use the NetworkTopologyStrategy, you specify the number of replicas per data center in this format:

strategy_options:<datacenter_name>=<number>

See About Keyspaces for more information.

Examples

Define a new keyspace using the simple replication strategy:

Note

These examples work with pre-release CQL 3 in Cassandra 1.1.x. The syntax differs in the release version of CQL 3 in Cassandra 1.2 and later.

CREATE KEYSPACE History WITH strategy_class = SimpleStrategy
 AND strategy_options:replication_factor = 1;

Define the number of replicas for one data center using the network-aware replication strategy, NetworkTopologyStrategy:

CREATE KEYSPACE test
  WITH strategy_class = 'NetworkTopologyStrategy'
  AND strategy_options:"us-east" = 6;

Double quotation marks must be used to enclose the us-east data center name because it contains a hyphen.

For a multiple data center cluster, assuming you are using the PropertyFileSnitch and your data centers are named DC1 and DC2 in the cassandra-topology.properties file.:

CREATE KEYSPACE test2
  WITH strategy_class = 'NetworkTopologyStrategy’
  AND strategy_options:DC1 = 3
  AND strategy_options:DC2 = 6;

Change the durable_writes attribute of a keyspace.

CREATE KEYSPACE test2
  WITH strategy_class = NetworkTopologyStrategy
  AND strategy_options:DC1 = 3 AND durable_writes=false;

CQL Commands

CQL Commands CQL Shell Commands
ALTER TABLE ASSUME
ALTER KEYSPACE CAPTURE
BATCH COPY
CREATE TABLE DESCRIBE
CREATE INDEX EXIT
CREATE KEYSPACE SHOW
DELETE SOURCE
DROP TABLE  
DROP INDEX  
DROP KEYSPACE  
INSERT  
SELECT  
TRUNCATE  
UPDATE  
USE