Cassandra教程
Cassandra是一個(gè)高度可擴(kuò)展、高性能的分布式NoSQL數(shù)據(jù)庫,其結(jié)構(gòu)可以跨多個(gè)服務(wù)服務(wù)器管理大量數(shù)據(jù)。Apache Cassandra提供了高可用性,而不是單點(diǎn)故障。在這里,讓我們首先了解術(shù)語NoSQL數(shù)據(jù)庫。
實(shí)際上,NoSQL數(shù)據(jù)庫(也稱為不僅僅是SQL)是一種數(shù)據(jù)庫,它具有通過簡(jiǎn)單查詢存儲(chǔ)和檢索數(shù)據(jù)的機(jī)制,而不是RDBMS中使用的表格關(guān)系。這種類型的數(shù)據(jù)庫支持簡(jiǎn)單的復(fù)制,無模式,API簡(jiǎn)單,一致性好,可以控制海量數(shù)據(jù)。因此,Apache Cassandra是一個(gè)分布式、開源和分散的存儲(chǔ)管理系統(tǒng)。
我們?yōu)槭裁匆獙W(xué)Cassandra
Cassandra最初是在Facebook上為收件箱搜索而發(fā)明的。之后,F(xiàn)acebook于2008年7月將其開源。后來,Apache孵化器在2009年3月接受了它,并從2010年2月起將其列為Apache頂級(jí)項(xiàng)目。
Cassandra管理著分布在世界各地的大量結(jié)構(gòu)化數(shù)據(jù),沒有失敗的可能。它真的是寬容和一致的。它是一個(gè)基于列的數(shù)據(jù)庫,實(shí)現(xiàn)了Dynamo風(fēng)格的復(fù)制模型,但增強(qiáng)了一個(gè)更占主導(dǎo)地位的“列族”數(shù)據(jù)模型。
如今,Cassandra被少數(shù)幾家大公司使用,如Facebook、Twitter、Cisco、eBay、Netflix、Rackspace、Twitter等。
Cassandra的應(yīng)用
- Cassandra因其更好的技術(shù)特性而在當(dāng)前環(huán)境下廣受歡迎</李>
- Cassandra允許增加更多硬件,以容納更多客戶機(jī)和更多數(shù)據(jù)(如果需要)</李>
- 因?yàn)樗鼪]有故障選項(xiàng),所以它支持無法承受任何故障的業(yè)務(wù)及其關(guān)鍵應(yīng)用程序</李>
- 它有一個(gè)快速的響應(yīng)時(shí)間,提高了線性規(guī)模的表現(xiàn)</李>
- Cassandra動(dòng)態(tài)適應(yīng)所有數(shù)據(jù)格式,如結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化</李>
- 通過跨多個(gè)中心復(fù)制數(shù)據(jù),它能夠在我們需要的任何地方靈活地分發(fā)數(shù)據(jù)</李>
- 它還支持具有原子性、一致性、隔離性和持久性等ACID屬性的事務(wù)</李>
- 它設(shè)計(jì)用于執(zhí)行低產(chǎn)品硬件,實(shí)現(xiàn)快速寫入,并能夠存儲(chǔ)數(shù)百TB的數(shù)據(jù),而不會(huì)損失讀取效率</李>
示例
Cassandra查詢語言用于通過其節(jié)點(diǎn)訪問Cassandra。在CQL中,鍵空間是描述節(jié)點(diǎn)上數(shù)據(jù)復(fù)制的命名空間。編碼人員使用cqlsh一種快速使用CQL或其他應(yīng)用程序語言驅(qū)動(dòng)程序的工具。
使用Cqlsh和語法創(chuàng)建鍵空間
創(chuàng)建鍵空間<;標(biāo)識(shí)符>;與<;房地產(chǎn)></代碼>
例如,
cqlsh>;創(chuàng)建鍵空間LearnSQL。通信
復(fù)制={'class\':'Simpleplan\','replication\'u factor\':3}</代碼>
另外,讓我們使用CQL語法創(chuàng)建一個(gè)表:
CREATE(表|列族)<;tablename>;
(\'<;列定義>;\',\'<;列定義>;\')
(帶有<;選項(xiàng)>;和<;選項(xiàng)>;)</代碼>
我們可以這樣定義一個(gè)列:
列名稱1數(shù)據(jù)類型,
列名稱2數(shù)據(jù)類型,
比如:
age int,
姓名文本
例如,
cqlsh>;使用LearnSQL;
cqlsh:learnCQl>;;創(chuàng)建桌子螺柱(
主鍵,
你的名字文本,
城市文本,
電話變體
);</代碼>
它創(chuàng)建了一個(gè)表,其中包含studs_id、studs_name、studs_city和studs_phone列。
先決條件
如果您對(duì)數(shù)據(jù)庫管理感興趣,可以學(xué)習(xí)Cassandra教程,也可以訪問官方網(wǎng)站了解更多詳細(xì)信息。阿帕奇。組織
就先決條件而言,如果您具備JAVA編程的基本知識(shí),那么這是一個(gè)簡(jiǎn)單的教程,我們可以輕松理解所有概念。除此之外,如果您對(duì)數(shù)據(jù)庫查詢和任何Linux想法有任何先驗(yàn)知識(shí),那就太好了。
目標(biāo)受眾
Apache Cassandra對(duì)于軟件專家來說是一個(gè)非常有用的話題,尤其是那些旨在學(xué)習(xí)Cassandra的原理并進(jìn)行實(shí)踐的專家。