Apache Cassandra分布式數(shù)據(jù)庫(kù)
v3.11.7 官方最新版
- 軟件大小:36.00 MB
- 軟件語言:中文
- 軟件類型:國(guó)產(chǎn)軟件 / 數(shù)據(jù)庫(kù)類
- 軟件授權(quán): 免費(fèi)軟件
- 更新時(shí)間:2020-11-02 09:24:08
- 軟件等級(jí):

- 軟件廠商: -
- 應(yīng)用平臺(tái):WinAll
- 軟件官網(wǎng): 暫無
相關(guān)軟件

Apache Tomcat x86 For Windowsv7.0.88 官方綠色版
8.85 MB/英文/6.0

Apache Tomcat 9v9.0.0.9 官方安裝版
9.21 MB/中文/0.0

Java服務(wù)器軟件(Apache Tomcat)v7.0.40 免費(fèi)英文版
17.00 MB/英文/10.0

kronoTwist(查看Apache服務(wù)器日志)v1.1 綠色版
46.00 KB/中文/10.0

litespeed web server(速度超過Apache六倍)v4.1.5 官方免費(fèi)版
4.75 MB/中文/10.0
軟件介紹人氣軟件精品推薦相關(guān)文章網(wǎng)友評(píng)論下載地址
Apache Cassandra是一個(gè)開源的混合型的非關(guān)系的數(shù)據(jù)庫(kù)、很早之前Facebook開發(fā),并且應(yīng)用于蘋果、360等全球很多公司,因?yàn)樗哂泻芏嗤愋彤a(chǎn)品的優(yōu)點(diǎn),除了免費(fèi),還有分布式、無中心、彈性可擴(kuò)展等優(yōu)勢(shì),比Dynomite的功能更為豐富,很多網(wǎng)站都會(huì)應(yīng)用到。
官方介紹
當(dāng)您需要可伸縮性和高可用性而不影響性能時(shí),Apache Cassandra數(shù)據(jù)庫(kù)是正確的選擇。 線性可擴(kuò)展性和在商用硬件或云基礎(chǔ)架構(gòu)上經(jīng)過驗(yàn)證的容錯(cuò)能力使它成為關(guān)鍵任務(wù)數(shù)據(jù)的理想平臺(tái)。 Cassandra對(duì)跨多個(gè)數(shù)據(jù)中心的復(fù)制提供了一流的支持,為您的用戶提供了更低的延遲,并且知道您可以在區(qū)域中斷中幸存,因此安心無憂。
在Windows上安裝cassandra方法
一、 安裝配置
1)解壓下載后的程序apache-cassandra-0.7.3-bin.tar.gz到某個(gè)目錄,如d:\cassandra;
2)修改conf目錄下配置文件
A)使用記事本打開cassandra.yaml文件,修改如下參數(shù):
data_file_directories:
- /var/lib/cassandra/data
為 - d:\cassandra\data
注意:-后面需要有空格
commitlog_directory: /var/lib/cassandra/commitlog
為:commitlog_directory: d:\cassandra\commitlog
saved_caches_directory: /var/lib/cassandra/saved_caches
為:saved_caches_directory: d:\cassandra\saved_caches
B)使用記事本打開log4j-server.properties文件,修改如下參數(shù):
log4j.appender.R.File=/var/log/cassandra/system.log
為:log4j.appender.R.File=D:\Cassandra\logs
二、安裝jrE
2.1 下載安裝程序
在http://www.oracle.com/technetwork/java/javase/downloads/index.html上下載jre的安裝程序;
jre和jdk區(qū)別:jre只是java環(huán)境,jdk包含了開發(fā)工具和jre;
2.2 直接雙擊執(zhí)行jre-6u25-windows-i586.exe進(jìn)行安裝,默認(rèn)安裝在C:\Program Files\Java\jre6目錄即可;
三、配置環(huán)境變量
3.1 打開windows的環(huán)境變量配置窗口
鼠標(biāo)右鍵點(diǎn)擊我的電腦,選擇屬性,在彈出界面點(diǎn)擊【高級(jí)】頁(yè)簽,再點(diǎn)擊【環(huán)境變量】按鈕;
3.2 配置JAVA_HOME環(huán)境變量
在“系統(tǒng)變量”添加JAVA_HOME,點(diǎn)擊【系統(tǒng)變量】下方的【新建】按鈕,輸入
變量名:JAVA_HOME
變量值:C:\Program Files\Java\jre6
3.3 配置Cassandra_HOME環(huán)境變量
在“系統(tǒng)變量”添加Cassandra_HOME,點(diǎn)擊【系統(tǒng)變量】下方的【新建】按鈕,輸入
變量名:Cassandra_HOME
變量值:D:\Cassandra\apache-cassandra-0.7.3
四、啟動(dòng)Cassandra
開始運(yùn)行中敲入cmd回車打開命令窗口,敲入cd D:\Cassandra\apache-cassandra-0.7.3\bin回車,敲入d:回車,轉(zhuǎn)到D:\Cassandra\apache-cassandra-0.7.3\bin目錄后,直接敲入cassandra就可以啟動(dòng)cassandra服務(wù)了,如下:
D:\Cassandra\apache-cassandra-0.7.3\bin>cassandra
Starting Cassandra Server
INFO 09:33:34,375 Logging initialized
INFO 09:33:34,390 Heap size: 1070399488/1070399488
INFO 09:33:34,390 JNA not found. Native methods will be disabled.
INFO 09:33:34,406 Loading settings from file:/D:/Cassandra/apache-cassandra-0.7.3/conf/cassandra.yaml
INFO 09:33:34,562 DiskAccessMode 'auto' determined to be standard, indexAccessMode is standard
INFO 09:33:34,765 Creating new commitlog segment d:\cassandra\commitlog\CommitLog-1306200814765.log
INFO 09:33:34,781 Couldn't detect any schema definitions in local storage.
INFO 09:33:34,781 Found table data in data directories. Consider using JMX to call org.apache.cassandra.service.StorageService.loadSchemaFromYaml().
INFO 09:33:34,796 No commitlog files found; skipping replay
INFO 09:33:34,828 Upgrading to 0.7. Purging hints if there are any. Old hints will be snapshotted.
INFO 09:33:34,828 Cassandra version: 0.7.3
INFO 09:33:34,828 Thrift API version: 19.4.0
INFO 09:33:34,843 Loading persisted ring state
INFO 09:33:34,843 Starting up server gossip
INFO 09:33:34,843 switching in a fresh Memtable for LocationInfo at CommitLogContext(file='d:\cassandra\commitlog\CommitLog-1306200814765.log', position=700)
INFO 09:33:34,859 Enqueuing flush of Memtable-LocationInfo@31556811(227 bytes,4 operations)
INFO 09:33:34,859 Writing Memtable-LocationInfo@31556811(227 bytes, 4 operations)
INFO 09:33:35,656 Completed flushing d:\cassandra\data\system\LocationInfo-f-1-Data.db (335 bytes)
WARN 09:33:35,718 Generated random token 152144483071909207899303400696660552068. Random tokens will result in an unbalanced ring; see http://wiki.apache.org/cassandra/Operations
INFO 09:33:35,718 switching in a fresh Memtable for LocationInfo at CommitLogContext(file='d:\cassandra\commitlog\CommitLog-1306200814765.log', position=996)
INFO 09:33:35,718 Enqueuing flush of Memtable-LocationInfo@22975191(53 bytes, 2operations)
INFO 09:33:35,734 Writing Memtable-LocationInfo@22975191(53 bytes, 2 operations)
INFO 09:33:35,828 Completed flushing d:\cassandra\data\system\LocationInfo-f-2-Data.db (163 bytes)
INFO 09:33:35,843 Will not load MX4J, mx4j-tools.jar is not in the classpath
INFO 09:33:35,890 Binding thrift service to localhost/127.0.0.1:9160
INFO 09:33:35,890 Using TFastFramedTransport with a max frame size of 15728640bytes.
INFO 09:33:35,890 Listening for thrift clients...
安裝目錄文件說明
各個(gè)文件或目錄介紹如下:
bin:這個(gè)目錄下包含了啟動(dòng) Cassandra 以及客戶端相關(guān)操作的可執(zhí)行文件,包括 query language shell(cqlsh)以及命令行界面(CLI)等客戶端。同時(shí)還包含運(yùn)行 nodetool 的相關(guān)腳本,操作 SSTables 的工具等等。
conf:這個(gè)目錄下面包含了 Cassandra 的配置文件。必須包含的配置文件包括:assandra.yaml 以及 logback.xml,這兩個(gè)文件分別是運(yùn)行 Cassandra 必須包含的配置文件以及日志相關(guān)配置文件。同時(shí)還包含 Cassandra 網(wǎng)絡(luò)拓?fù)渑渲梦募取?/p>
doc:這個(gè)目錄包含 CQL 相關(guān)的 html 文檔。
interface:這個(gè)文件夾下面只包含一個(gè)名為 cassandra.thrift 的文件。這個(gè)文件定義了基于 Thrift 語法的 RPC API,這個(gè) Thrift 主要用于在 Java, C++, PHP, Ruby, Python, Perl, 以及 C# 等語言中創(chuàng)建相關(guān)客戶端,但是在 CQL 出現(xiàn)之后,Thrift API 在 Cassandra 3.2 版本開始標(biāo)記為 deprecated,并且會(huì)在 Cassandra 4.0 版本刪除。
javadoc:這個(gè)文件夾包含使用 JavaDoc 工具生成的 html 文檔。
lib:這個(gè)目錄包含 Cassandra 運(yùn)行時(shí)需要的所有外部庫(kù)。
pylib:這個(gè)目錄包含 cqlsh 運(yùn)行時(shí)需要使用的 Python 庫(kù)。
tools:這個(gè)目錄包含用于維護(hù) Cassandra 節(jié)點(diǎn)的相關(guān)工具。
NEWS.txt:這個(gè)文件包含當(dāng)前及之前版本的 release notes 相關(guān)信息。
CHANGES.txt:這個(gè)文件主要包含一些 bug fixes 信息。

