Cassandra數(shù)據(jù)存儲(chǔ)簡(jiǎn)介

      網(wǎng)友投稿 1036 2025-03-31

      1、數(shù)據(jù)存儲(chǔ)方式

      Cassandra 的數(shù)據(jù)模型是基于列族(Column Family)的四維或五維模型。在 Cassandra 寫(xiě)入數(shù)據(jù)之前,需要先記錄日志 ( Commitlog),然后數(shù)據(jù)開(kāi)始寫(xiě)入到 Column Family 對(duì)應(yīng)的 Memtable 中,Memtable 是一種按照 key 排序的內(nèi)存結(jié)構(gòu),記錄在緩存中,在滿(mǎn)足一定條件(容量、條數(shù)、時(shí)間間隔超過(guò)閾值)時(shí),再把 Memtable 的數(shù)據(jù)批量的刷新到磁盤(pán)上,存儲(chǔ)為 SSTable 。

      使用Memtable的優(yōu)勢(shì)就是把隨機(jī)的IO變成了順序IO,降低大量寫(xiě)操作對(duì)存儲(chǔ)系統(tǒng)的壓力。

      2、Cassandra 的數(shù)據(jù)模型及基本概念

      Cluster:Cassandra 的節(jié)點(diǎn)實(shí)例,它可以包含多個(gè)Keyspace。

      Keyspace::用于存放 ColumnFamily 的容器,相當(dāng)于關(guān)系數(shù)據(jù)庫(kù)中的 Schema 或 database。

      ColumnFamily::用于存放 Column 的容器,類(lèi)似關(guān)系數(shù)據(jù)庫(kù)中的 table 的概念 。

      SuperColumn::它是一個(gè)特列殊的 Column, 它的 Value 值可以包函多個(gè)Column。

      Column::Cassandra 的最基本單位。由name , value , timestamp組成。

      數(shù)據(jù)模型圖如下:

      圖1 Cassandra數(shù)據(jù)模型圖

      3、Cassandra中數(shù)據(jù)存放規(guī)則

      data:存儲(chǔ)真正的數(shù)據(jù)文件,既后面的SStable文件,可以指定多個(gè)目錄。

      commitlog:存儲(chǔ)未寫(xiě)入SSTable中的數(shù)據(jù)(在每次寫(xiě)入之前先放入日志文件)。

      cache:存儲(chǔ)系統(tǒng)中的緩存數(shù)據(jù)(在服務(wù)重啟的時(shí)候從這個(gè)目錄中加載緩存數(shù)據(jù))。

      Cassandra數(shù)據(jù)存儲(chǔ)簡(jiǎn)介

      Commitlog中包括兩部分:Commitlog-xxxx.log和Commitlog-xxxx.log.header。Commitlog-xxxx.log保存上次更新操作的值,Commitlog-xxxx.log.header記錄哪些數(shù)據(jù)已經(jīng)從Memtable中寫(xiě)入到了SSTable。Commitlog-xxxx.log.header也可能不存在。

      SSTable中數(shù)據(jù)分為四種類(lèi)型:xxxx-Data.db、xxxx-Filter.db、xxxxx-Index.db、xxxx-Statistics.db。Data文件存儲(chǔ)數(shù)據(jù)與Key對(duì)應(yīng)的一些Column的索引信息(利用索引快速的找到要找的值)。Filter文件的作用是快速定位某一個(gè)Key是否在該SSTable文件中(用布爾過(guò)濾器來(lái)做判斷)。Index文件用于索引文件,保存Key和在Data文件中對(duì)應(yīng)的位置,在內(nèi)存中查找時(shí)先哈希再二分法。Statistics文件用來(lái)存儲(chǔ)SSTable中所包含的Column的個(gè)數(shù)和Row的個(gè)數(shù)。

      在Cassandra中除了用戶(hù)自己定義的Keyspace之外,還有一個(gè)特殊的Keyspace:system。其作用有二:管理Cassandra的系統(tǒng)元數(shù)據(jù)信息;緩存HINT數(shù)據(jù)。

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

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶(hù)投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶(hù)投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:OGG(11G)RAC-->單實(shí)例 搭建--同構(gòu)同版本(數(shù)據(jù)泵初始化)
      下一篇:excel中如何算乘法(怎樣在excel中算乘法)
      相關(guān)文章
      久久精品国产亚洲av麻豆小说| 西西人体44rt高清亚洲 | 久久精品国产精品亚洲艾| 亚洲综合亚洲综合网成人| 亚洲国产精品丝袜在线观看| 久久久久亚洲AV无码去区首| 亚洲暴爽av人人爽日日碰| 亚洲精品永久在线观看| 亚洲国产欧洲综合997久久| 亚洲国产成人无码AV在线| 亚洲成a∧人片在线观看无码| 亚洲久热无码av中文字幕| 亚洲日韩精品无码专区| 亚洲人成自拍网站在线观看| 亚洲码欧美码一区二区三区| 性色av极品无码专区亚洲| 婷婷国产偷v国产偷v亚洲| 国产成人亚洲精品蜜芽影院| 一区国严二区亚洲三区| 亚洲一级Av无码毛片久久精品| 中文字幕无码精品亚洲资源网| 亚洲综合无码AV一区二区| 亚洲精品无码专区在线在线播放 | 久99精品视频在线观看婷亚洲片国产一区一级在线 | 亚洲欧洲无码一区二区三区| 亚洲乱人伦中文字幕无码| 亚洲a无码综合a国产av中文| 亚洲av无码成人精品区在线播放 | 亚洲精品人成电影网| 亚洲永久中文字幕在线| 亚洲伦理中文字幕| 亚洲爆乳无码专区www| 无码专区一va亚洲v专区在线| 亚洲精品乱码久久久久久不卡| 国产精品亚洲mnbav网站 | 亚洲日韩久久综合中文字幕| 亚洲?V无码乱码国产精品| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 亚洲高清国产拍精品26U| 亚洲影院在线观看| 亚洲中字慕日产2020|