Cassandra簡(jiǎn)介

Cassandra簡(jiǎn)介

ID:40489077

大小:81.81 KB

頁(yè)數(shù):11頁(yè)

時(shí)間:2019-08-03

Cassandra簡(jiǎn)介_第1頁(yè)
Cassandra簡(jiǎn)介_第2頁(yè)
Cassandra簡(jiǎn)介_第3頁(yè)
Cassandra簡(jiǎn)介_第4頁(yè)
Cassandra簡(jiǎn)介_第5頁(yè)
資源描述:

《Cassandra簡(jiǎn)介》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、一、Cassandra橫空出世近10年來(lái),互聯(lián)網(wǎng)得到了空前的發(fā)展,數(shù)據(jù)量翻了數(shù)百倍;同時(shí)互聯(lián)網(wǎng)內(nèi)容的創(chuàng)作方式也由傳統(tǒng)的中心化逐步轉(zhuǎn)向用戶創(chuàng)作。網(wǎng)絡(luò)應(yīng)用的用戶量數(shù)以億記,需要處理的數(shù)據(jù)打到T級(jí)甚至是P級(jí),傳統(tǒng)的基于關(guān)系型數(shù)據(jù)庫(kù)的應(yīng)用難以應(yīng)付超高的訪問(wèn)壓力和超大的數(shù)據(jù)量。許多深有遠(yuǎn)見(jiàn)的網(wǎng)絡(luò)公司分別研發(fā)了各自的分布式存儲(chǔ)系統(tǒng)以應(yīng)對(duì)互聯(lián)網(wǎng)的發(fā)展;其中的先驅(qū)和代表是Google的Bigtable、GFS和Amazon的Dynamo;它們分別達(dá)到了互聯(lián)網(wǎng)應(yīng)用7×24的高可用性(HighAvailability)和水平可擴(kuò)展(HighScalablity)要求,并成為Google和Amazon云計(jì)算

2、的可靠基石。Cassandra就是基于GoogleBigtable的數(shù)據(jù)模型和Dynamo的數(shù)據(jù)分布思想的開源實(shí)現(xiàn)。Cassandra最初是由Facebook開發(fā)的,后來(lái)開源,貢獻(xiàn)給Apache,目前由apache開發(fā)和維護(hù)。二、Cassandra理論基礎(chǔ)Cassandra的基因來(lái)自于Bigtable和Dynamo,而Bigtable和Dynamo都是基于著名的EricBrewer的CAP理論設(shè)計(jì)的。Brewer的CAP理論認(rèn)為,在一個(gè)共享數(shù)據(jù)系統(tǒng)(數(shù)據(jù)分布式存儲(chǔ))里,最多只能獲得數(shù)據(jù)一致性(C-consistency)、數(shù)據(jù)可用性(A-availability)、分區(qū)容忍性(P-pa

3、rtitiontolerance)中的兩個(gè)特性。一致性(C)指的是當(dāng)一個(gè)寫操作完成后,后續(xù)的讀操作都能夠讀到更新后的數(shù)據(jù)??捎眯裕ˋ)指的是當(dāng)某些存儲(chǔ)節(jié)點(diǎn)失效時(shí),客戶端發(fā)起的讀寫請(qǐng)求仍然能夠獲取正確的響應(yīng),讀寫操作仍然有效。分區(qū)容忍性(P)指的是存儲(chǔ)節(jié)點(diǎn)之間的網(wǎng)絡(luò)連接斷開后,存儲(chǔ)系統(tǒng)仍然能夠進(jìn)行正常的讀寫操作,即系統(tǒng)對(duì)節(jié)點(diǎn)連接斷開是能夠容忍的。以oracleRAC為例,假如有兩個(gè)RAC節(jié)點(diǎn)。Oracle作為業(yè)界牛b的關(guān)系型數(shù)據(jù)庫(kù),必然具有強(qiáng)一致性(C),因此它不可能同時(shí)具有可用性和分區(qū)容忍性,當(dāng)其中一個(gè)rac節(jié)點(diǎn)失效了,整個(gè)rac集群的寫入操作將不可用(否則會(huì)發(fā)生數(shù)據(jù)不一致,這是ora

4、cle不能容忍的),同樣rac節(jié)點(diǎn)之間的網(wǎng)絡(luò)阻斷了,整個(gè)集群的寫入操作也是不可用的,因此oraclerac為了保證其ACID(強(qiáng)一致性)犧牲了一定的可用性和分區(qū)容忍性。而互聯(lián)網(wǎng)龐大的數(shù)據(jù)量和極高的峰值訪問(wèn)壓力使得以增加內(nèi)存、CPU等節(jié)點(diǎn)性能的垂直伸縮方案走入死胡同,使用大量廉價(jià)的機(jī)器組建水平可擴(kuò)展集群成為絕大多數(shù)互聯(lián)網(wǎng)公司的必然選擇;廉價(jià)的機(jī)器失效是正常的,大規(guī)模的集群,節(jié)點(diǎn)之間的網(wǎng)絡(luò)臨時(shí)阻斷也是常見(jiàn)的,因此在衡量一致性、可用性和分區(qū)容忍性時(shí),往往傾向先滿足后兩者,再用其他方法滿足最終的一致性。在衡量CAP時(shí),bigtable選擇了CA,用gfs來(lái)彌補(bǔ)P;dynamo選擇了AP,C弱化

