教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢(xún)/投訴熱線:400-618-4000

Java培訓(xùn):數(shù)據(jù)存儲(chǔ)方式和NoSQL

更新時(shí)間:2023年10月24日09時(shí)34分 來(lái)源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

  一、數(shù)據(jù)存儲(chǔ)方式和NoSQL

  1.1 數(shù)據(jù)存儲(chǔ)方式

  互聯(lián)網(wǎng)時(shí)代各種數(shù)據(jù)存儲(chǔ)方式層出不窮,有傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)如:MySQL、Oracle等,;有全文檢索框架如:ElasticSearch、Solr;有NoSQL如:Cassandra、Redis

  這些存儲(chǔ)方式的特點(diǎn):

  - 關(guān)系型數(shù)據(jù)庫(kù):支持事務(wù),二級(jí)索引,SQL語(yǔ)句,支持主從架。

  - 全文檢索:分布式,p2p架構(gòu),不支持事務(wù),采用倒排索引提供全文檢索。

  - NoSQL:一般基于內(nèi)存,支持分布式,面向列,不支持SQL。

  1.2 NoSQL概述

  NoSQL,泛指非關(guān)系型的數(shù)據(jù)庫(kù),NoSQL去掉關(guān)系數(shù)據(jù)庫(kù)的關(guān)系型特性,數(shù)據(jù)之間無(wú)關(guān)系,非常容易擴(kuò)展。

  NoSQL型數(shù)據(jù)庫(kù)一般包含一些共同特性:

  - 易擴(kuò)展

  NoSQL數(shù)據(jù)庫(kù)種類(lèi)繁多,但是一個(gè)共同的特點(diǎn)都是去掉關(guān)系數(shù)據(jù)庫(kù)的關(guān)系型特性。數(shù)據(jù)之間無(wú)關(guān)系,這樣就非常容易擴(kuò)展,在架構(gòu)的層面上帶來(lái)了可擴(kuò)展的能力。

  - 大數(shù)據(jù)量,高性能

  NoSQL數(shù)據(jù)庫(kù)都具有非常高的讀寫(xiě)性能,尤其在大數(shù)據(jù)量下。一般MySQL使用Query Cache。NoSQL的Cache是記錄級(jí)的,是一種細(xì)粒度的Cache,所以NoSQL在這個(gè)層面上來(lái)說(shuō)性能就要高很多。

  - 靈活的數(shù)據(jù)模型

  NoSQL無(wú)須事先為要存儲(chǔ)的數(shù)據(jù)建立字段,隨時(shí)可以存儲(chǔ)自定義的數(shù)據(jù)格式。而在關(guān)系數(shù)據(jù)庫(kù)里,增刪字段是一件非常麻煩的事情。

  - 高可用

  NoSQL在不太影響性能的情況,就可以方便地實(shí)現(xiàn)高可用的架構(gòu)。比如Cassandra、HBase模型,通過(guò)復(fù)制模型也能實(shí)現(xiàn)高可用。

  1.3 NoSQL的分類(lèi)

  (1)鍵值(Key-Value)存儲(chǔ)數(shù)據(jù)庫(kù)

  這一類(lèi)數(shù)據(jù)庫(kù)主要使用[哈希表],這個(gè)表中有一個(gè)特定的鍵和一個(gè)指針指向特定的數(shù)據(jù)。Key/value模型的優(yōu)勢(shì)在于簡(jiǎn)單、易部署。代表為: Redis。

  (2)列存儲(chǔ)數(shù)據(jù)庫(kù)

  這類(lèi)數(shù)據(jù)庫(kù)通常是用來(lái)應(yīng)對(duì)分布式存儲(chǔ)的海量數(shù)據(jù)。鍵仍然存在,但是它們的特點(diǎn)是指向了多個(gè)列。這些列是由列家族來(lái)安排的。如:Cassandra, HBase。

  (3)文檔型數(shù)據(jù)庫(kù)

  文檔型數(shù)據(jù)庫(kù)和第一種鍵值存儲(chǔ)相類(lèi)似。該類(lèi)型的數(shù)據(jù)模型是版本化的文檔,半結(jié)構(gòu)化的文檔以特定的格式存儲(chǔ),比如JSON。文檔型數(shù)據(jù)庫(kù)可以看作是鍵值數(shù)據(jù)庫(kù)的升級(jí)版,允許之間嵌套鍵值,在處理網(wǎng)頁(yè)等復(fù)雜數(shù)據(jù)時(shí),文檔型數(shù)據(jù)庫(kù)比傳統(tǒng)鍵值數(shù)據(jù)庫(kù)的查詢(xún)效率更高。如:CouchDB, MongoDb。

  (4)圖形(Graph)數(shù)據(jù)庫(kù)

  圖形結(jié)構(gòu)的數(shù)據(jù)庫(kù)同其他行列以及關(guān)系型數(shù)據(jù)庫(kù)不同,它是使用靈活的圖形模型,并且能夠擴(kuò)展到多個(gè)服務(wù)器上。

0 分享到:
和我們?cè)诰€交談!