中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

NoSQL數據庫 Cassandra(一)

發布時間:2020-07-31 15:05:28 來源:網絡 閱讀:1074 作者:GoDevops 欄目:數據庫

   隨著互聯網技術的發展,對數據存儲的要求越來越高,在容量、安全性、備份、高可用性等方面都有很高的需求,很受歡迎的關系型數據庫有SQLServer、MySQL、Orcale等,非關系型數據庫有key、value型的Redis,Memcached,文檔型數據庫有MongoDB、CouchDB,還有列簇類型的Hbase、Cassandra。種類繁多,要學習的知識點越來越多,我們在技術選型時,必須遵循“沒有最好的技術,只有最適合的技術”。因為業務的需要有的折騰新的技術,接下來將初步研究Cassandra的過程做一下筆記,以便后期查閱。

  1、初識Cassandra

  Apache Cassandra是高度可擴展的,高性能的分布式NoSQL數據庫。 Cassandra旨在處理許多服務器上的大量數據,提供高可用性而無需擔心單點故障。

  Cassandra具有能夠處理大量數據的分布式架構。 數據放置在具有多個復制因子的不同機器上,以獲得高可用性,而無需擔心單點故障。

官網:http://cassandra.apache.org/     幫助文檔:http://cassandra.apache.org/doc/latest/contactus.html 

目前主流的版本:Apache Cassandra 3.11  Apache Cassandra 3.0  

                              Apache Cassandra 2.2    Apache Cassandra 2.1

  目前沒發現Cassandra比較新書籍,網上能搜到的Cassandra 實戰  Cassandra 權威指南 是基于0.6與0.7,相對目前常用的版本已經很陳舊,所以當我們學習Cassandra 時,最好的方式是研究官方文檔。

1.1  Cassandra與關系數據庫比較

Cassandra關系數據庫
Cassandra用于處理非結構化數據。RDBMS用于處理結構化數據。
Cassandra具有靈活的模式。RDBMS具有固定的模式。
在Cassandra中,表是“嵌套鍵值對”列表(行x列鍵x列值)。在RDBMS中,表是數組的數組(一行x列)
在Cassandra中,keyspace是包含與應用對應的數據的最外層的容器。在RDBMS中,數據庫是包含與應用程序對應的數據的最外層的容器。
在Cassandra中,表或列族是鍵空間的實體。在RDBMS中,表是數據庫的實體。
在Cassandra中,行是一個復制單元。在RDBMS中,行是單條記錄。
在Cassandra中,列是一個存儲單元。在RDBMS中,列是表示關系的屬性。
在Cassandra中,使用集合來表示關系。在RDBMS中,有外鍵,連接等的概念。

  在MySQL等關系型數據庫中,都有表和庫的概念,不同類型的數據庫中庫的創建等方式都是不一樣的,MySQL等關系型數據庫必須先用CREATE語句創建數據庫和表結構才能插入數據,而Redis中根據配置文件中數據庫的個數,已經生成若干個數據庫,只需要用SELECT切換即可。MongoDB又是特殊的一種特殊的數據庫,里面沒有表的概念是庫和集合,在一定的情形下,不用自己創建,可以直接插入數據非常的便捷。Cassandra里面沒有庫的概念,里面是keyspace和表的實體。有些使用方法和MySQL等關系型數據庫相似,有些地方兩者又有很大的差距。

1.2  Cassandra與HBase比較

