Cassandra現在的應用前景怎麼樣?


應用前景非常好。本來競爭對手就是HBase,但是HBase的架構複雜,使用繁瑣。以前HBase最大的優勢是和Hadoop集成,現在由於Spark的出現,使得Cassandra佔據了絕對優勢。我不久前跟Doug Cutting聊過這個問題,就是Cassandra+Spark vs HBase+Hadoop。他也承認Cassandra+Spark很火,是個大趨勢。


cassandra是一個大表資料庫,優點就是語句很像關係型資料庫。大家都知道nosql資料庫為了支持分散式,大都已主鍵來定位分區,然後查詢。hbase相對於cassanra,就是支持全表scan然後過濾,但是cassandra要排序必須是第一主鍵或者其他主鍵,索引可以直接用等於號查詢,不需要第一主鍵,但是用大於,排序,索引都不行!!!!現在一個業務是要搜出一個區域的rowkey,這些key是在一段時間範圍內的,sql就直接order by updatetime,但是現在updatetime在cassandra要排序必須是主鍵,可是業務要求更新時間要能更新,而主鍵不能更新!hbase則可以不把updatetime設置為主鍵,全表過濾。

cassandra,hbase注意!一般都是用rowkey來定位的,複雜查詢慎用,也用不了。


在國外越來越多的人開始重視、使用Cassandra。而在在國內,使用者好像越來越少。我目前就把一個十幾台機器的Cassandra集群當做一個超大型的k-v資料庫在使用,非常滿意它的性能。


就我所用的情況來看,優點有寫的性能還不錯,支持append操作,和spark結合比較好。

缺點是讀的性能實在太糟糕,不適合大並發讀的應用場景。

最近新出了一個scylladb,據說在兼容cassandra的基礎上性能是Cassandra的十倍,等版本穩定以後應該比Cassandra有潛力吧


Spark + Kafka + Storm + Cassandra可以實現一個比較robust的,hadoop-free的Lambda Architecture

如果不需要Streaming,或者需求低的話,Spark + Cassandra就能組一個相當好用的Platform了


發現個新社區 Cassandra國內第一個 http://innosql.cn


數據量大的時候Cassandra可以很好的替換Redis。


外國大量用於視頻類網站如netflix,hulu.我國應用場景少,但是如樓上所說Cassandra+Spark會是很好的方向!


推薦閱讀:

如何評價InfoQ文章《別再用MongoDB了!》?
c++ 實時消息系統什麼in-process資料庫比較好? leveldb、LMDB 還是sqlite?
Mac下如何學習資料庫?
如何評價RethinkDB?和MongoDB,Redis有什麼區別?

TAG:資料庫 | Cassandra | NoSQL |