Cassandra實(shí)戰(zhàn)

出版時(shí)間:2011-6  出版社:機(jī)械工業(yè)  作者:郭鵬  頁數(shù):303  
Tag標(biāo)簽:無  

前言

為什么寫本書最早開始接觸Cassandra是在2010年年初,那時(shí)Cassandra才剛剛進(jìn)入人們的視線。由于傳統(tǒng)的數(shù)據(jù)庫已經(jīng)無法滿足項(xiàng)目業(yè)務(wù)的需求,公司便派我去尋找和嘗試其他的數(shù)據(jù)庫解決方案。當(dāng)時(shí)有兩種備選方案:Hadoop項(xiàng)目中的HBase和Facebook開源的Cassandra。在對(duì)比了各方面的資料和分析了項(xiàng)目的業(yè)務(wù)需求之后,我們最終選擇了配置簡(jiǎn)單、部署方便,使用高效的Cassandra。與HBase不同,Cassandra是一套獨(dú)立的系統(tǒng),不需要搭建和了解HDFS及Zookeeper集群即可開始使用,并且可以在Windows系統(tǒng)中直接進(jìn)行測(cè)試。所以,我們?cè)诤芏痰臅r(shí)間之內(nèi)就完成了功能和性能的評(píng)估,為后期的項(xiàng)目實(shí)施做好了技術(shù)儲(chǔ)備。到2010年6月份,部門開始正式搭建實(shí)時(shí)數(shù)據(jù)中心,需要將公司前臺(tái)數(shù)據(jù)庫產(chǎn)生的業(yè)務(wù)數(shù)據(jù)定期抽取到實(shí)時(shí)數(shù)據(jù)中心,提供給業(yè)務(wù)部門的相關(guān)人員使用。于是我們開始設(shè)計(jì)Cassandra的業(yè)務(wù)數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),并開始分析Cassandra內(nèi)部的實(shí)現(xiàn)機(jī)制和源代碼,從Cassandra的工作原理上指導(dǎo)我們的業(yè)務(wù)數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)和測(cè)試方案。在整個(gè)設(shè)計(jì)和測(cè)試的過程中,我們遇到的一些問題,都可以通過活躍的Cassandra開發(fā)社區(qū)和開放的源代碼找到答案。而且,我們還可以通過修改少量的源代碼來修復(fù)一些BUG和增強(qiáng)系統(tǒng)管理的特性。最終,這些修改也都在開源社區(qū)提供的后續(xù)版本中得到了體現(xiàn)。得益于活躍的開源社區(qū),Cassandra的功能和版本也在不斷地更新。尤其是在最新的Cassandra 0.7.x版本中,提供了大家都非常期待的二級(jí)索引與在線更新Schema的功能。Datastax公司作為Cassandra的主要開發(fā)成員,開始為Cassandra的使用者提供相應(yīng)的服務(wù)支持,并開發(fā)出了一系列強(qiáng)大的工具,進(jìn)一步提高了Cassandra的實(shí)用性。另外,在2011年的5月,Datastax將提供一款振奮人心的工具——Brisk。通過Brisk,Cassandra將取代Hadoop項(xiàng)目中的HDFS和HBase的角色,直接與Hadoop項(xiàng)目中的MapReduce和Hive項(xiàng)目進(jìn)行集成,從而提高整個(gè)海量數(shù)據(jù)分析系統(tǒng)的性能和易用性。相信未來Cassandra能夠我們帶來更多的驚喜。本書面向的讀者初中級(jí)程序員。他們可以從《Cassandra實(shí)戰(zhàn)》中的實(shí)際例子了解Cassandra的基本概念,以及如何通過各種編程接口在Cassandra中寫入和讀取數(shù)據(jù),如何建立二級(jí)索引,如何動(dòng)態(tài)修改Schema信息,如何通過MapReduce做海量的數(shù)據(jù)分析,等等。中高級(jí)程序員。他們可以通過本書對(duì)源代碼的分析和講解來了解Cassandra中的內(nèi)部實(shí)現(xiàn)原理,從而能選用更加高效的實(shí)現(xiàn)方式,調(diào)整最適合的Cassandra集群運(yùn)行配置,增強(qiáng)程序的整體運(yùn)行性能和穩(wěn)定性。DBA和系統(tǒng)運(yùn)維人員。他們可以通過本書中的運(yùn)維管理等內(nèi)容,了解如何在Cassandra集群中安全高效地增加或減少服務(wù)器,以及如何恢復(fù)集群的錯(cuò)誤,等等。系統(tǒng)架構(gòu)師。他們可以根據(jù)本書所講的內(nèi)容掌握Cassandra能做什么,不能做什么,適合做什么,從而為不同項(xiàng)目做出最合適的架構(gòu)選型。聯(lián)系作者正如大家所知,開源技術(shù)的更新速度非常之快,Cassandra亦是如此。盡管我們已經(jīng)很努力地將最新的內(nèi)容融入其中,但仍難免會(huì)遺留部分內(nèi)容。所以,如果你發(fā)現(xiàn)本書存在任何錯(cuò)誤和問題,或者是你對(duì)書中的某些內(nèi)容不理解需要與我們進(jìn)一步探討,再或者是你有好的意見或建議,都?xì)g迎隨時(shí)與我取得聯(lián)系。另外,我的個(gè)人博客也會(huì)經(jīng)常更新關(guān)于Cassandra的最新動(dòng)態(tài)和使用心得等內(nèi)容,也歡迎大家來這里與我交流。

