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ù)(有時(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ù)的主要目的在于:
與關(guān)系數(shù)據(jù)庫(kù)相比,NoSql數(shù)據(jù)庫(kù)使用不同的數(shù)據(jù)結(jié)構(gòu)。它使NoSQL中的一些操作更快。給定NoSQL數(shù)據(jù)庫(kù)的適用性取決于它必須解決的問(wèn)題。
下表列出了區(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編寫。它作為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是一個(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因其卓越的技術(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)。
快速寫入 - Cassandra被設(shè)計(jì)為在廉價(jià)的商品硬件上運(yùn)行。 它執(zhí)行快速寫入,并可以存儲(chǔ)數(shù)百TB的數(shù)據(jù),而不犧牲讀取效率。
更多建議: