四種重要的非關(guān)系型數(shù)據(jù)庫(kù)

Hbase
列式存儲(chǔ)以流的方式在列中存儲(chǔ)所有的數(shù)據(jù)。對(duì)于任何記錄寸士,索引都可以快速地獲取列上的數(shù)據(jù)檐什;列式存儲(chǔ)支持行檢索,但這需要從每個(gè)列獲取匹配的列值弱卡,并重新組成行乃正。HBase(Hadoop Database)是一個(gè)高可靠性、高性能婶博、面向列瓮具、可伸縮的分布式存儲(chǔ)系統(tǒng),利用HBase技術(shù)可在廉價(jià)PC Server上搭建起大規(guī)模結(jié)構(gòu)化存儲(chǔ)集群凡人。HBase是Google BigTable的開(kāi)源實(shí)現(xiàn)名党,模仿并提供了基于Google文件系統(tǒng)的BigTable數(shù)據(jù)庫(kù)的所有功能。HBase可以直接使用本地文件系統(tǒng)或者Hadoop作為數(shù)據(jù)存儲(chǔ)方式挠轴,不過(guò)為了提高數(shù)據(jù)可靠性和系統(tǒng)的健壯性传睹,發(fā)揮HBase處理大數(shù)據(jù)量等功能,需要使用Hadoop作為文件系統(tǒng)岸晦。HBase僅能通過(guò)主鍵(row key)和主鍵的range來(lái)檢索數(shù)據(jù)欧啤,僅支持單行事務(wù)睛藻,主要用來(lái)存儲(chǔ)非結(jié)構(gòu)化和半結(jié)構(gòu)化的松散數(shù)據(jù)。

Hbase中表的特點(diǎn):大堂油,稀疏修档,面向列

Hadoop生態(tài)系統(tǒng)中的各層系統(tǒng)

HBase位于結(jié)構(gòu)化存儲(chǔ)層;

HDFS為HBase提供了高可靠性的底層存儲(chǔ)支持府框;

MapReduce為HBase提供了高性能的計(jì)算能力吱窝;

Zookeeper為HBase提供了穩(wěn)定服務(wù)和失敗恢復(fù)機(jī)制;

Pig和Hive還為HBase提供了高層語(yǔ)言支持迫靖,使得在HBase上進(jìn)行數(shù)據(jù)統(tǒng)計(jì)處理變的非常簡(jiǎn)單院峡;

Sqoop則為HBase提供了方便的RDBMS數(shù)據(jù)導(dǎo)入功能,方便數(shù)據(jù)遷移系宜;

Hbase在互聯(lián)網(wǎng)存儲(chǔ)的幾個(gè)應(yīng)用場(chǎng)景:

1.抓取增量數(shù)據(jù)

使用HBase 作為數(shù)據(jù)存儲(chǔ)照激,抓取來(lái)自各種數(shù)據(jù)源的增量數(shù)據(jù),如抓取用戶(hù)交互數(shù)據(jù)盹牧,以備之后進(jìn)行分析俩垃、處理

2.內(nèi)容服務(wù)

傳統(tǒng)數(shù)據(jù)庫(kù)最主要的使用場(chǎng)合之一是為用戶(hù)提供內(nèi)容服務(wù),如URL短鏈接服務(wù)汰寓,可以HBase為基礎(chǔ)口柳,存儲(chǔ)大量的短鏈接以及和原始長(zhǎng)鏈接的映射關(guān)系

3.信息交換

Facebook的短信平臺(tái)每天交換數(shù)十億條短信,HBase可以很好的滿(mǎn)足該平臺(tái)的需求:高的寫(xiě)吞吐量有滑,極大的表跃闹,數(shù)據(jù)中心的強(qiáng)一致性

Hbase與傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)區(qū)別:

數(shù)據(jù)類(lèi)型:

HBase只有簡(jiǎn)單的字符串類(lèi)型,所有類(lèi)型都由用戶(hù)自己處理毛好,它只保存字符串望艺;
關(guān)系數(shù)據(jù)庫(kù)有豐富的類(lèi)型選擇和存儲(chǔ)方式。

