W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
Cassandra的設(shè)計目的是處理跨多個節(jié)點的大數(shù)據(jù)工作負(fù)載,而沒有任何單點故障。Cassandra在其節(jié)點之間具有對等分布式系統(tǒng),并且數(shù)據(jù)分布在集群中的所有節(jié)點之間。
集群中的所有節(jié)點都扮演相同的角色。 每個節(jié)點是獨立的,并且同時互連到其他節(jié)點。
集群中的每個節(jié)點都可以接受讀取和寫入請求,無論數(shù)據(jù)實際位于集群中的何處。
當(dāng)節(jié)點關(guān)閉時,可以從網(wǎng)絡(luò)中的其他節(jié)點提供讀/寫請求。
在Cassandra中,集群中的一個或多個節(jié)點充當(dāng)給定數(shù)據(jù)片段的副本。如果檢測到一些節(jié)點以過期值響應(yīng),Cassandra將向客戶端返回最近的值。返回最新的值后,Cassandra在后臺執(zhí)行讀修復(fù)以更新失效值。
下圖顯示了Cassandra如何在集群中的節(jié)點之間使用數(shù)據(jù)復(fù)制,以確保沒有單點故障的示意圖。
注 - Cassandra在后臺使用Gossip協(xié)議,允許節(jié)點相互通信并檢測集群中的任何故障節(jié)點。
Cassandra的關(guān)鍵組件如下:
節(jié)點 - 它是存儲數(shù)據(jù)的地方。
數(shù)據(jù)中心 - 它是相關(guān)節(jié)點的集合。
集群 - 集群是包含一個或多個數(shù)據(jù)中心的組件。
提交日志 - 提交日志是Cassandra中的崩潰恢復(fù)機制。每個寫操作都寫入提交日志。
Mem-表 - mem-表是存儲器駐留的數(shù)據(jù)結(jié)構(gòu)。提交日志后,數(shù)據(jù)將被寫入mem表。有時,對于單列族,將有多個mem表。
SSTable - 它是一個磁盤文件,當(dāng)其內(nèi)容達(dá)到閾值時,數(shù)據(jù)從mem表中刷新。
布隆過濾器 - 這些只是快速,非確定性的算法,用于測試元素是否是集合的成員。它是一種特殊的緩存。 每次查詢后訪問Bloom過濾器。
用戶可以使用Cassandra查詢語言(CQL)通過其節(jié)點訪問Cassandra。CQL將數(shù)據(jù)庫(Keyspace)視為表的容器。 程序員使用cqlsh:提示以使用CQL或單獨的應(yīng)用程序語言驅(qū)動程序。
客戶端針對其讀寫操作訪問任何節(jié)點。該節(jié)點(協(xié)調(diào)器)在客戶端和保存數(shù)據(jù)的節(jié)點之間播放代理。
在讀操作,Cassandra 從MEM-表得到的值,并檢查過濾器以找到保存所需數(shù)據(jù)的相應(yīng)的SSTable。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: