Cassandra建立鍵空間(Keyspace)
Cassandra查詢語言(CQL)可幫助開發人員與Cassandra溝通互動。 Cassandra查詢語言的語法與SQL非常相似。
什麼是鍵空間(Keyspace)?
鍵空間(Keyspace
)是用於儲存列族,使用者定義型別的物件。
鍵空間(Keyspace)就像RDBMS中的資料庫,其中包含列族,索引,使用者定義型別,資料中心意識,鍵空間(Keyspace)中使用的策略,複製因子等。
在Cassandra中,“Create Keyspace
”命令用於建立keyspace。
語法:
CREATE KEYSPACE <identifier> WITH <properties>
SQL
或者 -
Create keyspace KeyspaceName with replicaton={'class':strategy name,
'replication_factor': No of replications on different nodes}
SQL
Cassandra Keyspace的不同元件
策略:Cassandra語法中有兩種型別的策略宣告:
- 簡單策略:在一個數據中心的情況下使用簡單的策略。 在這個策略中,第一個副本被放置在所選擇的節點上,剩下的節點被放置在環的順時針方向,而不考慮機架或節點的位置。
- 網路拓撲策略:該策略用於多個數據中心。 在此策略中,您必須分別為每個資料中心提供複製因子。
複製因子:複製因子是放置在不同節點上的資料的副本數。 超過兩個複製因子是很好的獲得沒有單點故障。 所以3
個以上是很好的複製因子。
例項:
讓我們舉個例子來演示如何建立一個名為“yiibai_ks
”的鍵空間。
CREATE KEYSPACE yiibai_ks WITH replication = {'class':'SimpleStrategy', 'replication_factor' : 3};
SQL
執行結果如下所示 -
cqlsh> CREATE KEYSPACE yiibai_ks
... WITH replication = {'class':'SimpleStrategy' , 'replication_factor' : 3};
cqlsh>
cqlsh> CREATE KEYSPACE yiibai_ks WITH replication = {'class':'SimpleStrategy', 'replication_factor' : 3};
AlreadyExists: Keyspace 'yiibai_ks' already exists
cqlsh>
SQL
驗證:
要檢查鍵空間是否建立,請使用“DESCRIBE
”命令。 通過使用此命令可以看到建立的所有鍵空間。
cqlsh> DESCRIBE yiibai_ks;
CREATE KEYSPACE yiibai_ks WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '3'} AND durable_writes = true;
cqlsh>
SQL
檢視所有的鍵空間,可使用以下命令 -
cqlsh> DESCRIBE keyspaces
system_schema system_auth system yiibai_ks system_distributed system_traces
cqlsh>
SQL
Durable_writes屬性
預設情況下,表的durable_writes
屬性設定為true
,您也可以將此屬性設定為false
。
但是,這個屬性不能設定為單機策略。
示例:
讓我們舉個例子來看看durable_write
屬性的用法。
CREATE KEYSPACE yiibai_ks1
WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 3 }
AND DURABLE_WRITES = false;
SQL
如下圖中所示 -
驗證:
要檢查鍵空間是否建立,請使用“DESCRIBE
”命令。 通過使用此命令可以看到建立的所有鍵空間。
使用鍵空間
要使用建立的鍵空間,可使用USE
命令。
語法:
USE <identifier>
SQL
這裡,我們使用的是名稱為 yiibai_ks
的鍵空間(keyspace)。如下圖所示
-
易百教程移動端:請掃描本頁面底部(右側)二維碼並關注微信公眾號,回覆:"教程" 選擇相關教程閱讀或直接訪問:http://m.yiibai.com 。
http://www.yiibai.com/cassandra/cassandra-create-keyspace.html