Cassandra 簡(jiǎn)介

2021-10-27 14:14 更新

Apache Cassandra是一個(gè)高度可擴(kuò)展的高性能分布式數(shù)據(jù)庫(kù),用于處理大量商用服務(wù)器上的大量數(shù)據(jù),提供高可用性,無(wú)單點(diǎn)故障。這是一種NoSQL類型的數(shù)據(jù)庫(kù)。 讓我們先了解一下NoSQL數(shù)據(jù)庫(kù)。

NoSQL 數(shù)據(jù)庫(kù)

NoSQL數(shù)據(jù)庫(kù)(有時(shí)稱為“不僅僅是SQL(Not Only SQL)”)是一種數(shù)據(jù)庫(kù),它提供一種機(jī)制來(lái)存儲(chǔ)和檢索數(shù)據(jù),而不是關(guān)系數(shù)據(jù)庫(kù)中使用的表格關(guān)系。這些數(shù)據(jù)庫(kù)是無(wú)架構(gòu)的,支持簡(jiǎn)單的復(fù)制,具有簡(jiǎn)單的API,最終一致,并且可以處理大量的數(shù)據(jù)。

NoSQL數(shù)據(jù)庫(kù)的主要目的在于:

  • 設(shè)計(jì)簡(jiǎn)單
  • 水平縮放
  • 更好地控制可用性

與關(guān)系數(shù)據(jù)庫(kù)相比,NoSql數(shù)據(jù)庫(kù)使用不同的數(shù)據(jù)結(jié)構(gòu)。它使NoSQL中的一些操作更快。給定NoSQL數(shù)據(jù)庫(kù)的適用性取決于它必須解決的問(wèn)題。

NoSQL數(shù)據(jù)庫(kù)與關(guān)系數(shù)據(jù)庫(kù)

下表列出了區(qū)分從NoSQL的數(shù)據(jù)庫(kù)關(guān)系數(shù)據(jù)庫(kù)的各點(diǎn)。

關(guān)系數(shù)據(jù)庫(kù)NoSQL數(shù)據(jù)庫(kù)
支持強(qiáng)大的查詢語(yǔ)言。支持非常簡(jiǎn)單的查詢語(yǔ)言。
它具有固定的模式。無(wú)固定模式。
遵循ACID(原子性,一致性,隔離性和持久性)。只有“最終一致”。
支持事務(wù)。不支持事務(wù)。

除了Cassandra,我們有以下NoSQL數(shù)據(jù)庫(kù)是相當(dāng)受歡迎:

  • Apache的HBase的 - HBase是一個(gè)開(kāi)放源代碼,非關(guān)系型,分布式數(shù)據(jù)庫(kù),以Google的BigTable為模型,用Java編寫(xiě)。它作為Apache Hadoop項(xiàng)目的一部分開(kāi)發(fā),在HDFS之上運(yùn)行,為Hadoop提供類似于BigTable的功能。

  • MongoDB的 - MongoDB是一個(gè)跨平臺(tái)的面向文檔的數(shù)據(jù)庫(kù)系統(tǒng),避免使用傳統(tǒng)的基于表的關(guān)系數(shù)據(jù)庫(kù)結(jié)構(gòu),使用動(dòng)態(tài)模式的類似JSON的文檔,使得在某些類型的應(yīng)用程序中的數(shù)據(jù)集成更容易和更快。

什么是Apache Cassandra?

Apache Cassandra是一個(gè)開(kāi)源,分布式和分散式/分布式存儲(chǔ)系統(tǒng)(數(shù)據(jù)庫(kù)),用于管理遍布世界各地的大量結(jié)構(gòu)化數(shù)據(jù)。它提供高可用性的服務(wù),沒(méi)有單點(diǎn)故障。

下面列出了Apache Cassandra的一些值得注意的地方:

  • 它是可擴(kuò)展,容錯(cuò)和一致的。

  • 它是一個(gè)面向列的數(shù)據(jù)庫(kù)。

  • 它的分布設(shè)計(jì)基于Amazon的Dynamo及其在Google的Bigtable上的數(shù)據(jù)模型。

  • 創(chuàng)建在Facebook,它與關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)有很大的不同。

  • Cassandra實(shí)現(xiàn)了一個(gè)沒(méi)有單點(diǎn)故障的Dynamo風(fēng)格的復(fù)制模型,但增加了一個(gè)更強(qiáng)大的“列族”數(shù)據(jù)模型。

  • Cassandra被一些最大的公司使用,如Facebook,Twitter,Cisco,Rackspace,ebay,Netflix等。

Cassandra的特點(diǎn)

Cassandra因其卓越的技術(shù)特性而變得如此受歡迎。下面給出了Cassandra的一些特性:

  • 彈性可擴(kuò)展性 - Cassandra是高度可擴(kuò)展的; 它允許添加更多的硬件以適應(yīng)更多的客戶和更多的數(shù)據(jù)根據(jù)要求。

  • 始終基于架構(gòu) - Cassandra沒(méi)有單點(diǎn)故障,它可以連續(xù)用于不能承擔(dān)故障的關(guān)鍵業(yè)務(wù)應(yīng)用程序。

  • 快速線性性能 - Cassandra是線性可擴(kuò)展性的,即它為你增加集群中的節(jié)點(diǎn)數(shù)量增加你的吞吐量。因此,保持一個(gè)快速的響應(yīng)時(shí)間。

  • 靈活的數(shù)據(jù)存儲(chǔ) - Cassandra適應(yīng)所有可能的數(shù)據(jù)格式,包括:結(jié)構(gòu)化,半結(jié)構(gòu)化和非結(jié)構(gòu)化。它可以根據(jù)您的需要?jiǎng)討B(tài)地適應(yīng)變化的數(shù)據(jù)結(jié)構(gòu)。

  • 便捷的數(shù)據(jù)分發(fā) - Cassandra通過(guò)在多個(gè)數(shù)據(jù)中心之間復(fù)制數(shù)據(jù),可以靈活地在需要時(shí)分發(fā)數(shù)據(jù)。

  • 事務(wù)支持 - Cassandra支持屬性,如原子性,一致性,隔離和持久性(ACID)。

  • 快速寫(xiě)入 - Cassandra被設(shè)計(jì)為在廉價(jià)的商品硬件上運(yùn)行。 它執(zhí)行快速寫(xiě)入,并可以存儲(chǔ)數(shù)百TB的數(shù)據(jù),而不犧牲讀取效率。

Cassandra的歷史

  • Cassandra在Facebook上開(kāi)發(fā)了收件箱搜索。
  • 它是由Facebook在2008年7月開(kāi)放了源代碼。
  • Cassandra于2009年3月被納入Apache孵化器。
  • 它自2010年2月以來(lái)成為一個(gè)Apache頂級(jí)項(xiàng)目。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)