cassandra操作键空间

时间:2023-01-04 04:49:59

查看集群信息以及键空间:

cassandra操作键空间

1. 创建keyspace:

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

您可以通过查询系统键空间来验证keyspace的durable_writes属性是否设置为false。此查询提供了所有KeySpaces及其属性。

SELECT * FROM system.schema_keyspaces;

cassandra操作键空间

2. 使用Keyspace

您可以使用关键字USE使用创建的KeySpace。其语法如下:

cassandra操作键空间

3. 使用Java API创建一个Keyspace

package com.star.cassandra;
import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.Session;
/**
 * @Description: TODO(这里用一句话描述这个类的作用)
 * @author: wuzhan
 * @date: 2018年3月27日 上午11:52:55
 */
public class Create_KeySpace {
	/**
	 * @Description: TODO(这里用一句话描述这个方法的作用)
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//Query
	      String query = "CREATE KEYSPACE wuzna WITH replication "
	         + "= {'class':'SimpleStrategy', 'replication_factor':1};";
	                    
	      //creating Cluster object
	      Cluster cluster = Cluster.builder().addContactPoint("192.168.117.37").build();
	    
	      //Creating Session object
	      Session session = cluster.connect();
	     
	      //Executing the query
	      session.execute(query);
	     
	      //using the KeySpace
	      session.execute("USE wuzna");
	      System.out.println("Keyspace created");
	}
}

4. 使用Cqlsh修改Keyspace

   例如:ALTER KEYSPACE "wuzna" WITH replication = {'class': 'SimpleStrategy', 'replication_factor' : '2'};

Durable_writes

使用此选项,可以指示Cassandra是否对当前KeySpace的更新使用commitlog。此选项不是强制性的,默认情况下,它设置为true。

5. 使用Java API修改Keyspace

package com.star.cassandra;

import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.Session;

/**
 * @Description: TODO(这里用一句话描述这个类的作用)
 * @author: wuzhan
 * @date: 2018年3月27日 下午2:03:25
 */
public class Alter_KeySpace {

	/**
	 * @Description: TODO(这里用一句话描述这个方法的作用)
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//Query
	      String query = "ALTER KEYSPACE wuzna WITH replication " + "= {'class':'NetworkTopologyStrategy', 'datacenter1':3}"
	         + "AND DURABLE_WRITES = false;";
	      //Creating Cluster object
	      Cluster cluster = Cluster.builder().addContactPoint("192.168.117.37").build();
	      //Creating Session object
	      Session session = cluster.connect();
	      //Executing the query
	      session.execute(query);
	      System.out.println("Keyspace altered");
	}

}

修改前:

cassandra操作键空间

修改后:

cassandra操作键空间

6. 使用Cqlsh删除键空间

可以使用命令DROP KEYSPACE删除KeySpace:

例如:drop keyspace wuzna;

同理可以使用Java API调用。