內(nèi)容概要

《Cassandra實(shí)戰(zhàn)》是國(guó)內(nèi)首本Cassandra專著,由Cassandra領(lǐng)域的先驅(qū)者和實(shí)踐者親自執(zhí)筆,多位數(shù)據(jù)庫專家聯(lián)袂推薦,權(quán)威性毋庸置疑。
《Cassandra實(shí)戰(zhàn)》內(nèi)容全面,基于Cassandra最新版撰寫,系統(tǒng)地講解了Cassandra的所有功能特性和使用方法;實(shí)戰(zhàn)性強(qiáng),不僅包含大量示例代碼,而且還設(shè)計(jì)了一個(gè)完整的在線交易系統(tǒng)實(shí)例;有一定的深度,不僅結(jié)合源代碼分析了Cassandra的底層機(jī)制和工作原理,而且還精心總結(jié)了一些關(guān)于Cassandra的最佳實(shí)踐。
《Cassandra實(shí)戰(zhàn)》一共分為13章,首先簡(jiǎn)單介紹了NoSQL的優(yōu)勢(shì),以及幾種具有代表性的NoSQL數(shù)據(jù)庫的功能特性;其次詳細(xì)講解了Cassandra的安裝和配置、數(shù)據(jù)模型和排序規(guī)則、編程接口等基礎(chǔ)知識(shí);接著以迭代的方式演示了一個(gè)基于Cassandra的在線交易系統(tǒng)的完整開發(fā)過程,很好地將基礎(chǔ)理論融入到了實(shí)踐中;再接著結(jié)合源代碼分析了Cassandra的集群機(jī)制、內(nèi)部數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)、數(shù)據(jù)更新機(jī)制、數(shù)據(jù)讀取機(jī)制、數(shù)據(jù)壓縮機(jī)制、啟動(dòng)流程等與Cassandra的底層機(jī)制和工作原理相關(guān)的內(nèi)容;最后講解了Cassandra在分布式環(huán)境中的應(yīng)用、與Hadoop的整合,以及相關(guān)的最佳實(shí)踐。附錄中包含了本書示例的源代碼以及在Eclipse環(huán)境中編輯和修改Cassandra的源代碼方法。
《Cassandra實(shí)戰(zhàn)》適合所有對(duì)Cassandra感興趣的讀者閱讀。通過本書,不僅能全面掌握Cassandra的基礎(chǔ)知識(shí)和使用方法,還能深入理解Cassandra的底層機(jī)制和工作原理,以及它在復(fù)雜現(xiàn)實(shí)環(huán)境中的應(yīng)用。

作者簡(jiǎn)介

