第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在Cassandra中,分區(qū)密鑰、復(fù)合密鑰和聚類密鑰的區(qū)別是什么?

在Cassandra中,分區(qū)密鑰、復(fù)合密鑰和聚類密鑰的區(qū)別是什么?

動漫人物 2019-07-16 14:20:47
在Cassandra中,分區(qū)密鑰、復(fù)合密鑰和聚類密鑰的區(qū)別是什么?我一直在網(wǎng)上閱讀文章,以了解以下內(nèi)容的不同之處key類型。但對我來說似乎很難理解。舉例肯定有助于更好地理解。primary key, partition key,  composite key  clustering key
查看完整描述

3 回答

?
PIPIONE

TA貢獻(xiàn)1829條經(jīng)驗 獲得超9個贊

在這方面有很多困惑,我會盡量讓它變得簡單。

主鍵是一個通用概念,用于指示用于從表中檢索數(shù)據(jù)的一個或多個列。

主鍵可能是簡約甚至宣稱:

 create table stackoverflow_simple (
      key text PRIMARY KEY,
      data text      
  );

這意味著它是由一列組成的。

但是主鍵也可以是復(fù)合材料(又名復(fù)配),由更多列生成。

 create table stackoverflow_composite (
      key_part_one text,
      key_part_two int,
      data text,
      PRIMARY KEY(key_part_one, key_part_two)      
  );

在.的情況下復(fù)合材料主鍵,該鍵的“第一部分”稱為分區(qū)鍵(在本例中)鑰匙第一部分(是分區(qū)鍵),而該鍵的第二部分是聚類鍵(在本例中)鑰匙第二部分)

請注意,分區(qū)和群集鍵都可以由更多的列生成。,以下是如何:

 create table stackoverflow_multiple (
      k_part_one text,
      k_part_two int,
      k_clust_one text,
      k_clust_two int,
      k_clust_three uuid,
      data text,
      PRIMARY KEY((k_part_one, k_part_two), k_clust_one, k_clust_two, k_clust_three)      
  );

在這些名字后面.。

  • 這個

    分區(qū)鍵

    負(fù)責(zé)跨節(jié)點的數(shù)據(jù)分發(fā)。
  • 這個

    聚類鍵

    負(fù)責(zé)分區(qū)內(nèi)的數(shù)據(jù)排序。
  • 這個

    主鍵

    等于

    分區(qū)鍵

    在單字段鍵表中(即

    簡約).

  • 這個

    復(fù)合鍵/復(fù)合鍵

    是任何多列鍵。

進(jìn)一步的使用情況:DataStax文檔



小用法和內(nèi)容示例
簡約鑰匙:


insert into stackoverflow_simple (key, data) VALUES ('han', 'solo');
select * from stackoverflow_simple where key='han';

表內(nèi)容

key | data
----+------
han | solo

復(fù)合鍵/復(fù)合鍵可以檢索“寬行”(即,您可以僅通過分區(qū)鍵進(jìn)行查詢,即使您定義了群集鍵)。

insert into stackoverflow_composite (key_part_one, key_part_two, data) VALUES ('ronaldo', 9, 'football player');
insert into stackoverflow_composite (key_part_one, key_part_two, data) VALUES ('ronaldo', 10, 'ex-football player');
select * from stackoverflow_composite where key_part_one = 'ronaldo';

表內(nèi)容

 key_part_one | key_part_two | data
--------------+--------------+--------------------
      ronaldo |            9 |    football player
      ronaldo |           10 | ex-football player

但是您可以使用所有鍵(分區(qū)和集群)進(jìn)行查詢.

select * from stackoverflow_composite 
   where key_part_one = 'ronaldo' and key_part_two  = 10;

查詢輸出

 key_part_one | key_part_two | data
--------------+--------------+--------------------
      ronaldo |           10 | ex-football player

重要注意:分區(qū)鍵是使用where clause..如果您有一個復(fù)合分區(qū)鍵,如下所示

例:PRIMARY KEY((col1, col2), col10, col4))

您只能通過至少傳遞col1和col2來執(zhí)行查詢,這是定義分區(qū)鍵的2列。要進(jìn)行查詢的“一般”規(guī)則是,您必須至少傳遞所有分區(qū)鍵列,然后可以按設(shè)置的順序隨意添加每個聚類鍵。

因此,有效的查詢是(不包括次要指數(shù))

  • 可樂1和可樂2
  • 可樂1、可樂2和可樂10
  • Col1,Col2,Col10和Col4

無效:

  • 可樂1、可樂2和COL 4
  • 不同時包含col1和col2的任何內(nèi)容。

希望這能幫上忙。


查看完整回答
反對 回復(fù) 2019-07-16
?
大話西游666

TA貢獻(xiàn)1817條經(jīng)驗 獲得超14個贊

添加一個Redux答案作為接受的答案是相當(dāng)長的。術(shù)語“行”和“列”是在CQL上下文中使用的,而不是Cassandra實際上是如何實現(xiàn)的。

  • 主鍵唯一標(biāo)識行。
  • 復(fù)合鍵是由多列組成的鍵。
  • 分區(qū)鍵是查找一組行(即分區(qū))的主要查找。
  • 聚類鍵是主鍵的一部分,它不是分區(qū)鍵(并定義分區(qū)內(nèi)的順序)。

例子:

  • PRIMARY KEY (a)

    *分區(qū)鍵是

    a.

  • PRIMARY KEY (a, b)

    *分區(qū)鍵是

    a

    ,聚類鍵是

    b.

  • PRIMARY KEY ((a, b))

    *復(fù)合分區(qū)鍵是

    (a, b).

  • PRIMARY KEY (a, b, c)

    *分區(qū)鍵是

    a

    ,復(fù)合聚類鍵是

    (b, c).

  • PRIMARY KEY ((a, b), c)

    *復(fù)合分區(qū)鍵是

    (a, b)

    ,聚類鍵是

    c.

  • PRIMARY KEY ((a, b), c, d)

    *復(fù)合分區(qū)鍵是

    (a, b)

    ,復(fù)合聚類鍵是

    (c, d).


查看完整回答
反對 回復(fù) 2019-07-16
  • 3 回答
  • 0 關(guān)注
  • 803 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號