數(shù)據(jù)操作:

HBase操作只有很簡(jiǎn)單的插入肌访、查詢(xún)找默、刪除、清空等吼驶,表和表之間是分離的惩激,沒(méi)有復(fù)雜的表和表之間的關(guān)系,所以也不能也沒(méi)有必要實(shí)現(xiàn)表和表之間的關(guān)聯(lián)等操作旨剥;
傳統(tǒng)的關(guān)系數(shù)據(jù)通常有各種各樣的函數(shù)咧欣、連接操作。

存儲(chǔ)模式:

HBase是基于列存儲(chǔ)的轨帜,每個(gè)列族都有幾個(gè)文件保存魄咕,不同列族的文件是分離的;
傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)是基于表格結(jié)構(gòu)和行模式保存的蚌父。

數(shù)據(jù)維護(hù):

HBase的更新正確來(lái)說(shuō)應(yīng)該不叫更新哮兰,而且一個(gè)主鍵或者列對(duì)應(yīng)的新的版本毛萌,而它舊有的版本仍然會(huì)保留,所以它實(shí)際上是插入了新的數(shù)據(jù)喝滞;
傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)里面是替換修改阁将。

可伸縮性:

HBase和BigTable這類(lèi)分布式數(shù)據(jù)庫(kù)就是直接為了這個(gè)目的開(kāi)發(fā)出來(lái)的,能夠輕易的增加或者減少(在硬件錯(cuò)誤的時(shí)候)硬件數(shù)量右遭,而且對(duì)錯(cuò)誤的兼容性比較高做盅;
傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)通常需要增加中間層才能實(shí)現(xiàn)類(lèi)似的功能。

修改表模式需要先將表設(shè)置為不可用(disable)窘哈,模式修改完成再啟用表(enable)

HBase的三個(gè)主要的功能組件

庫(kù)函數(shù):鏈接到每個(gè)客戶(hù)端吹榴;一個(gè)HMaster主服務(wù)器;許多個(gè)HRegion服務(wù)器滚婉。

Hbase三層結(jié)構(gòu)

1.Zookeeper文件:它記錄了-ROOT-表的位置信息图筹,即root region的位置信息。

2.-ROOT-表:只包含一個(gè)root region让腹,記錄了.META.表中的region信息远剩。通過(guò)root region,我們就可以訪(fǎng)問(wèn).META.表的數(shù)據(jù)骇窍。

3.META.表:記錄了用戶(hù)表的HRegion信息瓜晤,.META.表可以有多個(gè)HRegion,保存了HBase中所有數(shù)據(jù)表的HRegion位置信息像鸡。

Hbase兩種文件類(lèi)型

HFile:HBase中KeyValue數(shù)據(jù)的存儲(chǔ)格式活鹰,HFile是Hadoop的二進(jìn)制格式文件哈恰,實(shí)際上HStoreFile就是對(duì)HFile做了輕量級(jí)包裝只估,即HStoreFile底層就是HFile。

HLogFile:HBase中WAL(Write Ahead Log)的存儲(chǔ)格式着绷,物理上是Hadoop的順序文件蛔钙。

Redis
Redis是一個(gè)key-value存儲(chǔ)系統(tǒng),key為字符串類(lèi)型,只能通過(guò)key對(duì)value進(jìn)行操作荠医,支持的數(shù)據(jù)類(lèi)型包括string吁脱、list、set彬向、zset(有序集合)和hash兼贡。Redis支持主從同步,數(shù)據(jù)可以從主服務(wù)器向任意數(shù)量的從服務(wù)器上同步娃胆。
Redis事務(wù)允許一組命令在單一步驟中執(zhí)行遍希。事務(wù)有兩個(gè)屬性:在一個(gè)事務(wù)中的所有命令作為單個(gè)獨(dú)立的操作順序執(zhí)行;Redis事務(wù)是原子的里烦,原子意味著要么所有的命令都執(zhí)行凿蒜,要么都不執(zhí)行禁谦。Redis 事務(wù)由指令 MULTI 發(fā)起的,之后傳遞需要在事務(wù)中和整個(gè)事務(wù)中废封,最后由 EXEC 命令執(zhí)行所有命令的列表州泊。

