大數(shù)據(jù)時(shí)代是當(dāng)前最吃香的名詞,其應(yīng)用到世界的各個(gè)領(lǐng)域和行業(yè) 。我知道大概有幾種:
1.關(guān)系數(shù)據(jù)庫(kù)
2.列式數(shù)據(jù)庫(kù)
3.鍵值數(shù)據(jù)庫(kù)
4.圖像圖形數(shù)據(jù)庫(kù)
【大數(shù)據(jù)的數(shù)據(jù)庫(kù)是什么,大數(shù)據(jù)主要用什么數(shù)據(jù)庫(kù)】5.分布式文檔數(shù)據(jù)庫(kù)
下面分別一一說(shuō)明其代表的產(chǎn)品以及其主要特點(diǎn) 。
關(guān)系數(shù)據(jù)庫(kù)
關(guān)系型數(shù)據(jù)一直為我們所用,比如Oracle,MySQL,SQL Server,Postgress.保存到關(guān)系數(shù)據(jù)庫(kù)的數(shù)據(jù)必須滿足一定要求,用通用的話來(lái)說(shuō)就是滿足一定的數(shù)據(jù)范式,比如主鍵,外鍵,數(shù)據(jù)的冗余;舉個(gè)例子,學(xué)生的信息可以保存到數(shù)據(jù)庫(kù)中,班級(jí)的信息也可以保存到數(shù)據(jù)庫(kù)中,而且一個(gè)班級(jí)包括很多學(xué)生,他們之間通過(guò)外鍵還可以建立一種1對(duì)多的對(duì)應(yīng)關(guān)系,這些信息和關(guān)系可以通過(guò)關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ),值得注意的是,關(guān)系型數(shù)據(jù)庫(kù),需要預(yù)先定義其表結(jié)構(gòu),而且存儲(chǔ)前需要定義其對(duì)應(yīng)的數(shù)據(jù)類型或者長(zhǎng)度,一旦有新的屬性加入,就要修改其表的結(jié)構(gòu) 。傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)其實(shí)就是行式數(shù)據(jù)庫(kù),就是一行一行的方式來(lái)存儲(chǔ)信息的 。
列式數(shù)據(jù)庫(kù)
列式數(shù)據(jù)庫(kù)一般應(yīng)用于對(duì)應(yīng)大量的字符串?dāng)?shù)據(jù),實(shí)例如HBase,cassandra,Sybase IQ,HP Vertica、EMC Greenplum等 。列式數(shù)據(jù)庫(kù)從一開始就是面向大數(shù)據(jù)環(huán)境下數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)分析而產(chǎn)生,主要適合于批量數(shù)據(jù)處理和即時(shí)查詢 。下面這2張圖形象的說(shuō)明了什么是列式數(shù)據(jù)庫(kù),什么是行式數(shù)據(jù)庫(kù)已經(jīng)兩者之間的區(qū)別 。
極高的裝載速度 (最高可以等于所有硬盤IO 的總和,基本是極限了)
適合大量的數(shù)據(jù)而不是小數(shù)據(jù)
實(shí)時(shí)加載數(shù)據(jù)僅限于增加(刪除和更新需要解壓縮Block 然后計(jì)算然后重新壓縮儲(chǔ)存)
高效的壓縮率,不僅節(jié)省儲(chǔ)存空間也節(jié)省計(jì)算內(nèi)存和CPU,為什么具有高壓縮率呢?因?yàn)榇鎯?chǔ)的數(shù)據(jù)類型是一樣的 。
非常適合做聚合操作 。
鍵值數(shù)據(jù)庫(kù)
即Key-Value存儲(chǔ),簡(jiǎn)稱KV存儲(chǔ) 。它是NoSQL存儲(chǔ)的一種方式 。它的數(shù)據(jù)按照鍵值對(duì)的形式進(jìn)行組織,索引和存儲(chǔ) 。KV存儲(chǔ)非常適合不涉及過(guò)多數(shù)據(jù)關(guān)系業(yè)務(wù)關(guān)系的業(yè)務(wù)數(shù)據(jù),同時(shí)能有效減少讀寫磁盤的次數(shù),比SQL數(shù)據(jù)庫(kù)存儲(chǔ)擁有更好的讀寫性能 。典型的產(chǎn)品有: 亞馬遜的DynamoDB,redis 。
圖形數(shù)據(jù)庫(kù)
圖形數(shù)據(jù)庫(kù)不是專門用來(lái)存儲(chǔ)圖形圖像的,而是因?yàn)槠溆脠D狀結(jié)構(gòu)來(lái)維持其數(shù)據(jù)之間的關(guān)系,所以叫做圖形數(shù)據(jù)庫(kù) 。Neo4j,Sones就是其典型代表 。
在圖數(shù)據(jù)結(jié)構(gòu)中,只有兩種基本的數(shù)據(jù)類型 即節(jié)點(diǎn)(Node)和關(guān)系(Relationship),節(jié)點(diǎn)(Node)可以擁有屬性,關(guān)系(Relationship)也可以擁有屬性 ,屬性都是以鍵值對(duì)的方式存儲(chǔ),節(jié)點(diǎn)(Node)與節(jié)點(diǎn)(Node)的聯(lián)系通過(guò)關(guān)系(Relationship)進(jìn)行建立,他們建立的關(guān)系是有方向的 。
Neo4j是一個(gè)高性能的,NOSQL圖形數(shù)據(jù)庫(kù),它將結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)在網(wǎng)絡(luò)上而不是表中 。Neo4j也可以被看作是一個(gè)高性能的圖引擎,該引擎具有成熟數(shù)據(jù)庫(kù)的所有特性 。程序員工作在一個(gè)面向?qū)ο蟮摹㈧`活的網(wǎng)絡(luò)結(jié)構(gòu)下而不是嚴(yán)格、靜態(tài)的表中——但是他們可以享受到具備完全的事務(wù)特性、企業(yè)級(jí)的數(shù)據(jù)庫(kù)的所有好處 。Neo4j因其嵌入式、高性能、輕量級(jí)等優(yōu)勢(shì),越來(lái)越受到關(guān)注 。其支持幾乎所有的主流的開發(fā)語(yǔ)言
分布式文檔存儲(chǔ)數(shù)據(jù)庫(kù)
不需要定義,應(yīng)用靈活,文檔存儲(chǔ)支持對(duì)結(jié)構(gòu)化數(shù)據(jù)的訪問(wèn),不同于關(guān)系模型的是,文檔存儲(chǔ)沒(méi)有強(qiáng)制的架構(gòu) 。與關(guān)系模型不同的是,文檔存儲(chǔ)模型支持嵌套結(jié)構(gòu) 。例如,文檔存儲(chǔ)模型支持XML和JSON文檔,字段的“值”又可以嵌套存儲(chǔ)其它文檔 。文檔存儲(chǔ)模型也支持?jǐn)?shù)組和列值鍵 。與鍵值存儲(chǔ)不同的是,文檔存儲(chǔ)關(guān)心文檔的內(nèi)部結(jié)構(gòu) 。這使得存儲(chǔ)引擎可以直接支持二級(jí)索引,從而允許對(duì)任意字段進(jìn)行高效查詢 。支持文檔嵌套存儲(chǔ)的能力,使得查詢語(yǔ)言具有搜索嵌套對(duì)象的能力,XQuery就是一個(gè)例子 。MongoDB通過(guò)支持在查詢中指定JSON字段路徑實(shí)現(xiàn)類似的功能 。比如,CouchDB,MongoDB等 。







推薦閱讀
- 奇異博士戰(zhàn)力全解析 奇異博士的能力
- 新疆是哪個(gè)皇帝打下來(lái)的
- 韓國(guó)片酬最高的10位男演員 韓國(guó)地位最高的男星
- 肉怎么保存時(shí)間長(zhǎng)一點(diǎn),新鮮豬肉怎么做保存的時(shí)間長(zhǎng)
- 三星太子妃韓國(guó)頂級(jí)名媛 韓國(guó)地位最頂級(jí)的明星
- 芋兒的功效與作用 芋兒的功效與作用有哪些
- 世界冠軍李大雙與妻子李琳傳婚變 李琳的老公是誰(shuí)
- 草原上的動(dòng)物有哪些,我國(guó)特有珍稀動(dòng)物有哪些
- 蛇會(huì)主動(dòng)咬熟睡的人嗎
- 臘味合蒸指的是什么