郭鵬,國(guó)內(nèi)Cassandra領(lǐng)域的先驅(qū)者和實(shí)踐者。資深軟件開發(fā)工程師,擅長(zhǎng)分布式應(yīng)用程序的開發(fā)和使用,時(shí)間經(jīng)驗(yàn)極其豐富。一直致力于Cassandra、Hadoop、Hive、MongoDB等分布式應(yīng)用的底層實(shí)現(xiàn)原理的研究和探索,對(duì)分布式數(shù)據(jù)庫和數(shù)據(jù)倉庫也有深刻而獨(dú)到的理解。曾任阿里巴巴數(shù)據(jù)倉庫開發(fā)工程師,參與設(shè)計(jì)和開發(fā)了多個(gè)基于Cassandra和Hadoop的大型應(yīng)用?,F(xiàn)供職于盛大在線,參與Hadoop計(jì)算存儲(chǔ)平臺(tái)的搭建與實(shí)施?;钴S于開源技術(shù)社區(qū),是博客園的推薦博客,也是CSDN的博客專家,熱衷于與網(wǎng)友分享自己的心得和體會(huì),深受社區(qū)歡迎。博客地址:http://gpcuster.cnblogs.com/;新浪微博:@逖靖寒。

書籍目錄

前言
第1章 認(rèn)識(shí)NoSQL
1.1 NoSQL的起源和發(fā)展現(xiàn)狀
1.2 為什么要使用NoSQL
1.3 開源NoSQL產(chǎn)品介紹
1.4 本章小結(jié)
第2章 Cassandra快速入門
2.1 在Windows環(huán)境運(yùn)行單機(jī)版Cassandra
2.2 在Linux環(huán)境運(yùn)行單機(jī)版Cassandra
2.3 Cassandra的數(shù)據(jù)模型
2.4 Cassandra的數(shù)據(jù)排序規(guī)則
2.5 配置數(shù)據(jù)類型
2.6 使用命令行工具與Cassandra交互
2.7 本章小結(jié)
第3章 理解Cassandra編程接口
3.1 多語言服務(wù)開發(fā)框架Thrift
3.2 Cassandra的數(shù)據(jù)類型
3.3 Cassandra的編程接口
3.4 Cassandra 0.7.x版本新增功能
3.5 本章小結(jié)
第4章 基于Cassandra的在線交易系統(tǒng)
4.1 需求分析
4.2 數(shù)據(jù)模型設(shè)計(jì)
4.3 編碼實(shí)現(xiàn)
4.4 系統(tǒng)功能驗(yàn)證
4.5 遷移到Cassandra 0.7.x
4.6 本章小結(jié)
第5章 Cassandra的集群機(jī)制
第6章 Cassandra的內(nèi)部數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)
第7章 Cassandra的數(shù)據(jù)更新機(jī)制
第8章 Cassandra的數(shù)據(jù)讀取機(jī)制
第9章 Cassandra的數(shù)據(jù)壓縮機(jī)制
第10章 Cassandra的啟動(dòng)流程
第11章 在分布式環(huán)境中使用的Cassandra
第12章 Cassandra與Hadoop的整合
第13章 Cassandra最佳實(shí)踐
附錄A 在Eclipse中修改Cassandra源代碼
附錄B CassSeller代碼
附錄C CassSeller-0.7代碼

章節(jié)摘錄

版權(quán)頁:插圖:

媒體關(guān)注與評(píng)論