5、為最終一致性(通過(guò)Quorum或者read-your-write機(jī)制)。Cassandra吸取了bigtable和dynamo二者的優(yōu)良基因。在數(shù)據(jù)模型上采用了Bigtable的基于列集(ColumnFamily)的模型;在數(shù)據(jù)的分布式存儲(chǔ)上,采用了dynamo的模式,采用一致性哈希將數(shù)據(jù)散列在節(jié)點(diǎn)環(huán)上,節(jié)點(diǎn)數(shù)據(jù)的復(fù)制采用隱式傳送(HintedHandoff)的方式,節(jié)點(diǎn)成員和節(jié)點(diǎn)錯(cuò)誤探測(cè)采用稱為Gossip的協(xié)議。正是這樣,Cassandra獲得了高可用、高伸縮(水平擴(kuò)展)特性,并提供了客戶端可控的分級(jí)一致性,使得其可應(yīng)用場(chǎng)景更加豐富。三、Cassandra安裝、啟動(dòng)與配置安裝、啟動(dòng)

6、與停止:Cassandra是用java開發(fā)的,因此安裝啟動(dòng)非常簡(jiǎn)單,只要你有jvm(1.6版本以上)即可。1.從官方網(wǎng)站下載Cassandra最新版本(0.7);2.解壓,執(zhí)行$CASSANDRA_HOME/bin/cassandra-f-ppid;-f參數(shù)表示強(qiáng)制讓cassandra進(jìn)程在前臺(tái)執(zhí)行,可實(shí)時(shí)觀察到cassandra的控制臺(tái)輸出;-p表示讓cassandra啟動(dòng)后將進(jìn)程標(biāo)志(pid)寫入到指定的文件中(方便殺進(jìn)程);3.$CASSANDRA_HOME/bin/cassandra-f-ppid4.加載keyspaces配置;從0.7版本開始,cassandra啟動(dòng)時(shí)不會(huì)加載

7、配置文件($CASSANDRA_HOME/conf/cassandra.yaml)里keyspaces定義,需要手工加載,加載命令為:5.$CASSANDRA_HOME/bin/schematoollocalhost9160import6.用cli客戶端連接Cassandra服務(wù)器;Cassandra提供了控制臺(tái)命令行客戶端程序($CASSANDRA_HOME/bin/cassandra-cli),可通過(guò)該程序訪問(wèn)cassandra服務(wù)器,進(jìn)行

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。