新聞中心
1.什么是NoSQL?
NoSQL呢常見的解釋有Non-Relational SQL或者Not Only SQL,不過Not Only SQL被更多人接受,一般泛指非關系型數(shù)據(jù)庫。它和關系型數(shù)據(jù)庫不同的是,不保證關系數(shù)據(jù)的ACID特性。

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比陜州網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式陜州網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋陜州地區(qū)。費用合理售后完善,10余年實體公司更值得信賴。
隨著互聯(lián)網(wǎng)的發(fā)展,NoSQL數(shù)據(jù)庫的產(chǎn)生就是為了解決超大規(guī)模和高并發(fā)系統(tǒng)中多重數(shù)據(jù)種類帶來的挑戰(zhàn),特別是大數(shù)據(jù)應用的難題。目前具有代表性的NoSQL數(shù)據(jù)庫有Redis、HBase、ES、MongoDB等等。
NoSQL非常適合以下幾個場景:
- 數(shù)據(jù)模型比較簡單;
- 需要靈活性更強的數(shù)據(jù)庫;
- 對數(shù)據(jù)庫性能要求較高;
- 不需要高度的數(shù)據(jù)一致性;
- 對于給定Key,比較容易映射復雜值的環(huán)境。
2.NoSQL分類
通常來說,現(xiàn)在主流的NoSQL數(shù)據(jù)庫可以分為四大類:K-V鍵值數(shù)據(jù)庫、列存儲數(shù)據(jù)庫、文檔數(shù)據(jù)庫和圖形數(shù)據(jù)庫。
首先來看,K-V鍵值數(shù)據(jù)庫,主要應用于內(nèi)容緩存、處理大量數(shù)據(jù)的高負載訪問,也可以用于記錄系統(tǒng)日志。比較有代表性的產(chǎn)品有Redis、Memcached等等。
其次是,列存儲數(shù)據(jù)庫,主要應用于布式數(shù)據(jù)的儲存與管理,分布式可擴展性強,比較有代表性的產(chǎn)品有HBase、HadoopDB、BigTable等等。
然后就是,文檔數(shù)據(jù)庫,主要應用于管理半結構化數(shù)據(jù)或者面向文檔的數(shù)據(jù),比較有代表性的產(chǎn)品有MongoDB,ES等等,當然,ES不僅僅只是數(shù)據(jù)庫,它還是一個分布式搜索引擎,是基于Lucene來開發(fā)的,現(xiàn)在已經(jīng)發(fā)展成為一個自有生態(tài)Elastic Stack。
最后就是,圖形數(shù)據(jù)庫,主要應用于復雜、互連接但又低結構化的圖結構場合,可以用來構建數(shù)據(jù)關系圖譜,Neo4J、InfoGrid、GraphDB等等。
下面我把四種分類的NoSQL數(shù)據(jù)庫整理成了一個表格,并總結了它們的優(yōu)缺點。
3、主流NoSQL對比
對于NoSQL數(shù)據(jù)庫對互聯(lián)網(wǎng)開發(fā)的重要性就不多說了,在互聯(lián)網(wǎng)分布式開發(fā)場景中,我認為掌握Redis、HBase、Elastic、MongoDB就能滿足絕大部分需求。
如果對數(shù)據(jù)的讀寫要求極高,并且數(shù)據(jù)規(guī)模不大,也不需要長期存儲,那就選Redis;
如果數(shù)據(jù)規(guī)模較大,對數(shù)據(jù)的讀性能要求很高,數(shù)據(jù)表的結構需要經(jīng)常變,有時還需要做一些聚合查詢,那就選MongoDB;
如果要構造一個搜索引擎或者要完成一個高大上的數(shù)據(jù)可視化平臺,并且數(shù)據(jù)本身也具有分析價值,就選ES;
如果你要存儲海量數(shù)據(jù),而且還不能預估數(shù)據(jù)規(guī)模將來會增長多么大,那么選HBase。
這里我也整理了一種表格,大家可以保存一下:
最后,再給大家來個更加形象的對比:
Redis就相當于開戰(zhàn)斗機,MongoDB就相當于坐高鐵,HBase就相當于航母,ES那就是帝國鐵騎,山地裝甲機器人。
網(wǎng)站題目:談談你對NoSQL的理解
當前URL:http://fisionsoft.com.cn/article/dhdcihi.html


咨詢
建站咨詢