功能特性
1、彈性可擴(kuò)展(Elastic Scalability)
可擴(kuò)展性是指系統(tǒng)架構(gòu)可以讓系統(tǒng)提供更多的服務(wù)而不降低使用性能的特性。僅僅通過給現(xiàn)有的機(jī)器增加硬件的容量、內(nèi)存進(jìn)行垂直擴(kuò)展,是最簡(jiǎn)單的達(dá)到可擴(kuò)展性的手段。而水平擴(kuò)展則需要增加更多機(jī)器,每臺(tái)機(jī)器提供全部或部分?jǐn)?shù)據(jù),這樣所有主機(jī)都不必負(fù)擔(dān)全部業(yè)務(wù)請(qǐng)求。但軟件自己需要有內(nèi)部機(jī)制來保證集群中節(jié)點(diǎn)間的數(shù)據(jù)同步。
彈性可擴(kuò)展是指水平擴(kuò)展的特性,意即你的集群可以不間斷的情況下,方便擴(kuò)展或縮減服務(wù)的規(guī)模。這樣,你就不需要重新啟動(dòng)進(jìn)程,不必修改應(yīng)用的查詢,也無需自己手工重新均衡數(shù)據(jù)分布。在 Cassandra 里,你只要加入新的計(jì)算機(jī),Cassandra 就會(huì)自動(dòng)地發(fā)現(xiàn)它并讓它開始工作。
2、分布式和去中心化(Distributed and Decentralized)
Cassandra 是分布式的,這意味著它可以運(yùn)行在多臺(tái)機(jī)器上,并呈現(xiàn)給用戶一個(gè)一致的整體。事實(shí)上,在一個(gè)節(jié)點(diǎn)上運(yùn)行 Cassandra 是沒啥用的,雖然我們可以這么做,并且這可以幫助我們了解它的工作機(jī)制,但是你很快就會(huì)意識(shí)到,需要多個(gè)節(jié)點(diǎn)才能真正了解 Cassandra 的強(qiáng)大之處。它的很多設(shè)計(jì)和實(shí)現(xiàn)讓系統(tǒng)不僅可以在多個(gè)節(jié)點(diǎn)上運(yùn)行,更為多機(jī)架部署進(jìn)行了優(yōu)化,甚至一個(gè) Cassandra 集群可以運(yùn)行在分散于世界各地的數(shù)據(jù)中心上。你可以放心地將數(shù)據(jù)寫到集群的任意一臺(tái)機(jī)器上,Cassandra 都會(huì)收到數(shù)據(jù)。
對(duì)于很多存儲(chǔ)系統(tǒng)(比如 MySQL, Bigtable),一旦你開始擴(kuò)展它,就需要把某些節(jié)點(diǎn)設(shè)為主節(jié)點(diǎn),其他則作為從節(jié)點(diǎn)。但 Cassandra 是無中心的,也就是說每個(gè)節(jié)點(diǎn)都是一樣的。與主從結(jié)構(gòu)相反,Cassandra 的協(xié)議是 P2P 的,并使用 gossip 來維護(hù)存活或死亡節(jié)點(diǎn)的列表。關(guān)于 gossip 可以參見 分布式原理:一文了解 Gossip 協(xié)議
去中心化這一事實(shí)意味著 Cassandra 不會(huì)存在單點(diǎn)失效。Cassandra 集群中的所有節(jié)點(diǎn)的功能都完全一樣, 所以不存在一個(gè)特殊的主機(jī)作為主節(jié)點(diǎn)來承擔(dān)協(xié)調(diào)任務(wù)。有時(shí)這被叫做服務(wù)器對(duì)稱(server symmetry)。
綜上所述,Cassandra 是分布式、無中心的,它不會(huì)有單點(diǎn)失效,所以支持高可用性。
3、可調(diào)節(jié)的一致性(Tuneable Consistency)
2000年,加州大學(xué)伯克利分校的 Eric Brewer 在 ACM 分布式計(jì)算原理會(huì)議提出了著名的 CAP 定律。CAP 定律表明,對(duì)于任意給定的系統(tǒng),只能在一致性(Consistency)、可用性(Availability)以及分區(qū)容錯(cuò)性(Partition Tolerance)之間選擇兩個(gè)。關(guān)于 CAP 定律的詳細(xì)介紹可參見《分布式系統(tǒng)一致性問題、CAP定律以及 BASE 理論》以及《一篇文章搞清楚什么是分布式系統(tǒng) CAP 定理》。所以 Cassandra 在設(shè)計(jì)的時(shí)候也不得不考慮這些問題,因?yàn)榉謪^(qū)容錯(cuò)性這個(gè)是每個(gè)分布式系統(tǒng)必須考慮的,所以只能在一致性和可用性之間做選擇,而 Cassandra 的應(yīng)用場(chǎng)景更多的是為了滿足可用性,所以我們只能犧牲一致性了。但是根據(jù) BASE 理論,我們其實(shí)可以通過犧牲強(qiáng)一致性獲得可用性。
Cassandra 提供了可調(diào)節(jié)的一致性,允許我們選定需要的一致性水平與可用性水平,在二者間找到平衡點(diǎn)。因?yàn)榭蛻舳丝梢钥刂圃诟碌竭_(dá)多少個(gè)副本之前,必須阻塞系統(tǒng)。這是通過設(shè)置副本因子(replication factor)來調(diào)節(jié)與之相對(duì)的一致性級(jí)別。
通過副本因子(replication factor),你可以決定準(zhǔn)備犧牲多少性能來?yè)Q取一致性。副本因子是你要求更新在集群中傳播到的節(jié)點(diǎn)數(shù)(注意,更新包括所有增加、刪除和更新操作)。
客戶端每次操作還必須設(shè)置一個(gè)一致性級(jí)別(consistency level)參數(shù),這個(gè)參數(shù)決定了多少個(gè)副本寫入成功才可以認(rèn)定寫操作是成功的,或者讀取過程中讀到多少個(gè)副本正確就可以認(rèn)定是讀成功的。這里 Cassandra 把決定一致性程度的權(quán)利留給了客戶自己。
所以,如果需要的話,你可以設(shè)定一致性級(jí)別和副本因子相等,從而達(dá)到一個(gè)較高的一致性水平,不過這樣就必須付出同步阻塞操作的代價(jià),只有所有節(jié)點(diǎn)都被更新完成才能成功返回一次更新。而實(shí)際上,Cassandra 一般都不會(huì)這么來用,原因顯而易見(這樣就喪失了可用性目標(biāo),影響性能,而且這不是你選擇 Cassandra 的初衷)。而如果一個(gè)客戶端設(shè)置一致性級(jí)別低于副本因子的話,即使有節(jié)點(diǎn)宕機(jī)了,仍然可以寫成功。
總體來說,Cassandra 更傾向于 CP,雖然它也可以通過調(diào)節(jié)一致性水平達(dá)到 AP;但是不推薦你這么設(shè)置。
4、高可用和容錯(cuò)(High Availability and Fault Tolerance)
從一般架構(gòu)的角度來看,系統(tǒng)的可用性是由滿足請(qǐng)求的能力來量度的。但計(jì)算機(jī)可能會(huì)有各種各樣的故障,從硬件器件故障到網(wǎng)絡(luò)中斷都有可能。如何計(jì)算機(jī)都可能發(fā)生這些情況,所以它們一般都有硬件冗余,并在發(fā)生故障事件的情況下會(huì)自動(dòng)響應(yīng)并進(jìn)行熱切換。對(duì)一個(gè)需要高可用的系統(tǒng),它必須由多臺(tái)聯(lián)網(wǎng)的計(jì)算機(jī)構(gòu)成,并且運(yùn)行于其上的軟件也必須能夠在集群條件下工作,有設(shè)備能夠識(shí)別節(jié)點(diǎn)故障,并將發(fā)生故障的中端的功能在剩余系統(tǒng)上進(jìn)行恢復(fù)。
Cassandra 就是高可用的。你可以在不中斷系統(tǒng)的情況下替換故障節(jié)點(diǎn),還可以把數(shù)據(jù)分布到多個(gè)數(shù)據(jù)中心里,從而提供更好的本地訪問性能,并且在某一數(shù)據(jù)中心發(fā)生火災(zāi)、洪水等不可抗災(zāi)難的時(shí)候防止系統(tǒng)徹底癱瘓。
5、面向行(Row-Oriented)
Cassandra 經(jīng)常被看做是一種面向列(Column-Oriented)的數(shù)據(jù)庫(kù),這也并不算錯(cuò)。它的數(shù)據(jù)結(jié)構(gòu)不是關(guān)系型的,而是一個(gè)多維稀疏哈希表。稀疏(Sparse)意味著任何一行都可能會(huì)有一列或者幾列,但每行都不一定(像關(guān)系模型那樣)和其他行有一樣的列。每行都有一個(gè)唯一的鍵值,用于進(jìn)行數(shù)據(jù)訪問。所以,更確切地說,應(yīng)該把 Cassandra 看做是一個(gè)有索引的、面向行的存儲(chǔ)系統(tǒng)。
Cassandra 的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)基本可以看做是一個(gè)多維哈希表。這意味著你不必事先精確地決定你的具體數(shù)據(jù)結(jié)構(gòu)或是你的記錄應(yīng)該包含哪些具體字段。這特別適合處于草創(chuàng)階段,還在不斷增加或修改服務(wù)特性的應(yīng)用。而且也特別適合應(yīng)用在敏捷開發(fā)項(xiàng)目中,不必進(jìn)行長(zhǎng)達(dá)數(shù)月的預(yù)先分析。對(duì)于使用 Cassandra 的應(yīng)用,如果業(yè)務(wù)發(fā)生變化了,只需要在運(yùn)行中增加或刪除某些字段就行了,不會(huì)造成服務(wù)中斷。
當(dāng)然, 這不是說你不需要考慮數(shù)據(jù)。相反,Cassandra 需要你換個(gè)角度看數(shù)據(jù)。在 RDBMS 里, 你得首先設(shè)計(jì)一個(gè)完整的數(shù)據(jù)模型, 然后考慮查詢方式, 而在 Cassandra 里,你可以首先思考如何查詢數(shù)據(jù),然后提供這些數(shù)據(jù)就可以了。
6、靈活的模式(Flexible Schema)
Cassandra 的早期版本支持無模式(schema-free)數(shù)據(jù)模型,可以動(dòng)態(tài)定義新的列。 無模式數(shù)據(jù)庫(kù)(如 Bigtable 和 MongoDB)在訪問大量數(shù)據(jù)時(shí)具有高度可擴(kuò)展性和高性能的優(yōu)勢(shì)。 無模式數(shù)據(jù)庫(kù)的主要缺點(diǎn)是難以確定數(shù)據(jù)的含義和格式,這限制了執(zhí)行復(fù)雜查詢的能力。
為了解決這些問題,Cassandra 引入了 Cassandra Query Language(CQL),它提供了一種通過類似于結(jié)構(gòu)化查詢語言(SQL)的語法來定義模式。最初,CQL 是作為 Cassandra 的另一個(gè)接口,并且基于 Apache Thrift 項(xiàng)目提供無模式的接口。在這個(gè)過渡階段,術(shù)語“模式可選”(Schema-optional)用于描述數(shù)據(jù)模型,我們可以使用 CQL 的模式來定義。并且可以通過 Thrift API 實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展以此添加新的列。在此期間,基礎(chǔ)數(shù)據(jù)存儲(chǔ)模型是基于 Bigtable 的。
從 3.0 版本開始,不推薦使用基于 Thrift API 的動(dòng)態(tài)列創(chuàng)建的 API,并且 Cassandra 底層存儲(chǔ)已經(jīng)重新實(shí)現(xiàn)了,以更緊密地與 CQL 保持一致。Cassandra 并沒有完全限制動(dòng)態(tài)擴(kuò)展架構(gòu)的能力,但它的工作方式卻截然不同。CQL 集合(比如 list、set、尤其是 map)提供了在無結(jié)構(gòu)化的格式里面添加內(nèi)容的能力,從而能擴(kuò)展現(xiàn)有的模式。CQL 還提供了改變列的類型的能力,以支持 JSON 格式的文本的存儲(chǔ)。
因此,描述 Cassandra 當(dāng)前狀態(tài)的最佳方式可能是它支持靈活的模式。
7、高性能(High Performance)
Cassandra 在設(shè)計(jì)之初就特別考慮了要充分利用多處理器和多核計(jì)算機(jī)的性能,并考慮在分布于多個(gè)數(shù)據(jù)中心的大量這類服務(wù)器上運(yùn)行。它可以一致而且無縫地?cái)U(kuò)展到數(shù)百臺(tái)機(jī)器,存儲(chǔ)數(shù) TB 的數(shù)據(jù)。Cassandra 已經(jīng)顯示出了高負(fù)載下的良好表現(xiàn),在一個(gè)非常普通的工作站上,Cassandra 也可以提供非常高的寫吞吐量。而如果你增加更多的服務(wù)器,你還可以繼續(xù)保持 Cassandra 所有的特性而無需犧牲性能。
Cassandra 的應(yīng)用場(chǎng)景
我們已經(jīng)介紹了 Cassandra 的主要特點(diǎn),對(duì) Cassandra 的長(zhǎng)處有了一定的理解。盡管 Cassandra 設(shè)計(jì)精巧,功能出色,但也不能勝任所有的工作。所以我們來介紹一下 Cassandra 最適合的場(chǎng)景。
大規(guī)模部署
你可能不會(huì)開著一輛輕型的小卡車去取干洗的衣服,小卡車顯然不適合這種工作。Cassandra 的很多精巧設(shè)計(jì)都專注于高可用、可調(diào)一致性、P2P 協(xié)議、無縫擴(kuò)展等,這些都是 Cassandra 的賣點(diǎn)。這些特性在單節(jié)點(diǎn)工作時(shí)都是沒有意義的,更無法實(shí)現(xiàn)它的全部能力。
但是,單節(jié)點(diǎn)關(guān)系數(shù)據(jù)庫(kù)在很多情況下可能正是我們需要的。所以你需要做一些評(píng)估??紤]你的期望的流量、吞吐需求以及 SAL 等。關(guān)于評(píng)估沒有什么硬性的指標(biāo)和要求。但如果你認(rèn)為有幾種關(guān)系型數(shù)據(jù)庫(kù)可以很好地應(yīng)付你的流量,提供不錯(cuò)的性能,那可能選關(guān)系型數(shù)據(jù)庫(kù)更好。簡(jiǎn)單地說,這是因?yàn)?RDBMS 更易于在單機(jī)上運(yùn)行,對(duì)你來說也更熟悉。
但是,如果你認(rèn)為需要至少幾個(gè)節(jié)點(diǎn)才能支撐你的業(yè)務(wù),那 Cassandra 就是個(gè)不錯(cuò)的選擇。如果你的應(yīng)用可能需要數(shù)十個(gè)節(jié)點(diǎn),那 Cassandra 可能就是個(gè)很棒的選擇了。
寫密集、統(tǒng)計(jì)和分析型工作
考慮一下你的應(yīng)用的讀寫比例,Cassandra 是為優(yōu)異的寫吞吐量而特別優(yōu)化的。
許多早期使用 Cassandra 的產(chǎn)品都用于存儲(chǔ)用戶狀態(tài)更新、社交網(wǎng)絡(luò)、建議/評(píng)價(jià)以及應(yīng)用統(tǒng)計(jì)等。這些都是 Cassandra 很好的應(yīng)用場(chǎng)景,因?yàn)檫@些應(yīng)用大都是寫多于讀的,并且更新可能隨時(shí)發(fā)生并伴有突發(fā)的峰值。事實(shí)上,支撐應(yīng)用負(fù)載需要很高的多客戶線程并發(fā)寫性能,這正是 Cassandra 的主要特性。
根據(jù)項(xiàng)目的 wiki,Cassandra 已經(jīng)被用于開發(fā)了多種不同的應(yīng)用,包括窗口化的時(shí)間序列數(shù)據(jù)庫(kù),用于文檔搜索的反向索引,以及分布式任務(wù)優(yōu)先級(jí)隊(duì)列。
地區(qū)分布
Cassandra 直接支持多地分布的數(shù)據(jù)存儲(chǔ),Cassandra 可以很容易配置成將數(shù)據(jù)分布到多個(gè)數(shù)據(jù)中心的存儲(chǔ)方式。如果你有一個(gè)全球部署的應(yīng)用,那么讓數(shù)據(jù)貼近用戶會(huì)獲得不錯(cuò)的性能收益,Cassandra 正適合這種應(yīng)用場(chǎng)合。
變化的應(yīng)用
如果你正在“初創(chuàng)階段”,業(yè)務(wù)會(huì)不斷改進(jìn),Cassandra 這種靈活的模式的數(shù)據(jù)模型可能更適合你。這讓你的數(shù)據(jù)庫(kù)能更快地跟上業(yè)務(wù)改進(jìn)的步伐。
為什么會(huì)誕生 Apache Cassandra
2007 年 Facebook 為了解決消息收件箱搜索問題( Inbox Search problem)而開始設(shè)計(jì) Cassandra 項(xiàng)目。 當(dāng)時(shí) Facebook 遇到了傳統(tǒng)的方法難以解決的超大數(shù)據(jù)量存儲(chǔ)可擴(kuò)展性問題。具體來說,項(xiàng)目團(tuán)隊(duì)需要處理大量的消息副本、消息的反向索引等不同形式的數(shù)據(jù),需要處理很多隨機(jī)讀和并發(fā)隨機(jī)寫操作。
該團(tuán)隊(duì)由 Jeff Hammerbacher 領(lǐng)導(dǎo),核心工程師包括 Avinash Lakshman,Karthik Ranganathan 和搜索團(tuán)隊(duì)的 Prashant Malik 。2008年7月 Cassandra 的代碼被作為開源項(xiàng)目發(fā)布到 Google Code。雖然代碼在2008年作為 Google Code 的一個(gè)項(xiàng)目,但是這段時(shí)間基本上只有 Facebook 工程師來更新代碼,基本上沒有形成社區(qū)。所以在2009年3月,Cassandra 被轉(zhuǎn)移到 Apache 孵化器項(xiàng)目,并在2010年2月17日,它被投票成為一個(gè)頂級(jí)項(xiàng)目。 在 Apache Cassandra Wiki 上,您可以找到 committers 列表,其中許多人自 2010/2011 年以來就一直參與該項(xiàng)目。 committers 主要來自 Twitter,LinkedIn,Apple,其中還包括了許多獨(dú)立開發(fā)者。
Cassandra 的設(shè)計(jì)很大程度受 Amazon Dynamo 的影響,具體可參見《Dynamo: Amazon's Highly Available Key-value Store》。2010年由 Facebook 的 Lakshman 和 Malik 在 ACM 首次發(fā)表了 Cassandra 的論文 《Cassandra: a decentralized structured storage system》,向全世界介紹了 Cassandra。
隨著商界對(duì) Cassandra 的興趣增加,對(duì) Cassandra 的生產(chǎn)支持變得越來越明顯。2010年4月 Cassandra 的 Apache 項(xiàng)目主席 Jonathan Ellis 和其同事 Matt Pfeil 成立了一家名為 DataStax 公司(最初名為 Riptano)。DataStax 雇傭了多名 Cassandra Committer,為 Cassandra 項(xiàng)目提供了相關(guān)支持,并引領(lǐng)其發(fā)展。
誰在使用 Cassandra
Cassandra 在全世界有多達(dá) 1500 家公司使用:
蘋果的 Cassandra 集群達(dá)到 75,000 節(jié)點(diǎn),存儲(chǔ)了 10PB 的數(shù)據(jù);
Netflix 的 Cassandra 集群達(dá)到 2,500 個(gè)節(jié)點(diǎn),存儲(chǔ)了多達(dá) 420TB 的數(shù)據(jù);
宜搜的 Cassandra 集群達(dá)到 270 個(gè)節(jié)點(diǎn),存儲(chǔ)多達(dá) 300TB 的數(shù)據(jù);
eBay 的 Cassandra 集群達(dá)到 100 個(gè)節(jié)點(diǎn),存儲(chǔ)多達(dá) 250TB 的數(shù)據(jù);
360 的 Cassandra 集群達(dá)到 1500 個(gè)節(jié)點(diǎn);
餓了么的 Cassandra 集群達(dá)到 100 個(gè)節(jié)點(diǎn)。
Apache Cassandra 可以在 Linux、Unix、Mac OS 以及 Windows 上進(jìn)行安裝
更多>> 軟件截圖

