ac數(shù)據(jù)庫(kù)修復(fù)
數(shù)據(jù)庫(kù)共有3種類(lèi)型,為關(guān)系數(shù)據(jù)庫(kù)、非關(guān)系型數(shù)據(jù)庫(kù)和鍵值數(shù)據(jù)庫(kù)。
一、關(guān)系型數(shù)據(jù)庫(kù)的簡(jiǎn)要介紹
關(guān)系型數(shù)據(jù)庫(kù)模型是把復(fù)雜的數(shù)據(jù)結(jié)構(gòu)歸結(jié)為簡(jiǎn)單的二元關(guān)系(即二維表格形式)。在關(guān)系型數(shù)據(jù)庫(kù)中,對(duì)數(shù)據(jù)的操作幾乎全部建立在一個(gè)或多個(gè)關(guān)系表格上,通過(guò)對(duì)這些關(guān)聯(lián)的表格分類(lèi)、合并、連接或選取等運(yùn)算來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的管理。其實(shí),目前關(guān)系型數(shù)據(jù)庫(kù)的具體產(chǎn)品有:Oracle和MySQL。其中Oracle在數(shù)據(jù)庫(kù)領(lǐng)域是占領(lǐng)導(dǎo)地位的。
二、非關(guān)系型數(shù)據(jù)庫(kù)的簡(jiǎn)要介紹
1、鍵值存儲(chǔ)數(shù)據(jù)庫(kù)
鍵值數(shù)據(jù)庫(kù)就類(lèi)似傳統(tǒng)語(yǔ)言中使用的哈希表。可以通過(guò)key來(lái)添加、查詢或者刪除數(shù)據(jù)庫(kù),因?yàn)槭褂胟ey主鍵訪問(wèn),所以會(huì)獲得很高的性能及擴(kuò)展性。鍵值數(shù)據(jù)庫(kù)主要使用一個(gè)哈希表,這個(gè)表中有一個(gè)特定的鍵和一個(gè)指針指向特定的數(shù)據(jù)。Key/value模型對(duì)于IT系統(tǒng)來(lái)說(shuō)的優(yōu)勢(shì)在于簡(jiǎn)單、易部署、高并發(fā);
典型產(chǎn)品:Memcached、Redis、MemcacheDB
2、列存儲(chǔ)數(shù)據(jù)庫(kù)
列存儲(chǔ)數(shù)據(jù)庫(kù)將數(shù)據(jù)存儲(chǔ)在列族中,一個(gè)列族存儲(chǔ)經(jīng)常被一起查詢的相關(guān)數(shù)據(jù),比如人類(lèi),我們經(jīng)常會(huì)查詢某個(gè)人的姓名和年齡,而不是薪資。這種情況下姓名和年齡會(huì)被放到一個(gè)列族中,薪資會(huì)被放到另一個(gè)列族中。這種數(shù)據(jù)庫(kù)通常用來(lái)應(yīng)對(duì)分布式存儲(chǔ)海量數(shù)據(jù);這種數(shù)據(jù)庫(kù)的典型產(chǎn)品有:Cassandra、HBase
3、面向文檔數(shù)據(jù)庫(kù)
文檔型數(shù)據(jù)庫(kù)的靈感是來(lái)自于Lotus Notes辦公軟件,而且它同第一種鍵值數(shù)據(jù)庫(kù)類(lèi)似。該類(lèi)型的數(shù)據(jù)模型是版本化的文檔,半結(jié)構(gòu)化的文檔以特定的格式存儲(chǔ),比如JSON。文檔型數(shù)據(jù)庫(kù)可以看作是鍵值數(shù)據(jù)庫(kù)的升級(jí)版,允許之間嵌套鍵值。而且文檔型數(shù)據(jù)庫(kù)比鍵值數(shù)據(jù)庫(kù)的查詢效率更高;
面向文檔數(shù)據(jù)庫(kù)會(huì)將數(shù)據(jù)以文檔形式存儲(chǔ)。每個(gè)文檔都是自包含的數(shù)據(jù)單元,是一系列數(shù)據(jù)項(xiàng)的集合。每個(gè)數(shù)據(jù)項(xiàng)都有一個(gè)名詞與對(duì)應(yīng)值,值既可以是簡(jiǎn)單的數(shù)據(jù)類(lèi)型,如字符串、數(shù)字和日期等;也可以是復(fù)雜的類(lèi)型,如有序列表和關(guān)聯(lián)對(duì)象。數(shù)據(jù)存儲(chǔ)的最小單位是文檔,同一個(gè)表中存儲(chǔ)的文檔屬性可以是不同的,數(shù)據(jù)可以使用XML、JSON或JSONB等多種形式存儲(chǔ)。這種數(shù)據(jù)庫(kù)的典型產(chǎn)品有:MongoDB、CouchDB;
4、圖形數(shù)據(jù)庫(kù)
圖形數(shù)據(jù)庫(kù)允許我們將數(shù)據(jù)以圖的方式存儲(chǔ)。實(shí)體會(huì)被作為頂點(diǎn),而實(shí)體之間的關(guān)系則會(huì)被作為邊。比如我們有三個(gè)實(shí)體,Steve Jobs、Apple和Next,則會(huì)有兩個(gè)“Founded by”的邊將Apple和Next連接到Steve Jobs。這種數(shù)據(jù)庫(kù)的典型產(chǎn)品有:Neo4J、InforGrid。
