Cassandra架構(gòu)與應(yīng)用(文茂)

Cassandra架構(gòu)與應(yīng)用(文茂)

ID:37322809

大小:964.66 KB

頁數(shù):84頁

時間:2019-05-21

Cassandra架構(gòu)與應(yīng)用(文茂)_第1頁
Cassandra架構(gòu)與應(yīng)用(文茂)_第2頁
Cassandra架構(gòu)與應(yīng)用(文茂)_第3頁
Cassandra架構(gòu)與應(yīng)用(文茂)_第4頁
Cassandra架構(gòu)與應(yīng)用(文茂)_第5頁
資源描述:

《Cassandra架構(gòu)與應(yīng)用(文茂)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。

1、Cassandra架構(gòu)與應(yīng)用ForCassandra0.7.0淘寶網(wǎng)文茂Agenda?基礎(chǔ)知識?數(shù)據(jù)模型?數(shù)據(jù)分布策略?存儲機(jī)制?數(shù)據(jù)讀寫刪?最終一致性?Gossiper?面向未來NoSql背景隨著互聯(lián)網(wǎng)大規(guī)模的Web2.0應(yīng)用的興起,隨著云計算需要的大規(guī)模分布式服務(wù)和分布式存儲的發(fā)展,傳統(tǒng)的關(guān)系數(shù)據(jù)庫面臨著諸多全新的挑戰(zhàn),特別是在那些超大規(guī)模和高并發(fā)的SNS類型的應(yīng)用場景下,使用關(guān)系數(shù)據(jù)庫來存儲和查詢用戶動態(tài)數(shù)據(jù)已經(jīng)顯得力不從心,暴露了很多難克的很多難以克服的問題:(1)對數(shù)據(jù)庫高并發(fā)讀寫的需求(2)對海量數(shù)據(jù)的高效率存儲和訪問的需求(3)對數(shù)據(jù)庫的高可擴(kuò)展性和

2、高可用性的需求。在這樣的背景下,NoSQL數(shù)據(jù)庫就應(yīng)運(yùn)而生了。NOSQLissimplyNotOnlySQL!NOSQL特點(diǎn)?不要叫它們數(shù)據(jù)庫?它們可以處理超大量的數(shù)據(jù)?它們運(yùn)行在便宜的PC服務(wù)器集群上?它們打破了性能瓶頸?沒有過多的操作。?Bootstrap支持CAPACID/BASE?ACID?BASE?原子性(Atomicity).?BasicallyAvailable(基本可用)事務(wù)中的所有操作,要么全部成功,?Softstate(柔性狀態(tài))要么全部不做.狀態(tài)可以有一段時間不同步,異步?一致性(Consistency)?Eventuallyconsiste

3、nt(最終一致)在事務(wù)開始與結(jié)束時,數(shù)據(jù)庫處于一最終數(shù)據(jù)是一致的就可以了,而不是致狀態(tài).時時一致?隔離性(Isolation).事務(wù)如同只有這一個操作在被數(shù)據(jù)庫所執(zhí)行一樣.?持久性(Durability).在事務(wù)結(jié)束時,此操作將不可逆轉(zhuǎn).(也就是只要事務(wù)提交,系統(tǒng)將保證數(shù)據(jù)不會丟失,即使出現(xiàn)系統(tǒng)Crash,譯者補(bǔ)充).最終一致性?場景介紹?(1)存儲系統(tǒng)存儲系統(tǒng)可以理解為一個黑盒子,它為我們提供了可用性和持久性的保證。?(2)ProcessAProcessA、ProcessB、ProcessC是3個相互獨(dú)立節(jié)點(diǎn),都可對存儲系統(tǒng)write和read操作?強(qiáng)一致性強(qiáng)一

4、致性(即時一致性)假如A先寫入了一個值到存儲系統(tǒng),存儲系統(tǒng)保證后續(xù)A,B,C的讀取操作都將返回最新值。?弱一致性假如A先寫入了一個值到存儲系統(tǒng),存儲系統(tǒng)不能保證后續(xù)A,B,C的讀取操作能讀取到最新值。此種情況下有一個“不一致性窗口”的概念,它特指從A寫入值,到后續(xù)操作A,B,C讀取到最新值這一段時間。?最終一致性最終一致性是弱一致性的一種特例。假如A首先write了一個值到存儲系統(tǒng),存儲系統(tǒng)保證如果在A,B,C后續(xù)讀取之前沒有其它寫操作更新同樣的值的話,最終所有的讀取操作都會讀取到A寫入的最新值。此種情況下,如果沒有失敗發(fā)生的話,“不一致性窗口”的大小依賴于以下的

5、幾個因素:交互延遲,系統(tǒng)的負(fù)載,以及復(fù)制技術(shù)中replica的個數(shù)(這個可以理解為master/salve模式中,salve的個數(shù))。Casandra是什么??Cassandra是一個高可靠的大規(guī)模分布式存儲系統(tǒng)。?2007由facebook開發(fā)–已經(jīng)在生產(chǎn)環(huán)境中使用,比如emailidindexsearch?2009年成為Apache的孵化項(xiàng)目Cassandra有什么特點(diǎn)??列表數(shù)據(jù)結(jié)構(gòu)在混合模式可以將超級列添加到5維的分布式Key‐VlValue存儲系統(tǒng)。?模式靈活使用Cassandra,你不必提前解決記錄中的字段。你可以在系統(tǒng)運(yùn)行時隨意的添加或移除字段。?真

6、正的可擴(kuò)展性Cassandra是純粹意義上的水平擴(kuò)展。為給集群添加更多容量,可以增加動態(tài)添加節(jié)點(diǎn)即可。你不必重啟任何進(jìn)程,改變應(yīng)用查詢,或手動遷移任何數(shù)據(jù)。?多數(shù)據(jù)中心識別你可以調(diào)整你的節(jié)點(diǎn)布局來避免某一個數(shù)據(jù)中心起火,一個備用的數(shù)據(jù)中心將至少有每條記錄的完全復(fù)制。?范圍查詢?nèi)绻悴幌矚g全部的鍵值查詢,則可以設(shè)置鍵的范圍來查詢。?分布式寫操作有可以在任何地方任何時間集中讀或?qū)懭魏螖?shù)據(jù)。并且不會有任何單點(diǎn)失敗。Agenda?基礎(chǔ)知識?數(shù)據(jù)模型?數(shù)據(jù)分布策略?存儲機(jī)制?數(shù)據(jù)讀寫刪?最終一致性?Gossiper?面向未來數(shù)據(jù)模型?Column?SuperColumn?C

7、olumnFamily?Keyspaces?RowColumnColumnnamevaluetimestampUser_id182848051270073054ColumnFamily{Columns}ColumnFamilykeyColumns18284805namevaluetimestampuser_id182848051270073054nickhz07991270073054pwdtaobao1234127007305418284806namevaluetimestampuser_id182848061270084021nick劉劉商家測試1127008

8、4021p

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

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

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