Cassandra簡介

Cassandra是一個分佈式的NoSQL數據庫,它最大的特點就是完全去中心化,不像MySQL、MongoDB主從備份的模式,也不像HBase、HDFS有不同類型的節點。整個Cassandra集羣就是一個由P2P協議組織起來的網絡,消除了所有的單點故障。

Cassandra可以認爲是Amazon Dynamo和Google BigTable的結合體,它的分佈式特性像Dynamo,數據模型像BigTable。最初它是由Facebook開發的,作爲Facebook「收件箱」的存儲,後來開源交給Apache維護了。現在產業界有許多公司在使用Cassandra,包括Twitter、Netflix等等,世界上最大的Cassandra集羣有近千個節點,存儲着超過200TB的數據。Cassandra集羣的維護是我見過的所有分佈式數據庫中最方便的,增加、刪除節點十分容易,適合橫向擴展。Cassandra提供了可調的一致性級別,同時支持強一致性和弱一致性,數據備份的因子可以自由調節。Cassandra還支持跨數據中心的集羣,每個數據中心存儲一份完整的數據,以提供數據訪問的局部性和容災的要求。

與大多數數據庫爲讀優化不同,Cassandra的寫性能理論上是高於讀性能的,因此非常適合流式的數據存儲,尤其是寫負載高於讀負載的。與HBase比起來,它的隨機訪問性能要高很多,但不是很擅長區間掃描,因此可以作爲HBase的即時查詢緩存,由HBase進行批量的大數據處理,由Cassandra提供隨機查詢的接口。

講稿鏈接

相關日誌