推薦應(yīng)用

navicat for mysql 64位 25.05 MB
下載/中文/2.0 v16.0.110 中文免費(fèi)版
microsoft access 2013 140.00 MB
下載/中文/4.0 免費(fèi)完整版
HeidiSQL(MySQL圖形化管理工具) 5.77 MB
下載/中文/10.0 v11.2.0.6219 綠色中文版
Oracle 11g 64位/32位 2.05 GB
下載/中文/2.0 v11.2.0.1.0 官方第二版
sqlyog ultimate 64位 7.50 MB
下載/中文/7.0 v13.1.1 官方中文注冊(cè)版
Navicat for Oracle 16.70 MB
下載/中文/10.0 v12.0.29 中文版
Access數(shù)據(jù)庫(kù)查詢分析器 6.74 MB
下載/中文/10.0 v2.4 免費(fèi)中文版
dbc2000 win7 64位 16.10 MB
下載/中文/10.0 中文漢化版
其他版本下載
精品推薦 Apache
更多 (57個(gè)) >> Apache Apache是世界使用排名第一的Web服務(wù)器軟件,apache哪個(gè)版本穩(wěn)定?apache下載哪個(gè)版本?itmop小編為大家整理了apache歷史版本下載大全,包括apache中文版、最新版、最穩(wěn)定版本地址,適合windowns、xp、linux系統(tǒng)的軟件!Apache HTTP
apache Tomcat for windows 7.18 MB
/中文/6.0
Apache HTTP Server 38.00 MB
/英文/5.0
Apache Tomcat8.0 64位 10.38 MB
/中文/10.0
netbeans ide 386.00 MB
/中文/5.0
Apache Tomcat 7.0 8.54 MB
/英文/10.0
org.apache.poi jar包 28.65 MB
/中文/5.0
apache Tomcat 32位 7.56 MB
/英文/8.0
Apache for windows 4.18 MB
/英文/8.0
相關(guān)文章
下載地址
Apache Cassandra分布式數(shù)據(jù)庫(kù) v3.11.7 官方最新版
查看所有評(píng)論>> 網(wǎng)友評(píng)論
更多>> 猜你喜歡
Microsoft SQL Server 2000 Personal Edition
SQL Server 2005 SP2
Microsoft SQL Server 2000簡(jiǎn)體中文企業(yè)版
PowerDesigner
數(shù)據(jù)庫(kù)文件轉(zhuǎn)換工具(DBConvert for JSON and SQL)
DFB數(shù)據(jù)庫(kù)修復(fù)工具DataNumen DBF Repair
mysql for ubuntu
MongoDB Compass可視圖形化管理工具
Exportizer(修改編輯數(shù)據(jù)庫(kù)軟件)
SQL Server Compact 4 安裝包
Navicat premium數(shù)據(jù)庫(kù)管理軟件
Oracle Database 12c數(shù)據(jù)庫(kù)軟件
