【云小課】【第13課】初識(shí)GaussDB(for Cassandra)基礎(chǔ)架構(gòu)

      網(wǎng)友投稿 814 2025-03-31

      架構(gòu)原理

      【云小課】【第13課】初識(shí)GaussDB(for Cassandra)基礎(chǔ)架構(gòu)

      Cassandra旨在處理多個(gè)節(jié)點(diǎn)之間的大數(shù)據(jù)工作負(fù)載且無(wú)單節(jié)點(diǎn)故障。

      Cassandra通過(guò)在同構(gòu)節(jié)點(diǎn)之間采用p2p分布式系統(tǒng)來(lái)解決故障問(wèn)題,其中數(shù)據(jù)分布在集群中的所有節(jié)點(diǎn)上。通過(guò)點(diǎn)對(duì)點(diǎn)Gossip通信協(xié)議,集群中的每個(gè)節(jié)點(diǎn)與其他節(jié)點(diǎn)頻繁交換狀態(tài)信息。每個(gè)節(jié)點(diǎn)上都有一個(gè)順序?qū)懭氲腸ommit log用來(lái)記錄寫(xiě)入操作,以確保數(shù)據(jù)實(shí)現(xiàn)持久化。然后將數(shù)據(jù)編入索引并寫(xiě)入內(nèi)存結(jié)構(gòu),稱(chēng)為內(nèi)存表(memtable),類(lèi)似于回寫(xiě)緩存。當(dāng)內(nèi)存結(jié)構(gòu)寫(xiě)滿(mǎn)數(shù)據(jù)時(shí),則把數(shù)據(jù)存儲(chǔ)到SSTable數(shù)據(jù)文件中的磁盤(pán)。所有的寫(xiě)入操作會(huì)在整個(gè)集群中自動(dòng)分區(qū)和備份。Cassandra通過(guò)一個(gè)稱(chēng)為壓縮(compaction)的過(guò)程定期整合SSTable,丟棄標(biāo)記為刪除的舊數(shù)據(jù)。為確保整個(gè)集群中所有數(shù)據(jù)的一致性,采用了各種修復(fù)機(jī)制。

      Cassandra是一個(gè)分區(qū)式行存儲(chǔ)數(shù)據(jù)庫(kù),行被組織成具有所需主鍵的表。Cassandra架構(gòu)允許任何授權(quán)用戶(hù)連接到任一數(shù)據(jù)中心的任一節(jié)點(diǎn),并使用CQL語(yǔ)言訪問(wèn)數(shù)據(jù)。為了方便使用,CQL使用與SQL類(lèi)似的語(yǔ)法并與數(shù)據(jù)表一起使用。開(kāi)發(fā)者可以通過(guò)cqlsh訪問(wèn)CQL。通常,對(duì)于由不同表組成的應(yīng)用程序,一個(gè)集群對(duì)應(yīng)一個(gè)密鑰空間。

      客戶(hù)端讀寫(xiě)請(qǐng)求可以發(fā)送到集群中的任一節(jié)點(diǎn)。當(dāng)客戶(hù)端連接到有請(qǐng)求的節(jié)點(diǎn)時(shí),該節(jié)點(diǎn)用作該客戶(hù)端的協(xié)調(diào)器(coordinator)。作為客戶(hù)端應(yīng)用程序和被請(qǐng)求數(shù)據(jù)所在的節(jié)點(diǎn)之間的代理,協(xié)調(diào)器根據(jù)集群的配置確定環(huán)(ring)中的哪些節(jié)點(diǎn)應(yīng)該獲得請(qǐng)求。

      關(guān)鍵組件

      ●??Gossip

      Gossip是用于發(fā)現(xiàn)和共享關(guān)于Cassandra集群中其他節(jié)點(diǎn)的位置和狀態(tài)信息的p2p通信協(xié)議。每個(gè)節(jié)點(diǎn)將Gossip信息持久化到本地,以便在節(jié)點(diǎn)重新啟動(dòng)時(shí)使用該信息。

      ●??Partitioner分區(qū)器

      Partitioner分區(qū)器用于確定哪個(gè)節(jié)點(diǎn)將接收到數(shù)據(jù)的第一個(gè)副本,以及如何在集群中的其他節(jié)點(diǎn)上分發(fā)其他副本。每一行數(shù)據(jù)都由主鍵唯一標(biāo)識(shí),該主鍵可以與其分區(qū)鍵相同,但也可以包括其他集群列。分區(qū)器是一個(gè)散列函數(shù),從一個(gè)行的主鍵派生出一個(gè)令牌(token)。分區(qū)器使用令牌值來(lái)確定集群中的哪些節(jié)點(diǎn)接收該行的副本。

      Murmur3 Partitioner是新Cassandra集群的默認(rèn)分區(qū)策略,在多數(shù)情況下,也是新集群的正確選擇。

      您必須設(shè)置分區(qū)器并為每個(gè)節(jié)點(diǎn)分配一個(gè)num _ tokens值。令牌數(shù)量取決于系統(tǒng)的硬件能力。如果不使用虛擬節(jié)點(diǎn)(vnode),使用initial _ token設(shè)置即可。

      ●??復(fù)制因子

      跨集群的副本總數(shù)。復(fù)制因子1意味著一個(gè)節(jié)點(diǎn)上的每一行只有一個(gè)副本。復(fù)制因子2表示每行有兩個(gè)副本,每個(gè)副本在不同的節(jié)點(diǎn)上。沒(méi)有主副本,所有副本同樣重要。您可以為數(shù)據(jù)中心設(shè)置復(fù)制因子的個(gè)數(shù)。一般情況下,設(shè)置復(fù)制策略大于1,但不要超過(guò)集群中的節(jié)點(diǎn)數(shù)量。

      ●??副本放置策略

      Cassandra將數(shù)據(jù)的副本存儲(chǔ)在多個(gè)節(jié)點(diǎn)上,以保證可靠性和容錯(cuò)性。復(fù)制策略決定將副本放置在哪些節(jié)點(diǎn)上。

      推薦使用NetworkTopologyStrategy,以便將來(lái)擴(kuò)展到多個(gè)數(shù)據(jù)中心。

      創(chuàng)建密鑰空間(keyspace)時(shí),必須確定副本放置策略和需要的副本數(shù)量。

      ●??Snitch

      Snitch將機(jī)器組劃分到數(shù)據(jù)中心和機(jī)架(拓?fù)洌?,?fù)制策略根據(jù)拓?fù)浣Y(jié)構(gòu)放置副本。

      創(chuàng)建集群時(shí)必須配置snitch。所有的snitch都使用一個(gè)動(dòng)態(tài)snitch層用來(lái)監(jiān)控性能并選擇最佳的副本讀取數(shù)據(jù)。默認(rèn)情況,snitch為開(kāi)啟狀態(tài),推薦在大多數(shù)部署中使用。您需要在Cassandra.yaml配置文件中配置各節(jié)點(diǎn)的動(dòng)態(tài)snitch閾值。

      默認(rèn)情況下,SimpleSnitch不識(shí)別數(shù)據(jù)中心或機(jī)架信息,用于單個(gè)數(shù)據(jù)中心部署或公有云中的單個(gè)區(qū)域。對(duì)于生產(chǎn)環(huán)境,推薦使用GossipingPropertyFileSnitch,它定義了節(jié)點(diǎn)的數(shù)據(jù)中心和機(jī)架的信息,并通過(guò)gossip將此信息傳播到其他節(jié)點(diǎn)。

      ●??cassandra.yaml配置文件

      用于設(shè)置集群的初始化屬性、表的緩存參數(shù)、調(diào)優(yōu)和資源利用率、超時(shí)設(shè)置、客戶(hù)端連接、備份和安全性的主要配置文件。

      ●??系統(tǒng)鍵空間表屬性

      可以以編程方式或使用客戶(hù)端應(yīng)用程序(如CQL)在每個(gè)鍵空間或表基礎(chǔ)上設(shè)置存儲(chǔ)配置屬性。

      數(shù)據(jù)庫(kù)

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶(hù)投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶(hù)投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:excel使用規(guī)劃求解的方法(怎么用excel規(guī)劃求解)
      下一篇:我通宵翻譯Pandas官方文檔,寫(xiě)了這一份Excel萬(wàn)字肝貨操作!
      相關(guān)文章
      亚洲明星合成图综合区在线| 亚洲欧洲日产国码久在线观看| 亚洲精品在线网站| 香蕉蕉亚亚洲aav综合| 久久精品国产亚洲AV网站| 亚洲一区二区三区在线视频| 亚洲国产aⅴ综合网| 亚洲国产精品毛片av不卡在线| 狠狠入ady亚洲精品| 精品亚洲福利一区二区| 爱情岛亚洲论坛在线观看| 成人伊人亚洲人综合网站222| 亚洲?V无码乱码国产精品| 亚洲日本一区二区一本一道| 亚洲成a人片在线播放| 亚洲一区二区高清| 亚洲欧洲成人精品香蕉网| 亚洲中文字幕第一页在线| 亚洲日韩精品无码一区二区三区| 国产av无码专区亚洲av果冻传媒 | 久久久久一级精品亚洲国产成人综合AV区 | 亚洲精品无码成人片在线观看| 亚洲精品亚洲人成在线观看下载 | 亚洲高清无在码在线无弹窗| 精品亚洲aⅴ在线观看| 亚洲视频一区二区在线观看| 91嫩草亚洲精品| 亚洲人精品亚洲人成在线| 亚洲欧洲无码一区二区三区| 色窝窝亚洲AV网在线观看| 亚洲精品无码久久久久AV麻豆| 在线a亚洲v天堂网2019无码| 久久亚洲国产欧洲精品一| 亚洲an天堂an在线观看| 亚洲精品国产电影午夜| 亚洲AV无码无限在线观看不卡 | 亚洲AV福利天堂一区二区三| 亚洲国产成人久久综合一区| 亚洲色大成网站www永久男同| 国产成人亚洲毛片| 国产亚洲av人片在线观看|