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

數(shù)據(jù)庫有哪些分類?應(yīng)該怎樣選擇?終于有人講明白了

數(shù)據(jù)庫
數(shù)據(jù)庫通常用來存儲結(jié)構(gòu)化數(shù)據(jù),這些數(shù)據(jù)有明確定義的格式。在過去的幾年中,已經(jīng)發(fā)布了許多數(shù)據(jù)庫,可供我們選擇的數(shù)據(jù)庫每年都在增長。這些數(shù)據(jù)庫中有許多是為特定類型的數(shù)據(jù)模型和工作任務(wù)設(shè)計的。其中一些支持多種模型,通常被歸類為多模型數(shù)據(jù)庫。

 鍵值數(shù)據(jù)庫

通常,只需要使用主鍵甚至是部分鍵來檢索應(yīng)用程序的數(shù)據(jù)。鍵/值數(shù)據(jù)庫可以被看作一個非常大的哈希表,該表在唯一的鍵下存儲了一些值。存儲的值可以通過鍵或者部分鍵高效地檢索到。因為該值對于數(shù)據(jù)庫是不透明的,所以如果需要按值來查找一條記錄的話就需要逐條掃描。

鍵/值數(shù)據(jù)庫中的鍵可以包含多個元素,甚至可以排序以提高查詢效率。一些鍵/值數(shù)據(jù)庫允許使用鍵的前綴進(jìn)行查找,從而可以使用復(fù)合鍵。如果數(shù)據(jù)可以通過一些簡單的鍵嵌套查詢,那鍵/值數(shù)據(jù)庫會是個不錯的選擇。

例如,我們將客戶xyz的訂單存儲在鍵/值數(shù)據(jù)庫中,可以使用客戶ID作為鍵的前綴,結(jié)合訂單號組成鍵“xyz-1001”來存儲訂單??梢允褂谜麄€鍵來檢索特定的訂單,也可以使用“xyz”前綴檢索客戶xyz的所有訂單。

 

數(shù)據(jù)庫有哪些分類?應(yīng)該怎樣選擇?終于有人講明白了

 

說明:鍵/值數(shù)據(jù)庫通常是比較便宜的,且具有高度可伸縮性的數(shù)據(jù)存儲。鍵/值數(shù)據(jù)庫能夠根據(jù)鍵對數(shù)據(jù)進(jìn)行分區(qū)甚至重分區(qū)。使用鍵/值數(shù)據(jù)庫時,選擇鍵很重要,因為這將對數(shù)據(jù)存儲的規(guī)模和讀寫性能產(chǎn)生重大影響。

02 文檔數(shù)據(jù)庫

文檔數(shù)據(jù)庫和鍵/值數(shù)據(jù)庫類似,因為它也通過主鍵存儲文檔(值)。與鍵/值數(shù)據(jù)庫不同的是,文檔數(shù)據(jù)庫中的文檔需要符合某些定義好的結(jié)構(gòu),而鍵/值數(shù)據(jù)庫幾乎可以存儲任意值。這使得文檔數(shù)據(jù)庫可以啟用諸如維護(hù)二級索引的功能以及基于文檔查詢數(shù)據(jù)的功能。

通常存儲在文檔數(shù)據(jù)庫中的值是哈希圖(JSON對象)和列表(JSON數(shù)組)的組合。JSON格式在文檔數(shù)據(jù)庫中很常用,盡管許多數(shù)據(jù)庫引擎使用了更高效的內(nèi)部存儲格式,例如MongoDB的BSON。

建議:當(dāng)你從關(guān)系型數(shù)據(jù)庫轉(zhuǎn)換到基于文檔的數(shù)據(jù)庫時,你需要思考如何去組織數(shù)據(jù)。許多人需要時間來過渡到這種不同的數(shù)據(jù)建模方法。

 

[[329696]]

 

傳統(tǒng)關(guān)系型數(shù)據(jù)庫(如PostgreSQL)存儲的數(shù)據(jù)大部分也可以存儲在文檔數(shù)據(jù)庫中。它們正變得越來越流行,與關(guān)系數(shù)據(jù)庫不同,這些存儲的文檔可以很好地映射成編程語言中的對象,并且不需要對象關(guān)系映射(ORM)工具。

這些數(shù)據(jù)庫通常不強(qiáng)制要求定義數(shù)據(jù)模式(schema),這對于在軟件持續(xù)交付(CD)過程中需要更新數(shù)據(jù)模式的情形具有一些優(yōu)勢。

說明:不強(qiáng)制要求定義模式的數(shù)據(jù)庫通常被稱為“讀時模式(schema on read)”,因為盡管數(shù)據(jù)庫未強(qiáng)制要求模式,但是在使用數(shù)據(jù)的應(yīng)用中存在固有的模式,并且需要知道如何轉(zhuǎn)化讀到的數(shù)據(jù)。

03 關(guān)系型數(shù)據(jù)庫

關(guān)系型數(shù)據(jù)庫將數(shù)據(jù)組織到稱為表的二維結(jié)構(gòu)中,該結(jié)構(gòu)由列和行組成。一張表中的數(shù)據(jù)可以與另一表中的數(shù)據(jù)有關(guān)聯(lián),數(shù)據(jù)庫系統(tǒng)可以保證這種關(guān)聯(lián)。關(guān)系型數(shù)據(jù)庫通常強(qiáng)制執(zhí)行嚴(yán)格的模式,也稱為“寫時模式(schema on write)”,在該模式中,向數(shù)據(jù)庫寫入的數(shù)據(jù)必須符合數(shù)據(jù)庫中定義的結(jié)構(gòu)。