Redis分區(qū)
是將數(shù)據(jù)分割成多個(gè) Redis 實(shí)例,使每個(gè)實(shí)例將只包含鍵子集的過(guò)程.它允許更大的數(shù)據(jù)庫(kù)漂洋,使用多臺(tái)計(jì)算機(jī)的內(nèi)存總和,它允許按比例在多內(nèi)核和多個(gè)計(jì)算機(jī)計(jì)算遥皂,以及網(wǎng)絡(luò)帶寬向多臺(tái)計(jì)算機(jī)和網(wǎng)絡(luò)適配器。劣勢(shì):涉及多個(gè)鍵時(shí)刽漂,Redis事務(wù)無(wú)法使用渴肉;數(shù)據(jù)處理比較復(fù)雜;加和刪除的容量可能會(huì)很復(fù)雜爽冕。

分區(qū)類(lèi)型:范圍分區(qū)仇祭;散列分區(qū)

Redis 數(shù)據(jù)庫(kù)可以配置安全保護(hù)的,所以任何客戶(hù)端在連接執(zhí)行命令時(shí)需要進(jìn)行身份驗(yàn)證颈畸。

應(yīng)用:統(tǒng)計(jì)

MongodDB
一個(gè)基于分布式文件存儲(chǔ)的開(kāi)源數(shù)據(jù)庫(kù)系統(tǒng)乌奇,為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。MongoDB 將數(shù)據(jù)存儲(chǔ)為一個(gè)文檔眯娱,數(shù)據(jù)結(jié)構(gòu)由鍵值(key value)對(duì)組成礁苗。

特點(diǎn):
面向集合存儲(chǔ),易存儲(chǔ)對(duì)象類(lèi)型的數(shù)據(jù)徙缴;模式自由试伙;支持動(dòng)態(tài)查詢(xún);支持完全索引于样,包含內(nèi)部對(duì)象疏叨;支持查詢(xún);支持復(fù)制和故障恢復(fù)穿剖;使用高效的二進(jìn)制數(shù)據(jù)存儲(chǔ)蚤蔓,包括大型對(duì)象(如視頻);自動(dòng)處理碎片糊余,以支持云計(jì)算層次的擴(kuò)展性秀又;支持RUBY,PYTHON贬芥,JAVA吐辙,C++,PHP蘸劈,C#等多種語(yǔ)言昏苏;文件存儲(chǔ)格式為BSON(一種JSON的擴(kuò)展);可通過(guò)網(wǎng)絡(luò)訪(fǎng)問(wèn)。

適用場(chǎng)景:網(wǎng)站數(shù)據(jù)捷雕;緩存椒丧;大尺寸,低價(jià)值的數(shù)據(jù)救巷;高伸縮性的場(chǎng)景壶熏;用于對(duì)象及JSON 數(shù)據(jù)的存儲(chǔ)。

不適用場(chǎng)景:高度事務(wù)性的系統(tǒng)浦译;傳統(tǒng)的商業(yè)智能應(yīng)用棒假;需要SQL 的問(wèn)題。

*聚合管道將文檔在一個(gè)管道處理完畢后將結(jié)果傳遞給下一個(gè)管道處理精盅,管道操作是可以重復(fù)的帽哑。

引用式文檔查詢(xún):需要兩次查詢(xún)
第一次查詢(xún)用戶(hù)地址的對(duì)象id(ObjectId);第二次通過(guò)查詢(xún)的id獲取用戶(hù)的詳細(xì)地址信息叹俏。
集合中索引不能超過(guò)64個(gè)妻枕;索引名的長(zhǎng)度不能超過(guò)125個(gè)字符;一個(gè)復(fù)合索引最多可以有31個(gè)字段粘驰。mongorestore 命令來(lái)恢復(fù)備份的數(shù)據(jù)屡谐。