毫無疑問,NoSQL數(shù)據(jù)庫的出現(xiàn)讓數(shù)據(jù)庫的選擇性變得更加豐富。Facebook公司推出的Cassandra無疑是開源NoSQL產(chǎn)品中的一顆閃亮新星。Facebook、Twitter、Digg等公司對(duì)Cassandra的使用已經(jīng)證明了它不是一個(gè)玩具產(chǎn)品,其完全可以在復(fù)雜的生產(chǎn)環(huán)境下承擔(dān)重要的角色。同時(shí),越來越多的關(guān)系數(shù)據(jù)庫也開始關(guān)注NoSQL對(duì)數(shù)據(jù)庫技術(shù)的影響,如最近MySQL數(shù)據(jù)庫下的InnoDB存儲(chǔ)引擎已經(jīng)提供了NoSQL的訪問方式?!禖assandra實(shí)戰(zhàn)》對(duì)Cassandra的配置、應(yīng)用、編譯等內(nèi)容進(jìn)行了詳細(xì)的介紹,想對(duì)Cassandra一探究竟的讀者千萬不能錯(cuò)過。  ——姜承堯 資深MySQL數(shù)據(jù)庫專家,著有經(jīng)典著作《MySQL技術(shù)內(nèi)幕:InnoDB存儲(chǔ)引擎》Cassandra最初是由Facebook開發(fā)的一套開源的分布式NoSQL數(shù)據(jù)庫系統(tǒng),它同時(shí)具備了Google BigTable的數(shù)據(jù)模型和Amazon Dynamo的完全分布式架構(gòu),具有良好的可擴(kuò)展性,目前被很多大型的Web2.0網(wǎng)站所使用,是一種流行的分布式結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)方案?!禖assandra實(shí)戰(zhàn)》作者維護(hù)Cassandra數(shù)據(jù)庫已經(jīng)有很長(zhǎng)時(shí)間,具有豐富的一線工作經(jīng)驗(yàn),同時(shí)本書還結(jié)合源碼對(duì)一些底層的機(jī)制和原理進(jìn)行了分析,值得初中級(jí)讀者參考。  ——楊海朝 新浪網(wǎng)(中國(guó))技術(shù)有限公司首席DBA/新浪微博數(shù)據(jù)庫負(fù)責(zé)人NoSQL是IT領(lǐng)域當(dāng)下討論最熱烈的技術(shù)話題之一。2010年,Cassandra的去中心化和無縫擴(kuò)展的特性吸引了眾多NoSQL粉絲的眼球,成為了NoSQL陣營(yíng)中的一道亮麗風(fēng)景線。本書既能引領(lǐng)我們?nèi)嬲莆誄assandra的基礎(chǔ)知識(shí),又能幫助我們深入了解Cassandra的運(yùn)行機(jī)制與原理。相信在閱讀完本書后,我們將會(huì)對(duì)Cassandra有一個(gè)全面而深入的認(rèn)識(shí)。對(duì)于喜愛NoSQL的我來說,看到國(guó)內(nèi)有相關(guān)的書籍出版,非常興奮,特此向所有關(guān)注NoSQL的朋友推薦《Cassandra實(shí)戰(zhàn)》?!  獙O立 數(shù)據(jù)庫專家/NoSQL先驅(qū)/去哪兒網(wǎng)高級(jí)系統(tǒng)架構(gòu)師有很多技術(shù)在出現(xiàn)后不久就淡出了人們的視野,導(dǎo)致這種情況發(fā)生的原因有很多,其中一個(gè)重要的原因就是沒有合適的應(yīng)用環(huán)境。在這一點(diǎn)上,NoSQL技術(shù)無疑是幸運(yùn)的。因?yàn)槲覀兯熘年P(guān)系型數(shù)據(jù)庫在很多超大規(guī)模、高并發(fā)的Web 2.0網(wǎng)站應(yīng)用中面臨很多無法克服的問題,所以近幾年NoSQL技術(shù)越來越受到關(guān)注和重視。Amazon的Dynamo和Google的BigTable都是非常成功的商業(yè)NoSQL產(chǎn)品,很多開源的NoSQL產(chǎn)品也得到了長(zhǎng)足的發(fā)展,Cassandra就是其中之一?!禖assandra實(shí)戰(zhàn)》由淺入深地介紹了Cassandra的基礎(chǔ)知識(shí)和它在生產(chǎn)環(huán)境中的應(yīng)用,無疑是一本全面了解Cassandra的好書,本書將引領(lǐng)你走進(jìn)無比精彩的NoSQL世界。  ——張勤 著有《linux服務(wù)器配置全程實(shí)錄》

編輯推薦