HBaseCassandra
HBase是基于Bigtable(Google)Cassandra基于DynamoDB(亞馬遜)。 它最初是由前亞馬遜工程師在Facebook開發的。 這是Cassandra支持多數據中心的原因之一。
HBase使用Hadoop基礎架構(Zookeeper,NameNode,HDFS)。 部署Hadoop的組織必須具備Hadoop和HBase的知識。Cassandra與Hadoop分開開發,其基礎工具和操作知識的要求與Hadoop不同。 然而,對于分析,許多Cassandra部署使用Cassandra + Storm(使用zookeeper)和/或Cassandra + Hadoop。
HBase-Hadoop基礎工具有幾個由Zookeeper,Name Node,HBase master和數據節點組成的“移動部件”,Zookeeper是集群的,自然是容錯的。名稱節點需要集群為容錯。Cassandra使用單個節點類型。 所有節點相等并執行所有功能。 任何節點都可以作為協調器,確保沒有Spof。 添加Storm或Hadoop當然會增加基礎設施的復雜性。
HBase非常適合進行基于范圍的掃描。Cassandra不支持基于范圍的行掃描,這可能在某些用例中是有限制的。
HBase提供跨越一個HBase集群的異步復制。Cassandra隨機分區提供了跨越單行的行復制。
HBase僅支持有序分區。Cassandra正式支持有序分區,但Cassandra沒有生產用戶使用有序分配,由于“熱點”創建并操作困難等熱點引起。
由于有序分區,HBase可以輕松地水平放置,同時還支持Rowkey范圍掃描。如果數據存儲在Cassandra的列中以支持范圍掃描,Cassandra中行大小的實際限制是10兆字節。
HBase支持原子比較和設置,HBase支持一行內的事務。Cassandra不支持原子比較和設置。
HBase不支持單行讀取負載平衡,一行只有一個區域服務器一次提供。Cassandra將支持單行讀取負載平衡。
Bloom過濾器可用于HBase作為另一種形式的索引。Cassandra使用bloom過濾器進行鍵查找。
觸發器由HBase中的協處理器功能支持。Cassandra不支持協處理器功能

   近年來隨著大數據技術與產業鏈的發展,Hadoop、Spark、Storm等技術發展迅速,同時,好多做大數據相關的技術人員供不應求,身價翻了好多,讓我這種屌絲好生羨慕。而HBase是大數據存儲領域里的先鋒和基石。扮演著非常重要的角色。但是整體架構的體量確實不小,整體的架構比Cassandra復雜很多,無形中加大了系統的復雜度和可維護性。

1.3  使用Cassandra的互聯網公司

國外:

  • eBay:200+TB,400+M寫,100+M讀,應用場景:商品詳情頁上的Social Signals,如Like,Want,Own,Favorites等;用戶和商品的hunch taste graph;時間序列如移動通知,反作弊,soa,監控,日志服務等;

  • Netflix:包含288+96+60個實例的大規模集群,每秒110萬的寫操作,3個AWS EC2 美國東部region的zone自動復制副本,總計330萬寫操作/秒;

  • Apple:75000+ nodes, 10s  of PBs,Millions ops/s, largest cluster 1000+ nodes

國內:

  • 360  從公開的資料看,應該有至少1500臺服務器的集群。360選用cassandra的原因如下:團隊人員少,需求緊,選擇開源項目;無單點,無中心,適合在線業務;代碼易懂,團隊成員有代碼基礎;社區比較活躍

  • 杭州同盾科技  具體使用量暫不清楚,只知道底層的數據存儲等架構主要基于Cassandra,是一家大數據風控、反欺詐公司,發展非常迅速。

2、安裝與實踐 

1、環境需求

Installing Cassandra


Prerequisites
The latest version of Java 8, either the Oracle Java Standard Edition 8 or OpenJDK 8. To
verify that you have the correct version of java installed, type java -version.
For using cqlsh, the latest version of Python 2.7. To verify that you have
the correct version of Python installed, type python --version
根據官網知道文檔需要java8以及python2.7的支持  現在好多生產環境已經都在使用CentOS7.X操作系
統了,而CentOS7.X是自帶python2.7,我們自行檢查一下,缺少python2.7和java8的情況,請自己安裝
即可。

2、常見安裝方式

  • 二進制安裝 

  • 源碼安裝

  • yum 等包管理器安裝

    安裝指導網頁:http://cassandra.apache.org/download/ 

二進制安裝方式簡答快捷,不需要編譯,安裝包下載后,對網絡依賴比較低。

3、單機安裝測試

操作系統:CentOS  7.1

Cassandra:Cassandra 3.11.1 

安裝方式:yum安裝  能夠上網,

yum源信息:

/etc/yum.repos.d/cassandra.repo
[cassandra]
name=Apache Cassandra
baseurl=
gpgcheck=1
repo_gpgcheck=1
gpgkey=
安裝
sudo yum install cassandra

啟動服務
service cassandra start

服務開機啟動
chkconfig cassandra on

Cassandra的相關內容比較多,后續再介紹常見的對keyspace的操作,以及對表操作,增刪改查,日常監控、安全與備份、高可用性集群等相關知識。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阳泉市| 大同市| 马边| 大渡口区| 长治市| 饶平县| 八宿县| 大同市| 吴忠市| 六枝特区| 黔江区| 阜宁县| 论坛| 获嘉县| 维西| 济阳县| 黄大仙区| 孟州市| 西畴县| 朝阳区| 定南县| 邛崃市| 南投市| 柳河县| 定远县| 高要市| 永城市| 梁山县| 郴州市| 仪征市| 托克托县| 鸡泽县| 景泰县| 依兰县| 循化| 嘉善县| 丰原市| 丁青县| 五大连池市| 阜城县| 呈贡县|