關(guān)系型數(shù)據(jù)庫已經(jīng)存在很長時間了,許多開發(fā)人員都有使用它們的經(jīng)驗。迄今為止,最流行和最常用的數(shù)據(jù)庫仍然是關(guān)系型數(shù)據(jù)庫。這些數(shù)據(jù)庫非常成熟,可以處理包含大量關(guān)系的數(shù)據(jù),并且擁有大量知道如何使用它們的工具和應(yīng)用程序生態(tài)系統(tǒng)。

在文檔數(shù)據(jù)庫中可能很難使用多對多關(guān)系,但是在關(guān)系型數(shù)據(jù)庫中這非常簡單。如果應(yīng)用的數(shù)據(jù)具有很多關(guān)系,尤其是有事務(wù)處理的需求,那么這些數(shù)據(jù)庫可能很合適。

04 圖數(shù)據(jù)庫

圖數(shù)據(jù)庫存儲兩種類型的信息:邊和節(jié)點。邊定義了節(jié)點之間的關(guān)系,你可以把節(jié)點看作實體。節(jié)點和邊都具有屬性,其中存儲了該節(jié)點或邊的一些信息。邊通常會定義關(guān)系的方向或性質(zhì)。

圖數(shù)據(jù)庫可以很好地分析實體之間的關(guān)系。圖數(shù)據(jù)也可以存儲在任何其他數(shù)據(jù)庫中,但是當(dāng)圖的遍歷變得越來越復(fù)雜時,其他類型的存儲可能很難滿足圖數(shù)據(jù)對性能和伸縮性的需求。

 

05 列族數(shù)據(jù)庫

列族數(shù)據(jù)庫(column family database)將數(shù)據(jù)組織成行和列,乍一看可能與關(guān)系型數(shù)據(jù)庫非常相似。你可以將列族數(shù)據(jù)庫視為行和列組成的表格數(shù)據(jù),但是列被分了組,稱為列族。

每個列族包含了一組邏輯上相關(guān)的列,通常被作為一個單元進(jìn)行檢索或操作。能被單獨訪問的數(shù)據(jù)可以存儲在單獨的列族中。在一個列族中,可以動態(tài)添加新列,并且行可以是稀疏的(也就是說,行不需要在每個列下面都有值)。

06 時序數(shù)據(jù)庫

時序數(shù)據(jù)庫是針對時間進(jìn)行優(yōu)化的數(shù)據(jù)庫,可根據(jù)時間來存儲值。這些數(shù)據(jù)庫通常需要支持大量的寫操作。它們通常被用于從大量數(shù)據(jù)源實時收集大量數(shù)據(jù)。這些數(shù)據(jù)很少更新,刪除操作通常是批量進(jìn)行的。寫入時序數(shù)據(jù)庫的記錄通常很小,但記錄的量很多。

時序數(shù)據(jù)庫非常適合存儲遙測數(shù)據(jù)。流行的用途包括物聯(lián)網(wǎng)(IoT)傳感器或應(yīng)用程序/系統(tǒng)的計數(shù)器。時序數(shù)據(jù)庫通常會提供數(shù)據(jù)保持、下采樣以及根據(jù)數(shù)據(jù)使用模式的配置將數(shù)據(jù)保存到其他存儲中的功能。

 

07 搜索引擎

搜索引擎數(shù)據(jù)庫通常用于搜索保存在其他存儲和服務(wù)中的數(shù)據(jù)。搜索引擎數(shù)據(jù)庫可以對大量的數(shù)據(jù)建立索引,并提供近實時的索引查詢。

除了搜索像網(wǎng)頁這樣的非結(jié)構(gòu)化的數(shù)據(jù),許多應(yīng)用程序還使用它為其他數(shù)據(jù)庫中的數(shù)據(jù)提供結(jié)構(gòu)化和即時搜索功能。有一些數(shù)據(jù)庫也能提供全文索引功能,但是搜索數(shù)據(jù)庫還具備通過詞干和泛化將單詞縮減為詞根的功能。

 

責(zé)任編輯:華軒 來源: 今日頭條
相關(guān)推薦

2021-12-03 18:25:56

數(shù)據(jù)指標(biāo)本質(zhì)

2022-04-27 18:25:02

數(shù)據(jù)采集維度

2021-09-03 18:38:13

數(shù)據(jù)湖數(shù)據(jù)倉庫

2020-11-30 08:34:44

大數(shù)據(jù)數(shù)據(jù)分析技術(shù)

2021-06-29 11:21:41

數(shù)據(jù)安全網(wǎng)絡(luò)安全黑客

2022-01-05 18:27:44

數(shù)據(jù)挖掘工具

2022-04-22 11:26:55

數(shù)據(jù)管理架構(gòu)

2022-04-12 18:29:41

元數(shù)據(jù)系統(tǒng)架構(gòu)

2021-09-16 12:10:24

物聯(lián)網(wǎng)互聯(lián)網(wǎng)應(yīng)用

2021-10-09 00:02:04

DevOps敏捷開發(fā)

2021-06-13 12:03:46

SaaS軟件即服務(wù)

2022-03-27 20:32:28

Knative容器事件模型

2022-05-01 22:09:27

數(shù)據(jù)模型大數(shù)據(jù)

2021-12-07 18:24:26

數(shù)據(jù)安全

2022-11-01 18:21:14

數(shù)據(jù)埋點SDK

2020-10-29 06:09:37

數(shù)據(jù)中臺數(shù)據(jù)大數(shù)據(jù)

2022-04-18 07:37:30

數(shù)據(jù)信息知識

2022-05-09 20:23:51

數(shù)據(jù)采集

2021-11-07 21:01:52

云計算數(shù)據(jù)庫分布式

2022-08-15 19:24:35

圖數(shù)據(jù)庫圖計算搜索
點贊
收藏

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