国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

Cassandra 創(chuàng)建鍵空間

2018-12-20 17:42 更新

使用Cqlsh創(chuàng)建一個(gè)Keyspace

Cassandra中的鍵空間是一個(gè)定義節(jié)點(diǎn)上數(shù)據(jù)復(fù)制的命名空間。集群每個(gè)節(jié)點(diǎn)包含一個(gè)鍵空間。下面給出了使用語(yǔ)句CREATE KEYSPACE創(chuàng)建鍵空間的語(yǔ)法。

語(yǔ)句

CREATE KEYSPACE <identifier> WITH <properties>

CREATE KEYSPACE “KeySpace Name”
WITH replication = {'class': ‘Strategy name’, 'replication_factor' : ‘No.Of   replicas’};

CREATE KEYSPACE “KeySpace Name”
WITH replication = {'class': ‘Strategy name’, 'replication_factor' : ‘No.Of  replicas’}

AND durable_writes = ‘Boolean value’;

CREATE KEYSPACE語(yǔ)句有兩個(gè)屬性:replication和durable_writes。

復(fù)制

復(fù)制選項(xiàng)用于指定副本位置策略和所需副本的數(shù)量。下表列出了所有副本位置策略。

策略名稱(chēng)描述
簡(jiǎn)單的策略為集群指定簡(jiǎn)單的復(fù)制因子。
網(wǎng)絡(luò)拓?fù)洳呗?/span>使用此選項(xiàng),可以單獨(dú)為每個(gè)數(shù)據(jù)中心設(shè)置復(fù)制因子。
舊網(wǎng)絡(luò)拓?fù)洳呗?/span>使用此選項(xiàng),可以單獨(dú)為每個(gè)數(shù)據(jù)中心設(shè)置復(fù)制因子。

使用此選項(xiàng),您可以指示Cassandra是否對(duì)當(dāng)前KeySpace的更新使用commitlog。此選項(xiàng)不是強(qiáng)制性的,默認(rèn)情況下,它設(shè)置為true。

示例

下面給出了創(chuàng)建KeySpace的示例。

  • 這里我們創(chuàng)建一個(gè)名為TutorialsPoint 的KeySpace。

  • 我們使用第一個(gè)副本放置策略,即簡(jiǎn)單策略

  • 我們選擇復(fù)制因子為1個(gè)副本。

cqlsh.> CREATE KEYSPACE tutorialspoint
WITH replication = {'class':'SimpleStrategy', 'replication_factor' : 3};

驗(yàn)證

您可以使用命令Describe驗(yàn)證是否創(chuàng)建表。如果對(duì)鍵空間使用此命令,它將顯示如下所示創(chuàng)建的所有鍵空間。

cqlsh> DESCRIBE keyspaces;

tutorialspoint system system_traces 

在這里您可以觀察新創(chuàng)建的KeySpace tutorialspoint

Durable_writes

默認(rèn)情況下,表的durable_writes屬性設(shè)置為true,但可以將其設(shè)置為false。您不能將此屬性設(shè)置為simplex策略。

示例

下面給出了示例持久寫(xiě)入屬性的使用示例。

cqlsh> CREATE KEYSPACE test
... WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 3 }
... AND DURABLE_WRITES = false;

驗(yàn)證

您可以通過(guò)查詢系統(tǒng)鍵空間來(lái)驗(yàn)證test KeySpace的durable_writes屬性是否設(shè)置為false。此查詢提供了所有KeySpaces及其屬性。

cqlsh> SELECT * FROM system.schema_keyspaces;

  keyspace_name | durable_writes |                                       strategy_class | strategy_options
----------------+----------------+------------------------------------------------------+----------------------------

           test |          False | org.apache.cassandra.locator.NetworkTopologyStrategy | {"datacenter1" : "3"}

 tutorialspoint |           True |          org.apache.cassandra.locator.SimpleStrategy | {"replication_factor" : "4"}

         system |           True |           org.apache.cassandra.locator.LocalStrategy | { }

  system_traces |           True |          org.apache.cassandra.locator.SimpleStrategy | {"replication_factor" : "2"}

(4 rows)

在這里可以觀察測(cè)試KeySpace的durable_writes屬性設(shè)置為false。