《Cassandra實(shí)戰(zhàn)》:《Cassandra實(shí)戰(zhàn)》內(nèi)容全面,系統(tǒng)地講解了Cassandra的所有功能特性及其使用方法。《Cassandra實(shí)戰(zhàn)》深入淺出,結(jié)合源代碼分析了Cassandra的底層機(jī)制和工作原理?!禖assandra實(shí)戰(zhàn)》由國(guó)內(nèi)Cassandra領(lǐng)域的驅(qū)者和實(shí)踐者親自執(zhí)筆,多位數(shù)據(jù)庫專家聯(lián)袂推薦。以Face book和Twitter為代表的Web 2. 應(yīng)用的數(shù)據(jù)的爆炸性增長(zhǎng)為后臺(tái)存儲(chǔ)系統(tǒng)帶來了兩個(gè)新的挑戰(zhàn):海量數(shù)據(jù)存儲(chǔ)數(shù)據(jù)查詢低延時(shí)為了設(shè)計(jì)出能夠存儲(chǔ)海量數(shù)據(jù)并實(shí)現(xiàn)低延時(shí)的數(shù)據(jù)庫架構(gòu),Google和Amazon分別給出了自己的實(shí)現(xiàn)技術(shù),并且能滿足不同的需求。Google開發(fā)了BigTable,Amazon開發(fā)了Dynamo。這兩種實(shí)現(xiàn)都具有高擴(kuò)展性和高可用性,并且可以在廉價(jià)的服務(wù)器中穩(wěn)定運(yùn)行,節(jié)約了大量的硬件成本。Face book基于Google和Amazon的研究成果開發(fā)出了Cassandra,它不僅具備BigTable強(qiáng)大的數(shù)據(jù)模型,而且還具備Dynamo的簡(jiǎn)潔性,例如端到端數(shù)據(jù)備份,以及強(qiáng)大的錯(cuò)誤容災(zāi)功能等。2008年,F(xiàn)ace book將Cassandra貢獻(xiàn)給了開源社區(qū)。今天,Cassandra已經(jīng)成為實(shí)現(xiàn)訪問低延時(shí)和海量數(shù)據(jù)存儲(chǔ)的首選架構(gòu)。大量的公司和機(jī)構(gòu)都開始使用Cassandra構(gòu)建實(shí)時(shí)應(yīng)用程序以處理海量的數(shù)據(jù),其中包括Netflix、TWitter和Cisco等國(guó)際知名企業(yè)。Cassandra陽的開發(fā)社區(qū)非?;钴S,它在0.6版中與Hadoop進(jìn)行了整合,使得Cassandra中的數(shù)據(jù)能夠被Hadoop處理;在0.7版中,它又新增了二級(jí)索引和在線更新Schema等功能。更讓人期待的是,Cassandra將實(shí)現(xiàn)HDFS的接口,成為HDFS和HBase的替換方案,能提供更好的性能?!禖assandra實(shí)戰(zhàn)》內(nèi)容全面,實(shí)戰(zhàn)性強(qiáng),不僅系統(tǒng)地講解了Cassandra的使用方法,而且還從源代碼的角度對(duì)Cassandra的實(shí)現(xiàn)原理和工作機(jī)制進(jìn)行了分析和探討,深度、廣度和實(shí)踐性完美結(jié)合,相信能給廣大Cassandra用戶帶來一定的幫助。

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    Cassandra實(shí)戰(zhàn) PDF格式下載


用戶評(píng)論 (總計(jì)19條)

 
 

  •   本人正在利用Cassandra開發(fā)分布式存儲(chǔ)系統(tǒng),一直參考國(guó)外英文資料
    沒想到國(guó)內(nèi)這么快就會(huì)出教材!
    看了下目錄,感覺寫得很系統(tǒng)
  •   Cassandra實(shí)戰(zhàn)這書不錯(cuò),值得買!
  •   書很實(shí)用,很好,紙質(zhì)也不錯(cuò),印刷清晰
  •   支持一下,沒別的意思。
  •   還不錯(cuò)啊 挺好的
  •   很值得看的書,很有收獲。
  •   我們一直在做Hadoop的項(xiàng)目,而BigTable并不能滿足我們的需求,進(jìn)而求諸Cassandra,后來通過分析其代碼,發(fā)現(xiàn)能為我們的項(xiàng)目添加不少有用的東西。
  •   對(duì)于剛接觸的人 可以對(duì)cassandra有個(gè)比較全面的了解
  •   這本書比較適合剛開始接觸Cassandra的人閱讀
  •   看來作者是有相關(guān)工作經(jīng)驗(yàn)的,對(duì)像我這樣的初學(xué)者是有幫助的
  •   書的紙張很好,內(nèi)容也易懂,這本書挺滿意的。
  •   很新的技術(shù)
  •   到貨很快,書看著也還行,還沒有仔細(xì)看
  •   看了下原理,不會(huì)C,有點(diǎn)看不懂
  •   這本書,簡(jiǎn)單的看了一下還是比較通俗易懂的,畢竟是個(gè)工具的解說也是不錯(cuò)了
  •   書中列了大量非JAVA人員能看懂人原碼,通篇沒給出一個(gè)完整的cassandra 存儲(chǔ)結(jié)構(gòu),大家還是看英文吧。
  •   挺好的書本。
  •   就沖著臉譜,這本書就值得借鑒
  •   國(guó)內(nèi)第一本介紹cassandra的書
 

250萬本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7