十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
nosql數(shù)據(jù)庫的四種類型如下:
卓資ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
1.key-value鍵值存儲(chǔ)數(shù)據(jù)庫:
相關(guān)產(chǎn)品: Redis、Riak、SimpleDB、Chordless、Scalaris、Memcached.
主要應(yīng)用: 內(nèi)容緩存,處理大量數(shù)據(jù)的高負(fù)載訪問,也用于系統(tǒng)日志。
優(yōu)點(diǎn):查找速度快,大量操作時(shí)性能高。
2.列存儲(chǔ)數(shù)據(jù)庫:
相關(guān)產(chǎn)品: BigTable、HBase、Cassandra、HadoopDB、GreenPlum、PNUTS.
主要應(yīng)用: 分布式數(shù)據(jù)的儲(chǔ)存與管理。
優(yōu)點(diǎn):查找速度快,可擴(kuò)展性強(qiáng),容易進(jìn)行分布式擴(kuò)展。
缺點(diǎn):功能相對(duì)局限。
3.文檔型數(shù)據(jù)庫
相關(guān)產(chǎn)品:MongoDB、CouchDB、ThruDB、CloudKit、Perservere、Jackrabbit.
主要應(yīng)用: web應(yīng)用,管理面向文檔的數(shù)據(jù)或者類似的半結(jié)構(gòu)化數(shù)據(jù)。
優(yōu)點(diǎn):數(shù)據(jù)結(jié)構(gòu)靈活,表結(jié)構(gòu)可變,復(fù)雜性低。
缺點(diǎn):查詢效率低,且缺乏統(tǒng)一的查詢語言。
4.Graph圖形數(shù)據(jù)庫
相關(guān)產(chǎn)品: Neo4J、OrientDB、InfoGrid、GraphDB.
主要應(yīng)用: 復(fù)雜,互連接,低結(jié)構(gòu)化的圖結(jié)構(gòu)場合, 專注構(gòu)建關(guān)系圖譜。
優(yōu)點(diǎn): 利用圖結(jié)構(gòu)相關(guān)算法, 可用于構(gòu)建復(fù)雜的關(guān)系圖譜。
缺點(diǎn): 復(fù)雜度高。
目前存儲(chǔ)海量數(shù)據(jù)的技術(shù)主要包括NoSQL、分布式文件系統(tǒng)、和傳統(tǒng)關(guān)系型數(shù)據(jù)庫。隨著互聯(lián)網(wǎng)行業(yè)不斷的發(fā)展,產(chǎn)生的數(shù)據(jù)量越來越多,并且這些數(shù)據(jù)的特點(diǎn)是半結(jié)構(gòu)化和非結(jié)構(gòu)化,數(shù)據(jù)很可能是不精確的,易變的。這樣傳統(tǒng)關(guān)系型數(shù)據(jù)庫就無法發(fā)揮它的優(yōu)勢。因此,目前互聯(lián)網(wǎng)行業(yè)偏向于使用NoSQL和分布式文件系統(tǒng)來存儲(chǔ)海量數(shù)據(jù)。
下面介紹下常用的NoSQL和分布式文件系統(tǒng)。
NoSQL
互聯(lián)網(wǎng)行業(yè)常用的NoSQL有:HBase、MongoDB、Couchbase、LevelDB。
HBase是Apache Hadoop的子項(xiàng)目,理論依據(jù)為Google論文 Bigtable: A Distributed Storage System for Structured Data開發(fā)的。HBase適合存儲(chǔ)半結(jié)構(gòu)化或非結(jié)構(gòu)化的數(shù)據(jù)。HBase的數(shù)據(jù)模型是稀疏的、分布式的、持久穩(wěn)固的多維map。HBase也有行和列的概念,這是與RDBMS相同的地方,但卻又不同。HBase底層采用HDFS作為文件系統(tǒng),具有高可靠性、高性能。
MongoDB是一種支持高性能數(shù)據(jù)存儲(chǔ)的開源文檔型數(shù)據(jù)庫。支持嵌入式數(shù)據(jù)模型以減少對(duì)數(shù)據(jù)庫系統(tǒng)的I/O、利用索引實(shí)現(xiàn)快速查詢,并且嵌入式文檔和集合也支持索引,它復(fù)制能力被稱作復(fù)制集(replica set),提供了自動(dòng)的故障遷移和數(shù)據(jù)冗余。MongoDB的分片策略將數(shù)據(jù)分布在服務(wù)器集群上。
Couchbase這種NoSQL有三個(gè)重要的組件:Couchbase服務(wù)器、Couchbase Gateway、Couchbase Lite。Couchbase服務(wù)器,支持橫向擴(kuò)展,面向文檔的數(shù)據(jù)庫,支持鍵值操作,類似于SQL查詢和內(nèi)置的全文搜索;Couchbase Gateway提供了用于RESTful和流式訪問數(shù)據(jù)的應(yīng)用層API。Couchbase Lite是一款面向移動(dòng)設(shè)備和“邊緣”系統(tǒng)的嵌入式數(shù)據(jù)庫。Couchbase支持千萬級(jí)海量數(shù)據(jù)存儲(chǔ)
分布式文件系統(tǒng)
如果針對(duì)單個(gè)大文件,譬如超過100MB的文件,使用NoSQL存儲(chǔ)就不適當(dāng)了。使用分布式文件系統(tǒng)的優(yōu)勢在于,分布式文件系統(tǒng)隔離底層數(shù)據(jù)存儲(chǔ)和分布的細(xì)節(jié),展示給用戶的是一個(gè)統(tǒng)一的邏輯視圖。常用的分布式文件系統(tǒng)有Google File System、HDFS、MooseFS、Ceph、GlusterFS、Lustre等。
相比過去打電話、發(fā)短信、用彩鈴的“老三樣”,移動(dòng)互聯(lián)網(wǎng)的發(fā)展使得人們可以隨時(shí)隨地通過刷微博、看視頻、微信聊天、瀏覽網(wǎng)頁、地圖導(dǎo)航、網(wǎng)上購物、外賣訂餐等,這些業(yè)務(wù)的海量數(shù)據(jù)都構(gòu)建在大規(guī)模網(wǎng)絡(luò)云資源池之上。當(dāng)14億中國人把衣食住行搬上移動(dòng)互聯(lián)網(wǎng)的同時(shí),也給網(wǎng)絡(luò)云資源池帶來巨大業(yè)務(wù)挑戰(zhàn)。
首先,用戶需求動(dòng)態(tài)變化,傳統(tǒng)業(yè)務(wù)流量主要是端到端模式,較為穩(wěn)定;而互聯(lián)網(wǎng)流量易受熱點(diǎn)內(nèi)容牽引,數(shù)據(jù)流量流向復(fù)雜和規(guī)模多變:比如雙十一購物狂潮,電商平臺(tái)訂單創(chuàng)建峰值達(dá)到58.3萬筆,要求通信網(wǎng)絡(luò)提供高并發(fā)支持;又如優(yōu)酷春節(jié)期間有超過23億人次上網(wǎng)刷劇、抖音拜年短視頻增長超10倍,需要通信網(wǎng)絡(luò)能夠靈活擴(kuò)充帶寬。面對(duì)用戶動(dòng)態(tài)多變的需求,通信網(wǎng)絡(luò)需要具備快速洞察和響應(yīng)用戶需求的能力,提供高效、彈性、智能的數(shù)據(jù)服務(wù)。
“隨著通信網(wǎng)絡(luò)管道十倍百倍加粗、節(jié)點(diǎn)數(shù)從千萬級(jí)逐漸躍升至百億千億級(jí),如何‘接得住、存得下’海量數(shù)據(jù),成為網(wǎng)絡(luò)云資源池建設(shè)面臨的巨大考驗(yàn)”,李輝表示。一直以來,作為新數(shù)據(jù)存儲(chǔ)首倡者和引領(lǐng)者,浪潮存儲(chǔ)攜手通信行業(yè)用戶,不斷 探索 提速通信網(wǎng)絡(luò)云基礎(chǔ)設(shè)施的各種姿勢。
早在2018年,浪潮存儲(chǔ)就參與了通信行業(yè)基礎(chǔ)設(shè)施建設(shè),四年內(nèi)累計(jì)交付約5000套存儲(chǔ)產(chǎn)品,涵蓋全閃存儲(chǔ)、高端存儲(chǔ)、分布式存儲(chǔ)等明星產(chǎn)品。其中在網(wǎng)絡(luò)云建設(shè)中,浪潮存儲(chǔ)已連續(xù)兩年兩次中標(biāo)全球最大的NFV網(wǎng)絡(luò)云項(xiàng)目,其中在網(wǎng)絡(luò)云二期建設(shè)中,浪潮存儲(chǔ)提供數(shù)千節(jié)點(diǎn),為上層網(wǎng)元、應(yīng)用提供高效數(shù)據(jù)服務(wù)。在最新的NFV三期項(xiàng)目中,浪潮存儲(chǔ)也已中標(biāo)。
能夠與通信用戶在網(wǎng)絡(luò)云建設(shè)中多次握手,背后是浪潮存儲(chǔ)的持續(xù)技術(shù)投入與創(chuàng)新。浪潮存儲(chǔ)6年內(nèi)投入超30億研發(fā)經(jīng)費(fèi),開發(fā)了業(yè)界首個(gè)“多合一”極簡架構(gòu)的浪潮并行融合存儲(chǔ)系統(tǒng)。此存儲(chǔ)系統(tǒng)能夠統(tǒng)籌管理數(shù)千個(gè)節(jié)點(diǎn),實(shí)現(xiàn)性能、容量線性擴(kuò)展;同時(shí)基于浪潮iTurbo智能加速引擎的智能IO均衡、智能資源調(diào)度、智能元數(shù)據(jù)管理等功能,與自研NVMe SSD閃存盤進(jìn)行系統(tǒng)級(jí)別聯(lián)調(diào)優(yōu)化,讓百萬級(jí)IO均衡落盤且路徑更短,將存儲(chǔ)系統(tǒng)性能發(fā)揮到極致。
“為了確保全球最大規(guī)模的網(wǎng)絡(luò)云正常上線運(yùn)行,我們聯(lián)合用戶對(duì)存儲(chǔ)集群展開了長達(dá)數(shù)月的魔鬼測試”,浪潮存儲(chǔ)工程師表示。網(wǎng)絡(luò)云的IO以虛擬機(jī)數(shù)據(jù)和上層應(yīng)用數(shù)據(jù)為主,浪潮按照每個(gè)存儲(chǔ)集群支持15000臺(tái)虛機(jī)進(jìn)行配置,分別對(duì)單卷隨機(jī)讀寫、順序?qū)?、混合讀寫以及全系統(tǒng)隨機(jī)讀寫的IO、帶寬、時(shí)延等指標(biāo)進(jìn)行了360無死角測試,達(dá)到了通信用戶提出的單卷、系統(tǒng)性能不低于4萬和12萬IOPS、時(shí)延小于3ms的要求,產(chǎn)品成熟度得到了驗(yàn)證。
以通信行業(yè)為例,2020年全國移動(dòng)互聯(lián)網(wǎng)接入流量1656億GB,相當(dāng)于中國14億人每人消耗118GB數(shù)據(jù);其中春節(jié)期間,移動(dòng)互聯(lián)網(wǎng)更是創(chuàng)下7天消耗36億GB數(shù)據(jù)流量的記錄,還“捎帶”打了548億分鐘電話、發(fā)送212億條短信……海量實(shí)時(shí)數(shù)據(jù)洪流,在網(wǎng)絡(luò)云資源池(NFV)支撐下收放自如,其中分布式存儲(chǔ)平臺(tái)發(fā)揮了作用。如此樣板工程,其巨大示范及拉動(dòng)作用不言而喻。
答案:A
1.文檔型數(shù)據(jù)庫
作為最受歡迎的NoSQL產(chǎn)品,文檔型數(shù)據(jù)庫MongoDB當(dāng)仁不讓地占據(jù)了第一的位置,同時(shí)它也是所有NoSQL數(shù)據(jù)庫中排名最靠前的產(chǎn)品(總排行榜第七名)。Apache基金會(huì)的CouchDB排在第二,基于.Net的數(shù)據(jù)庫RavenDB排在第三,Couchbase排在第四。
2.鍵值(Key-value)數(shù)據(jù)庫
鍵值(Key-value)數(shù)據(jù)庫是NoSQL領(lǐng)域中應(yīng)用范圍最廣的,也是涉及產(chǎn)品最多的一種模型。從最簡單的BerkeleyDB到功能豐富的分布式數(shù)據(jù)庫Riak再到Amazon托管的DynamoDB不一而足。
在鍵值數(shù)據(jù)庫流行度排行中,Redis不出意外地排名第一,它是一款由Vmware支持的內(nèi)存數(shù)據(jù)庫,總體排名第十一。排在第二位的是Memcached,它在緩存系統(tǒng)中應(yīng)用十分廣泛。排在之后的是Riak、BerkeleyDB、SimpleDB、DynamoDB以及甲骨文的Oracle NoSQL數(shù)據(jù)庫。值得注意的是,Oracle NoSQL數(shù)據(jù)庫上榜不久,得分已經(jīng)翻番,上升勢頭非常迅猛。
3. 列式存儲(chǔ)
列式存儲(chǔ)被視為NoSQL數(shù)據(jù)庫中非常重要的一種模式,其中Cassandra流行度最高,它已經(jīng)由Facebook轉(zhuǎn)交給到Apache進(jìn)行管理,同時(shí)Cassandra在全體數(shù)據(jù)庫排名中排在第十位,緊隨MongoDB成為第二受歡迎的NoSQL數(shù)據(jù)庫。基于Hadoop的Hbase排在第二位,Hypertable排在第三。而Google的BigTable并未列入排名,原因是它并未正式公開。
nosql是not only sql的意思。是近今年新發(fā)展起來的存儲(chǔ)系統(tǒng)。當(dāng)前使用最多的是key-value模型,用于處理超大規(guī)模的數(shù)據(jù)。
以下是摘自百度百科中的一部分
NoSQL 是非關(guān)系型數(shù)據(jù)存儲(chǔ)的廣義定義。它打破了長久以來關(guān)系型數(shù)據(jù)庫與ACID理論大一統(tǒng)的局面。NoSQL 數(shù)據(jù)存儲(chǔ)不需要固定的表結(jié)構(gòu),通常也不存在連接操作。在大數(shù)據(jù)存取上具備關(guān)系型數(shù)據(jù)庫無法比擬的性能優(yōu)勢。該術(shù)語在 2009 年初得到了廣泛認(rèn)同。
當(dāng)今的應(yīng)用體系結(jié)構(gòu)需要數(shù)據(jù)存儲(chǔ)在橫向伸縮性上能夠滿足需求。而 NoSQL 存儲(chǔ)就是為了實(shí)現(xiàn)這個(gè)需求。Google 的BigTable與Amazon的Dynamo是非常成功的商業(yè) NoSQL 實(shí)現(xiàn)。一些開源的 NoSQL 體系,如Facebook 的Cassandra, Apache 的HBase,也得到了廣泛認(rèn)同。從這些NoSQL項(xiàng)目的名字上看不出什么相同之處:Hadoop、Voldemort、Dynomite,還有其它很多。
NoSQL與關(guān)系型數(shù)據(jù)庫設(shè)計(jì)理念比較
關(guān)系型數(shù)據(jù)庫中的表都是存儲(chǔ)一些格式化的數(shù)據(jù)結(jié)構(gòu),每個(gè)元組字段的組成都一樣,即使不是每個(gè)元組都需要所有的字段,但數(shù)據(jù)庫會(huì)為每個(gè)元組分配所有的字段,這樣的結(jié)構(gòu)可以便于表與表之間進(jìn)行連接等操作,但從另一個(gè)角度來說它也是關(guān)系型數(shù)據(jù)庫性能瓶頸的一個(gè)因素。而非關(guān)系型數(shù)據(jù)庫以鍵值對(duì)存儲(chǔ),它的結(jié)構(gòu)不固定,每一個(gè)元組可以有不一樣的字段,每個(gè)元組可以根據(jù)需要增加一些自己的鍵值對(duì),這樣就不會(huì)局限于固定的結(jié)構(gòu),可以減少一些時(shí)間和空間的開銷。
什么是NoSQL數(shù)據(jù)庫?從名稱“非SQL”或“非關(guān)系型”衍生而來,這些數(shù)據(jù)庫不使用類似SQL的查詢語言,通常稱為結(jié)構(gòu)化存儲(chǔ)。這些數(shù)據(jù)庫自1960年就已經(jīng)存在,但是直到現(xiàn)在一些大公司(例如Google和Facebook)開始使用它們時(shí),這些數(shù)據(jù)庫才流行起來。該數(shù)據(jù)庫最明顯的優(yōu)勢是擺脫了一組固定的列、連接和類似SQL的查詢語言的限制。有時(shí),NoSQL這個(gè)名稱也可能表示“不僅僅SQL”,來確保它們可能支持SQL。 NoSQL數(shù)據(jù)庫使用諸如鍵值、寬列、圖形或文檔之類的數(shù)據(jù)結(jié)構(gòu),并且可以如JSON之類的不同格式存儲(chǔ)。
NoSQL,指的是非關(guān)系型的數(shù)據(jù)庫。NoSQL有時(shí)也稱作Not Only SQL的縮寫,是對(duì)不同于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)庫管理系統(tǒng)的統(tǒng)稱。
NoSQL用于超大規(guī)模數(shù)據(jù)的存儲(chǔ)。(例如谷歌或Facebook每天為他們的用戶收集萬億比特的數(shù)據(jù))。這些類型的數(shù)據(jù)存儲(chǔ)不需要固定的模式,無需多余操作就可以橫向擴(kuò)展。
NoSQL的優(yōu)點(diǎn)/缺點(diǎn)
優(yōu)點(diǎn):
- 高可擴(kuò)展性
- 分布式計(jì)算
- 低成本
- 架構(gòu)的靈活性,半結(jié)構(gòu)化數(shù)據(jù)
- 沒有復(fù)雜的關(guān)系
缺點(diǎn):
- 沒有標(biāo)準(zhǔn)化
- 有限的查詢功能(到目前為止)
- 最終一致是不直觀的程序 (BY三人行慕課)