使用Keyspace

您可以使用關(guān)鍵字USE使用創(chuàng)建的KeySpace。其語(yǔ)法如下:

Syntax:USE <identifier>

示例

在下面的示例中,我們使用KeySpace tutorialspoint

cqlsh> USE tutorialspoint;
cqlsh:tutorialspoint>

使用Java API創(chuàng)建一個(gè)Keyspace

您可以使用Session類(lèi)的execute()方法創(chuàng)建一個(gè)Keyspace。按照以下步驟使用Java API創(chuàng)建鍵空間。

第1步:創(chuàng)建一個(gè)集群對(duì)象

首先,創(chuàng)建一個(gè)名為com.datastax.driver.core的Cluster.builder類(lèi)的實(shí)例,如下所示。

//Creating Cluster.Builder object

Cluster.Builder builder1 = Cluster.builder();

使用Cluster.Builder對(duì)象的addContactPoint()方法添加聯(lián)系點(diǎn)(節(jié)點(diǎn)的IP地址)。此方法返回Cluster.Builder。

//Adding contact point to the Cluster.Builder object

Cluster.Builder builder2 = build.addContactPoint( "127.0.0.1" );

使用新的構(gòu)建器對(duì)象,創(chuàng)建一個(gè)集群對(duì)象。為此,在Cluster.Builder類(lèi)中有一個(gè)名為build()的方法。以下代碼顯示如何創(chuàng)建集群對(duì)象。

//Building a cluster
Cluster cluster = builder.build();

您可以在單行代碼中構(gòu)建一個(gè)集群對(duì)象,如下所示。

Cluster cluster = Cluster.builder().addContactPoint("127.0.0.1").build();

第2步:創(chuàng)建會(huì)話對(duì)象

使用Cluster類(lèi)的connect()方法創(chuàng)建一個(gè)Session對(duì)象的實(shí)例,如下所示。

Session session = cluster.connect( );

此方法創(chuàng)建一個(gè)新會(huì)話并初始化它。如果已經(jīng)有一個(gè)鍵空間,可以通過(guò)將字符串格式的鍵空間名稱(chēng)傳遞給這個(gè)方法來(lái)將其設(shè)置為現(xiàn)有鍵空間,如下所示。

Session session = cluster.connect(“ Your keyspace name ” );

第3步:執(zhí)行查詢

您可以使用Session類(lèi)的execute()方法執(zhí)行CQL查詢。將查詢以字符串格式或Statement類(lèi)對(duì)象傳遞給execute()方法。無(wú)論您以字符串格式傳遞給此方法將在cqlsh上執(zhí)行。

在這個(gè)例子中,我們創(chuàng)建一個(gè)名為tp的KeySpace。我們使用第一個(gè)副本放置策略,即簡(jiǎn)單策略,我們選擇復(fù)制因子為1個(gè)副本。

您必須將查詢存儲(chǔ)在字符串變量中,并將其傳遞給execute()方法,如下所示。

String query = "CREATE KEYSPACE tp WITH replication "
   + "= {'class':'SimpleStrategy', 'replication_factor':1}; ";
session.execute(query);

第四步:使用KeySpace

您可以使用execute()方法使用創(chuàng)建的KeySpace,如下所示。

execute(“ USE tp ” );

下面給出了使用Java API在Cassandra中創(chuàng)建和使用鍵空間的完整程序。

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

public class Create_KeySpace {

   public static void main(String args[]){

      //Query
      String query = "CREATE KEYSPACE tp WITH replication "
         + "= {'class':'SimpleStrategy', 'replication_factor':1};";
                    
      //creating Cluster object
      Cluster cluster = Cluster.builder().addContactPoint("127.0.0.1").build();
    
      //Creating Session object
      Session session = cluster.connect();
     
      //Executing the query
      session.execute(query);
     
      //using the KeySpace
      session.execute("USE tp");
      System.out.println("Keyspace created"); 
   }
}

使用類(lèi)名稱(chēng)和.java保存上述程序,瀏覽到保存位置。編譯并執(zhí)行程序如下圖所示。

$javac Create_KeySpace.java
$java Create_KeySpace

在正常條件下,它將產(chǎn)生以下輸出:

Keyspace created

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)