Neo4j
是一個(gè)高性能的 NoSQL 圖形數(shù)據(jù)庫(kù),把數(shù)據(jù)保存為圖中的節(jié)點(diǎn)以及節(jié)點(diǎn)之間的關(guān)系蝌数。Neo4j 中兩個(gè)最基本的概念是節(jié)點(diǎn)和邊

節(jié)點(diǎn)表示實(shí)體愕掏,邊則表示實(shí)體之間的關(guān)系。節(jié)點(diǎn)和邊都可以有自己的屬性顶伞,不同實(shí)體通過(guò)各種不同的關(guān)系關(guān)聯(lián)起來(lái)饵撑,形成復(fù)雜的對(duì)象圖。
Neo4j 提供了在對(duì)象圖上進(jìn)行查找和遍歷的功能:深度搜索唆貌、廣度搜索滑潘。

特點(diǎn):
完整的ACID支持;高可用性挠锥;輕易擴(kuò)展到上億級(jí)別的節(jié)點(diǎn)和關(guān)系众羡;通過(guò)遍歷工具高速檢索數(shù)據(jù)侨赡;屬性是由Key-Value鍵值對(duì)組成蓖租。

應(yīng)用:社交網(wǎng)絡(luò),歌曲信息羊壹,狀態(tài)圖

數(shù)據(jù)庫(kù)轉(zhuǎn)化

關(guān)系型數(shù)據(jù)庫(kù)

Hbase

Redis

MongoDB

Neo4j

轉(zhuǎn)載:https://blog.csdn.net/qq_34116402/article/details/79578187

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蓖宦,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子油猫,更是在濱河造成了極大的恐慌稠茂,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,599評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異睬关,居然都是意外死亡诱担,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,629評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)电爹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蔫仙,“玉大人,你說(shuō)我怎么就攤上這事丐箩∫“睿” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,084評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵屎勘,是天一觀的道長(zhǎng)施籍。 經(jīng)常有香客問(wèn)我,道長(zhǎng)概漱,這世上最難降的妖魔是什么丑慎? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,708評(píng)論 1 284
  • 正文 為了忘掉前任振惰,我火速辦了婚禮茧痕,結(jié)果婚禮上匀泊,老公的妹妹穿的比我還像新娘想幻。我一直安慰自己蒸痹,他們只是感情好谎仲,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,813評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布舞吭。 她就那樣靜靜地躺著幔虏,像睡著了一般产喉。 火紅的嫁衣襯著肌膚如雪捂掰。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 50,021評(píng)論 1 291
  • 那天曾沈,我揣著相機(jī)與錄音这嚣,去河邊找鬼。 笑死塞俱,一個(gè)胖子當(dāng)著我的面吹牛姐帚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播障涯,決...
    沈念sama閱讀 39,120評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼罐旗,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了唯蝶?” 一聲冷哼從身側(cè)響起九秀,我...
    開(kāi)封第一講書(shū)人閱讀 37,866評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎粘我,沒(méi)想到半個(gè)月后鼓蜒,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,308評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,633評(píng)論 2 327
  • 正文 我和宋清朗相戀三年都弹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了娇豫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,768評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡畅厢,死狀恐怖锤躁,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情或详,我是刑警寧澤系羞,帶...
    沈念sama閱讀 34,461評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站霸琴,受9級(jí)特大地震影響椒振,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜梧乘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,094評(píng)論 3 317
  • 文/蒙蒙 一澎迎、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧选调,春花似錦夹供、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,850評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至弦聂,卻和暖如春鸟辅,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背莺葫。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,082評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工匪凉, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人捺檬。 一個(gè)月前我還...
    沈念sama閱讀 46,571評(píng)論 2 362
  • 正文 我出身青樓再层,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親堡纬。 傳聞我的和親對(duì)象是個(gè)殘疾皇子聂受,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,666評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容