與HBase對比,Cassandra的優勢特性是什么?


在1月9日Cassandra中文社區開年活動開始之前的閑聊時間,活動的四位嘉賓就“HBase和Cassandra的對比”這一話題展開了討論。
 
總的來說,HBase和Cassandra各有其優勢特性以及比較適合的應用場景。不過相比HBase來說,Cassandra的持續在線、穩定性高、易於上手等優勢讓嘉賓們印象深刻,紛紛給出好評。

 
劉騰
華為消費者雲服務部cassandra數據庫運維負責人,2011年加入華為,先后負責過分布式存儲,分布式緩存和分布式消息隊列的運維工作,2014年開始接觸cassandra,2018年開始全面負責cassandra的運維工作。
 
“華為有在大規模使用Cassandra,也使用了HBase。Cassandra主要用在OLTP場景,HBase主要用在OLAP場景。
 
相比HBase,Cassandra的優勢很多,比如我認為Cassandra對運維的友好程度整體比HBase要好,可用性也要高。
 
我也希望Cassandra未來可以把HBase的部分優點吸收過來,比如引入RocksDB、支持對接多種底層存儲類型、支持計算和存儲分離的架構(可對接HDFS等分布式存儲)。“

 
王鋒
奇虎360集團技術總監,存儲與大數據架構平台負責人。國內較早從事Cassandra相關技術研究和實踐的開發者。360雲盤則是國內早期Cassandra落地較為成功的案例,峰值規模1.4萬物理節點。
 
“360從2011年就開始用HBase和Cassandra這兩套系統了。一方面,這兩種數據庫的使用場景不太一樣。HBase更多的是用在網頁庫、離線分析,而Cassandra更多的是滿足在線(always online)需求。
 
在選擇這兩種數據庫時主要考慮的點是故障恢復時間。HBase本身故障恢復的時間,它在Region Server宕機之后需要重新分配,這個分配的時間是秒級到分鍾級,是比較長的。如果數據規模比較大,很難用HBase滿足100%在線這種業務需求。很多業務在我們這里很難容忍較大的訪問抖動,或者較大的MTTR的時長,對於這類需求我們更傾向於使用Cassandra。
 
而對於數據規模大且吞吐量大的場景下的離線分析,我們更多地傾向於使用HBase,因為HBase是基於HDFS之上,很多掃描(scan)類型的訪問用HDFS的效率就比較高一些。
 
另一個方面,是當我們做一些to B的項目時會發現Cassandra很適合中小規模的場景。因為它沒有中心節點,整體架構比較輕量化,這樣在運維管控方面就會有比較大的優勢。
 
再加上Cassandra持續可用的特點和按需擴容的能力,以及Cassandra 3.0版本中的同城多活的特性,Cassandra訪問可靠性上會比較有優勢。
整體來說,從數據模型和功能方面來看,這兩種數據庫差不太多,但是在不同的應用場景可能會傾向使用不同的數據庫。“

 
劉軍民
阿里雲數據庫產品經理。目前在阿里雲負責雲Cassandra數據庫的產品規划相關工作。曾在19年與多位小伙伴共同發起Cassandra中文社區,期望更多的伙伴加入到社區建設,期待Cassandra在中國區可以生機勃勃,大放異彩。
 
“我們在客戶訪談的過程中經常碰到這樣的疑惑:HBase和Cassandra到底怎么選?
 
因為我是做數據庫產品的,我個人覺得Cassandra有幾個好處:首先它起配是非常靈活的,另外就是它的穩定性。我們訪談的很多用戶都反映過,在使用Cassandra的過程中數據庫很穩定而且維護也很簡單。因為Cassandra的組件較少,不像HBase有一堆組件需要維護。
 
所以我個人覺得,HBase更像是Hadoop體系下結合比較緊密的一個大數據存儲工具,而Cassandra更像是一個數據庫,一個非常容易運維的寬表數據庫。
 
另外Cassandra的開發也很簡便,因為Cassandra的CQL對於MySQL用戶來說沒有太高的學習門檻。很多用戶反饋,以前從來沒有用過Cassandra,但是花了幾天時間學習之后就可以上手了,也就是說學習門檻是很低的。
 
除此之外,還有一點是穩定、易維護,尤其是在一些小規模集群上。我個人覺得Cassandra除了已有的使用場景外,在一些面向未來的場景,比如5G、AIoT、智能制造這些新興的場景,對一些公司(尤其是初創公司)是更友好的。這也是為什么越來越多的開發者願意選用Cassandra的原因。“

 
鄧為
現任DataStax領航架構師總監。深耕分布式數據庫系統十余年,曾經參與Amazon RedShift分布式雲數據倉庫前身的核心技術研發,七年前加入DataStax,主要負責為財富500強大客戶和戰略合作伙伴提供咨詢服務。對SQL和NoSQL數據庫,以及相關的大數據產品都有比較豐富的實戰經驗。
 
“我來分享一下我在國外看到的情況。我知道HBase在中國是比Cassandra更流行,比如從百度搜索指數這樣的數據中都能看出來。但是在國外,情況恰恰完全相反。
 
在權威數據庫排行榜DB Engines中,Cassandra的排名比HBase靠前很多。一般Cassandra都在前十以內,HBase一般在二十名開外,和Cassandra一直有十多名的差距。
 
根據我和客戶的溝通,國外的客戶現在越來越少人會把HBase和Cassandra比較。我認為,其中的一個原因是,HBase的流行其實是跟着Hadoop起來的,在Google Search上也可以看到HBase的流行程度和Hadoop是正相關的。
不過自2015年以來,Hadoop以及MapReduce這些框架逐漸被Spark這種新興起的大數據處理框架替代,所以搭了Hadoop的快車的HBase在國外就逐漸式微了。
 
另外HBase的設計確實很容易由於某個模塊出現問題或是由於它對Zookeeper的依賴,而造成單點故障的出現,導致數據庫不能百分之百在線。
如果你完全沒有基礎,重頭開始上手學習一個寬表數據庫的話,Cassandra是比HBase要容易上手得多,Cassandra基本上可以說是能拿來就用的數據庫。
 
如果你是從別的數據庫轉過來,Cassandra的開發者界面是非常友好的,CQL這種查詢語言和大家熟悉的SQL非常相像。但如果你要使用HBase原生的界面,你需要寫代碼才能使用這個數據庫,這會導致HBase上手比較困難。“

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM