自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

談?wù)勀銓oSQL的理解

數(shù)據(jù)庫 其他數(shù)據(jù)庫
隨著互聯(lián)網(wǎng)的發(fā)展,NoSQL數(shù)據(jù)庫的產(chǎn)生就是為了解決超大規(guī)模和高并發(fā)系統(tǒng)中多重數(shù)據(jù)種類帶來的挑戰(zhàn),特別是大數(shù)據(jù)應(yīng)用的難題。目前具有代表性的NoSQL數(shù)據(jù)庫有Redis、HBase、ES、MongoDB等等。

1.什么是NoSQL?

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

圖片

隨著互聯(lián)網(wǎng)的發(fā)展,NoSQL數(shù)據(jù)庫的產(chǎn)生就是為了解決超大規(guī)模和高并發(fā)系統(tǒng)中多重數(shù)據(jù)種類帶來的挑戰(zhàn),特別是大數(shù)據(jù)應(yīng)用的難題。目前具有代表性的NoSQL數(shù)據(jù)庫有Redis、HBase、ES、MongoDB等等。

圖片

NoSQL非常適合以下幾個場景:

圖片

  • 數(shù)據(jù)模型比較簡單;
  • 需要靈活性更強的數(shù)據(jù)庫;
  • 對數(shù)據(jù)庫性能要求較高;
  • 不需要高度的數(shù)據(jù)一致性;
  • 對于給定Key,比較容易映射復(fù)雜值的環(huán)境。

2.NoSQL分類

通常來說,現(xiàn)在主流的NoSQL數(shù)據(jù)庫可以分為四大類:K-V鍵值數(shù)據(jù)庫、列存儲數(shù)據(jù)庫、文檔數(shù)據(jù)庫和圖形數(shù)據(jù)庫。

圖片

首先來看,K-V鍵值數(shù)據(jù)庫,主要應(yīng)用于內(nèi)容緩存、處理大量數(shù)據(jù)的高負(fù)載訪問,也可以用于記錄系統(tǒng)日志。比較有代表性的產(chǎn)品有Redis、Memcached等等。

圖片

其次是,列存儲數(shù)據(jù)庫,主要應(yīng)用于布式數(shù)據(jù)的儲存與管理,分布式可擴展性強,比較有代表性的產(chǎn)品有HBase、HadoopDB、BigTable等等。

圖片

然后就是,文檔數(shù)據(jù)庫,主要應(yīng)用于管理半結(jié)構(gòu)化數(shù)據(jù)或者面向文檔的數(shù)據(jù),比較有代表性的產(chǎn)品有MongoDB,ES等等,當(dāng)然,ES不僅僅只是數(shù)據(jù)庫,它還是一個分布式搜索引擎,是基于Lucene來開發(fā)的,現(xiàn)在已經(jīng)發(fā)展成為一個自有生態(tài)Elastic Stack。

圖片

最后就是,圖形數(shù)據(jù)庫,主要應(yīng)用于復(fù)雜、互連接但又低結(jié)構(gòu)化的圖結(jié)構(gòu)場合,可以用來構(gòu)建數(shù)據(jù)關(guān)系圖譜,Neo4J、InfoGrid、GraphDB等等。

圖片

下面我把四種分類的NoSQL數(shù)據(jù)庫整理成了一個表格,并總結(jié)了它們的優(yōu)缺點。

圖片

3、主流NoSQL對比

對于NoSQL數(shù)據(jù)庫對互聯(lián)網(wǎng)開發(fā)的重要性就不多說了,在互聯(lián)網(wǎng)分布式開發(fā)場景中,我認(rèn)為掌握Redis、HBase、Elastic、MongoDB就能滿足絕大部分需求。

圖片

如果對數(shù)據(jù)的讀寫要求極高,并且數(shù)據(jù)規(guī)模不大,也不需要長期存儲,那就選Redis;

如果數(shù)據(jù)規(guī)模較大,對數(shù)據(jù)的讀性能要求很高,數(shù)據(jù)表的結(jié)構(gòu)需要經(jīng)常變,有時還需要做一些聚合查詢,那就選MongoDB;

如果要構(gòu)造一個搜索引擎或者要完成一個高大上的數(shù)據(jù)可視化平臺,并且數(shù)據(jù)本身也具有分析價值,就選ES;

如果你要存儲海量數(shù)據(jù),而且還不能預(yù)估數(shù)據(jù)規(guī)模將來會增長多么大,那么選HBase。

這里我也整理了一種表格,大家可以保存一下:

圖片

最后,再給大家來個更加形象的對比:

Redis就相當(dāng)于開戰(zhàn)斗機,MongoDB就相當(dāng)于坐高鐵,HBase就相當(dāng)于航母,ES那就是帝國鐵騎,山地裝甲機器人。

圖片

責(zé)任編輯:武曉燕 來源: Tom彈架構(gòu)
相關(guān)推薦

2023-11-28 12:25:02

多線程安全

2024-09-20 05:46:00

2024-09-11 16:49:55

2022-09-19 07:57:59

云服務(wù)互聯(lián)網(wǎng)基礎(chǔ)設(shè)施

2022-10-09 15:18:31

SwaggerOpenAPI工具

2022-08-14 07:14:50

Kafka零拷貝

2022-09-09 10:15:06

OAuthJava

2022-09-06 11:13:16

接口PipelineHandler

2025-03-07 00:11:00

JWTJSONSession

2024-12-06 14:34:00

Spring過濾器

2025-02-21 15:25:54

虛擬線程輕量級

2024-09-27 15:43:52

零拷貝DMAIO

2022-09-23 11:00:27

KafkaZookeeper機制

2025-03-21 00:00:05

Reactor設(shè)計模式I/O 機制

2024-10-24 16:14:43

數(shù)據(jù)傳輸CPU零拷貝

2022-03-21 09:05:18

volatileCPUJava

2022-08-26 00:21:44

IO模型線程

2022-06-10 11:51:49

MySQL事務(wù)隔離

2022-08-26 00:02:03

RocketMQ單體架構(gòu)MQ

2024-08-27 12:36:33

點贊
收藏

51CTO技術(shù)棧公眾號