天天看點

cassandra操作鍵空間

檢視叢集資訊以及鍵空間:

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調用。

繼續閱讀